Use the official Boost.Hana with MSVC 2017 Update 8 compiler



We would like to share a progress update to our previous announcement regarding enabling Boost.Hana with MSVC compiler. Just as a quick background, Louis Dionne, the Boost.Hana author, and us have jointly agreed to provide a version of Boost.Hana in vcpkg to promote usage of the library among more C++ users from the Visual C++ community. We’ve identified a set of blocking bugs and workarounds and called them out in our previous blog, and stated that as we fix the remaining bugs, we will gradually update the version of Boost.Hana in vcpkg, ultimately removing it and replacing it with master repo. We can conduct this development publicly in vcpkg without hindering new users who take a dependency on the library.

Today, we’re happy to announce that the vcpkg version of Boost.Hana now just points to the official master repo, instead of our fork.

With VS2017 Update 8 MSVC compiler, the Boost.Hana official repo with this pull request or later will build clean. We recommend you take the dependency via vcpkg.

For full transparency, below is where we stand with respect to active bugs and used source workarounds as of August 2018:

Source workarounds in place

There are 3 remaining workarounds in Boost.Hana official repo for active bugs in VS2017 Update 8 compiler:


Removed 23 source workarounds that are no longer necessary for VS2017 Update 8 release. Full details for more information.

Bugs remaining in the compiler

  • There are 3 active bugs with the VS2017 Update 8 release. This is down from 25 active bugs from Update 7 release.
  • We plan to fix these remaining bugs by the VS2017 Update 9 release later this year.

What’s next…

  • Throughout the remaining updates of Visual Studio 2017, we will continue to exhaust the remaining MSVC bugs that block upstream version of the Boost.Hana library.
  • We will continue to provide status updates on our progress. Next update will be when we release VS2017 Update 9.
  • We will ensure that users who take dependency on this library in vcpkg will not be affected by our work.
  • Where are we with enabling Range-v3 with MSVC?
    • Similarly, we are tracking all Range-v3 blocking bugs in the compiler and fixing them. Our plan is to fix them all in the remaining VS2017 Update 9 release.

In closing

We’d love for you to download Visual Studio 2017 version 15.8 and try out all the new C++ features and improvements. As always, we welcome your feedback. We can be reached via the comments below or via email ( If you encounter other problems with MSVC in Visual Studio 2017 please let us know through Help > Report A Problem in the product, or via Developer Community. Let us know your suggestions through UserVoice. You can also find us on Twitter (@VisualC) and Facebook (msftvisualcpp).

Thank you,

Xiang Fan, Ulzii Luvsanbat

Ulzii Luvsanbat [MSFT]

Principal Group Software Engineering Manager, Microsoft C++ Language Team

Follow Ulzii   


    Leave a comment