|
Boost : |
Subject: [boost] [variant] spirit broken
From: Jürgen Hunold (jhunold_at_[hidden])
Date: 2016-06-03 03:30:41
Hi Antony,
according to git bisect, your commit
-----------
commit b3650685f941a0c35cadfd878a185f274e132788
Author: Antony Polukhin <antoshkka_at_[hidden]>
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:
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_at_gmx.eu ! Germany
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk