
Hi Antony, according to git bisect, your commit ----------- commit b3650685f941a0c35cadfd878a185f274e132788 Author: Antony Polukhin <antoshkka@gmail.com> Date: Sat May 28 01:29:52 2016 +0300 Variant constructors and assignment operators now do not participate in overload resolutions if variant can not hold the input type (trac 5871, trac 11602) ------------ broke Boost.Spirit. The test failures can be seen in the regression matrix. For example: http://www.boost.org/development/tests/develop/developer/output/Flast-FreeBS... fails with ../boost/variant/variant.hpp:1152:7: note: while substituting deduced template arguments into function template 'operator=' [with T = boost::variant<boost::spirit::info::nil_, std::__1::basic_string<char>, boost::recursive_wrapper<boost::spirit::info>, boost::recursive_wrapper<std::__1::pair<boost::spirit::info, boost::spirit::info> >, boost::recursive_wrapper<std::__1::list<boost::spirit::info, std::__1::allocator<boost::spirit::info> > > >] class variant ^ ../boost/spirit/home/support/info.hpp:29:12: note: definition of 'boost::spirit::info' is not complete until the closing '}' struct info It seems that the commit somehow disabled support for recursive variant usage. To reproduce this, just run the Spirit regression test. Yours, Jürgen -- * Dipl.-Math. Jürgen Hunold ! * voice: ++49 4257 300 ! Fährstraße 1 * fax : ++49 4257 300 ! 31609 Balge/Sebbenhausen * jhunold@gmx.eu ! Germany