
2013/5/16 Bryan Catanzaro
Thanks for taking a look.
I checked, and on my system, you're right: adding a non-const conversion operator allows the code to compile with c++11 and boost 1.53.0. Although I'm not sure why adding a non-const conversion operator would be expected to ensure the implicit conversion happens. I would expect the non-const conversion operator couldn't be called on a temporary object (maybe things are different when we have rvalue references?)
Looks like things are different with rvalues. Visual Studio has
rvalues enables by default and I know no way to disable them.
BTW, MSVC10 and MSVC11 fail to compile all the tests even on Boost
1.48. Even those tests, that pass well on GCC and Clang (like
`my_variant y1 = static_cast