Boost logo

Boost :

Subject: [boost] [spirit.lex] 9580
From: Vyacheslav Andrejev (mortituris_at_[hidden])
Date: 2014-01-29 06:24:43


Hi All,

Can somebody take a look at bug #9580? It's a C++ puzzle. Two as if equivalent
expressions demonstrate different behavior. This one
    auto expr = (this->self("SOME_STATE") += someTokenDef);
calls boost::proto::detail::exprns_::operator +=.

However this
    auto lex_def = this->self("SOME_STATE");
    auto expr = (lex_def += someTokenDef);
calls boost::spirit::lex::detail::operator +=.

My guess is that it changes templates instantiaon order, but still I can't
explain it and thus can't fix it.

--
-- Vyacheslav Andrejev

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk