Subject: Re: [Boost-bugs] [Boost C++ Libraries] #8564: Variable hiding errors within nested let blocks in Phoenix
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2014-02-09 12:20:33
#8564: Variable hiding errors within nested let blocks in Phoenix
-------------------------------+---------------------
Reporter: miremare@⦠| Owner: theller
Type: Bugs | Status: new
Milestone: To Be Determined | Component: phoenix
Version: Boost 1.53.0 | Severity: Problem
Resolution: | Keywords:
-------------------------------+---------------------
Comment (by John Fletcher <J.P.Fletcher@â¦>):
Further work has shown that these cases work as expected:
{{{
{
int z = 3;
int y = 0;
int x = (phoenix::let(_a = 1, _b = 2)[phoenix::let(_b = _a)[ _a
]])(y);
}
}}}
{{{
{
int y = 0;
int x = (phoenix::let(_a = 1, _b = 2)[phoenix::let(_b = _1)[ _a
]])(y);
}
}}}
{{{
{
int y = 0;
int x = (phoenix::let(_a = 1, _b = 2)[phoenix::let(_b = 1)[_b]])();
} // This works....
}}}
but this case fails:
{{{
{
int y = 0;
int x = (phoenix::let(_a = 1, _b = 2)[phoenix::let(_b = 1)[_a]])();
}
}}}
Reference to _a in the inner loop is the problem, but only when _b is set
to a constant!!
Further investigation is in progress.
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/8564#comment:2> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:15 UTC