Re: [Spirit Development] Bug in today's boost_trunk -- ambiguous operator >

Bryce Lelbach <[email protected]> Thu, 23 Dec 2010 20:38:52 -0500
Newsgroups gmane.comp.parsers.spirit.devel
Message-ID <20101223203852.1ab302df@Pegasus>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I posted on the Proto list about this Hartmut, btw.

On Thu, 23 Dec 2010 19:34:53 -0600
"Hartmut Kaiser" <[email protected]> wrote:

> 
> > I have a fairly large program that compiled just fine on boost_trunk
> > version 67416, but is now broken.  I traced to problem to an ambiguous
> > operator overload that occurs when both qi.hpp and fusion/tuple.hpp are
> > included.
> > 
> > The following code does not compile as of today, but should compile on
> > version 67416.
> > 
> > #include <boost/fusion/tuple.hpp> //including this file caused ambiguity
> > errors #include <boost/spirit/include/qi.hpp> #include <string>
> > 
> > int main()
> > {
> >   static const boost::spirit::qi::rule<std::string::const_iterator> a;
> >   static const boost::spirit::qi::rule<std::string::const_iterator> b;
> >   boost::spirit::qi::rule<std::string::const_iterator> rule = a > b; }
> > 
> 
> Ohh, that looks serious! The ambiguity is caused by a proto/fusion overlap. 
> A qi::rule is both, a proto expression and a fusion sequence (as all proto
> expressions are proto sequences now). 
> 
> Proto's overload for operator>() is a valid choice for this, as is fusions
> operator>().
> 
> I'm cc'ing Eric and Christopher, perhaps they have an idea how to proceed.
> 
> Regards Hartmut
> ---------------
> http://boost-spirit.com
> 
> 
> 
> 
> ------------------------------------------------------------------------------
> Learn how Oracle Real Application Clusters (RAC) One Node allows customers
> to consolidate database storage, standardize their database environment, and, 
> should the need arise, upgrade to a full multi-node Oracle RAC database 
> without downtime or disruption
> http://p.sf.net/sfu/oracle-sfdevnl
> _______________________________________________
> Spirit-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/spirit-devel
> 



- -- 
Bryce Lelbach aka wash
boost-spirit.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEARECAAYFAk0T+awACgkQO/fqqIuE2t6yJQCeKlSFAGG4EQ+cq3tJzCEHtJBU
uooAn3CIHG09Cjn7Tczj06Bf3veIonie
=0r2q
-----END PGP SIGNATURE-----
------------------------------------------------------------------------------
Learn how Oracle Real Application Clusters (RAC) One Node allows customers
to consolidate database storage, standardize their database environment, and, 
should the need arise, upgrade to a full multi-node Oracle RAC database 
without downtime or disruption
http://p.sf.net/sfu/oracle-sfdevnl