Re: fusion vector, spirit, phoenix actor and forwarding constructor

Lee Clagett <[email protected]>
Newsgroups gmane.comp.parsers.spirit.general
Message-ID <20160718012821.150f8022@laptop-m1330>
On Sun, 17 Jul 2016 14:54:15 +0900
Kohei Takahashi <[email protected]> wrote:

> MM,
> 
> 
> >     While trying to make a smaller case, I've ran into I suppose a
> >     separate problem (likely unrelated) here:
> >
> >     https://stackoverflow.com/questions/38372392/boost-phoenix-eval-failures
> >
> >     The line closest to my real-code line that triggers the error
> >     above is:
> >
> >     start_ %= g2_(_r1);
> >
> >     Lee, here is a more complete stack that gets triggered from my
> >     real code:
> >
> >     startrule %= start(_r1);
> >     qis::rule<Iterator, T*(T*), qis::blank_type> startrule;
> >     qis::rule<Iterator, T*(T*), qis::locals<X*>, qis::blank_type>
> > start; /// where T and X are my application types.
> >     The error stack is here:
> >
> >     http://paste.fedoraproject.org/391037/46849462
> >     http://paste.fedoraproject.org/391037/46849462
> >     Lee, let me know what to test please? Thanks
> >
> >
> >     MM
> >
> >
> > I managed to have a reproducible case and I updated the 
> > https://stackoverflow.com/questions/38372392/boost-phoenix-eval-failures
> > with the code.
> 
> Thank you for your investigation. I'll check it.
> 

Someone sent me a more limited failure case:

    int main() {
        auto iter = boost::phoenix::val(str.begin());
        boost::fusion::make_vector(iter);
    }

This was caused entirely by my last patch, which is found only on the
develop branch. If the OP had errors with Boost 1.60-1.61 it is likely
a separate but related issue that I attempted to fix in my patch.

Kohei - I started investigating the problem before this thread started
after I discovered the issue myself. Eventually I started
[experimenting with `fusion::vector`][0]. I do not plan on merging that
branch directly; there is a lot going on and some of the changes
intended for compile time performance have not been analyzed. Instead, I
will start with smaller patches, with the focus being [adding SFINAE to
the tuple and vector constructors][1]. Email me directly if you have
any different thoughts on fixing this.

Lee

[0]https://github.com/boostorg/fusion/compare/develop...vtnerd:experimental/vector
[1]https://github.com/boostorg/fusion/compare/develop...vtnerd:experimental/vector#diff-685c7cd829c2781da56b16d34a35526dR300

------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports.http://sdm.link/zohodev2dev
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.