Development version of Boost.Variant library now uses C++11 variadic templates when possible. This leads to more compact binaries, more readable compiler error messages and faster compilation times. However this: * breaks ABI (now variant is declared as `template <typename T0, typename... TN> class variant`) * breaks user code that was explicitly using BOOST_VARIANT_LIMIT_TYPES Code that was using BOOST_VARIANT_ENUM_PARAMS and BOOST_VARIANT_ENUM_SHIFTED_PARAMS macro *must* work correctly without any modifications. To disable variadic templates usage in variant define BOOST_VARIANT_DO_NOT_USE_VARIADIC_TEMPLATES. When all the tests will pass successfully changes will be merged to master branch, so there is a high chance that variadic templates will be supported by Boost 1.56. In case of appearance of hard to fix variadic templates errors in Boost libraries dependent on Boost.Variant - report them in this letter and I'll help in resolving issues. -- Best regards, Antony Polukhin