Boost logo

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:

http://www.boost.org/development/tests/develop/developer/output/Flast-FreeBSD10-clang-3-7-0~gnu++11-boost-bin-v2-libs-spirit-test-karma_actions-p3-test-clang-linux-3-7-0-debug.html

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