{"push_id":2834715866,"size":4,"distinct_size":4,"ref":"refs/heads/develop","head":"7f1ae3b1bb52f6eb329300a93dc02309c94dfe01","before":"4baa9069bb741db90e0c80bf071caae707eb5c77","commits":[{"sha":"95f8f74a2c3391db9719d75a61f8458e33bb92a8","author":{"name":"Xiang Fan","email":"e4a53beb3c2b50d2f14133bf5926593be5c48ce2@microsoft.com"},"message":"Enable building boost.hana with VS2107 15.8 (with five source workarounds)\n\nHere is the test result:\n\n 100% tests passed, 0 tests failed out of 1103\n\nHere are the details of the source workarounds:\n\n 1. Active issues we are working on\n a. Multiple copy/move ctors\n VC doesn't correctly handle multiple copy/move ctors.\n The workaround is under macro BOOST_HANA_WORKAROUND_MSVC_MULTIPLECTOR_106654.\n\n b. Forward declaration of class template member function returning decltype(auto) (this issue is exposed by a recent change in boost 1.68)\n To deduce the actual return type, the compiler expects the function definition to be on the pending list for temploid, which isn't always the case when generic lambda is involved.\n The workaround is under macro BOOST_HANA_WORKAROUND_MSVC_DECLTYPEAUTO_RETURNTYPE_662735\n\n 2. Issues fixed in the development branch of MSVC\n Parsing template id\n VC sometimes incorrectly parses a comparison operation as a template id.\n The workaround is under macro BOOST_HANA_WORKAROUND_MSVC_RDPARSER_TEMPLATEID_616568.\n\n 3. Issues fixed conditionally\n a. Empty base optimization\n VC doesn't always do EBO (empty base optimization). Changing this will break the ABI of MSVC and we provide a __declspec(empty_bases) to enable EBO.\n We have a blog post on this: https://blogs.msdn.microsoft.com/vcblog/2016/03/30/optimizing-the-layout-of-empty-base-classes-in-vs2015-update-2-3/.\n Some tests in hana have static_assert on the size of certain types which relies on EBO being applied:\n\n hana\\test\\detail\\ebo.cpp\n hana\\test\\issues\\github_202.cpp\n hana\\test\\pair\\empty_storage.cpp\n hana\\test\\tuple\\empty_member.cpp\n\n The workaround is under macro BOOST_HANA_WORKAROUND_MSVC_EMPTYBASE.\n\n b. Variadic macro expansion\n The implementation of variadic macro isn't conformant and the macro expansion often results in incorrect result.\n The issue is fixed under /experimental:preprocessor and isn't on by default yet.\n We have a blog post on this: https://blogs.msdn.microsoft.com/vcblog/2018/07/06/msvc-preprocessor-progress-towards-conformance/.\n\n The workaround is under macro BOOST_HANA_WORKAROUND_MSVC_PREPROCESSOR_616033.\n\nHere is the list of files impacted by the source workarounds:\n\n BOOST_HANA_WORKAROUND_MSVC_MULTIPLECTOR_106654\n  hana\\test\\_include\\laws\\base.hpp\n  hana\\test\\map\\cnstr.trap.cpp\n  hana\\test\\set\\cnstr.trap.cpp\n  hana\\test\\tuple\\cnstr.trap.cpp\n\n BOOST_HANA_WORKAROUND_MSVC_DECLTYPEAUTO_RETURNTYPE_662735\n  hana\\test\\_include\\laws\\euclidean_ring.hpp\n  hana\\test\\_include\\laws\\group.hpp\n  hana\\test\\_include\\laws\\monad_plus.hpp\n  hana\\test\\_include\\laws\\monoid.hpp\n  hana\\test\\_include\\laws\\ring.hpp\n\n BOOST_HANA_WORKAROUND_MSVC_RDPARSER_TEMPLATEID_616568\n  hana\\include\\boost\\hana\\basic_tuple.hpp\n  hana\\include\\boost\\hana\\string.hpp\n  hana\\include\\boost\\hana\\tuple.hpp\n\n BOOST_HANA_WORKAROUND_MSVC_EMPTYBASE\n  hana\\include\\boost\\hana\\basic_tuple.hpp\n  hana\\include\\boost\\hana\\pair.hpp\n  hana\\include\\boost\\hana\\tuple.hpp\n  hana\\include\\boost\\hana\\detail\\integral_constant.hpp\n  hana\\test\\detail\\ebo.cpp\n\n BOOST_HANA_WORKAROUND_MSVC_PREPROCESSOR_616033\n  hana\\include\\boost\\hana\\detail\\preprocessor.hpp\n  hana\\include\\boost\\hana\\detail\\struct_macros.hpp\n\nBTW,\n1. There are some warnings which I don't fix. I will likely address them in a separate PR. They look legit and don't impact the build and tests.\n2. Appveyor currently doesn't provide 15.8 Preview 5 which contains all the compiler fixes we made in the previous months. I plan to update appveyor.yml after Appveyor provides 15.8 RTM.","distinct":true,"url":"https://api.github.com/repos/boostorg/hana/commits/95f8f74a2c3391db9719d75a61f8458e33bb92a8"},{"sha":"5d38f120faed5ba70d9a34bcdab40773663b2944","author":{"name":"Xiang Fan","email":"e4a53beb3c2b50d2f14133bf5926593be5c48ce2@microsoft.com"},"message":"Address review feedback.\n\n1. Apply workaround 'BOOST_HANA_WORKAROUND_MSVC_RDPARSER_TEMPLATEID_616568' unconditionally\n\n2. Fix indentation of #if/#endif","distinct":true,"url":"https://api.github.com/repos/boostorg/hana/commits/5d38f120faed5ba70d9a34bcdab40773663b2944"},{"sha":"9b808523ff1862d31a54aadc5fa999eef9de97b6","author":{"name":"Xiang Fan","email":"e4a53beb3c2b50d2f14133bf5926593be5c48ce2@microsoft.com"},"message":"Update the status of 'BOOST_HANA_WORKAROUND_MSVC_DECLTYPEAUTO_RETURNTYPE_662735'","distinct":true,"url":"https://api.github.com/repos/boostorg/hana/commits/9b808523ff1862d31a54aadc5fa999eef9de97b6"},{"sha":"7f1ae3b1bb52f6eb329300a93dc02309c94dfe01","author":{"name":"Louis Dionne","email":"4ef26e8f028228507065cb937a809ecfb2ed4150@gmail.com"},"message":"Enable building boost.hana with VS2017 15.8\n\nThis merges pull request #419 from xiangfan-ms/develop","distinct":true,"url":"https://api.github.com/repos/boostorg/hana/commits/7f1ae3b1bb52f6eb329300a93dc02309c94dfe01"}]}
{"actor":{"display_login":"ldionne"}}