|
Proto : |
Subject: Re: [proto] [Spirit-devel] [Spirit Development] Bug in today's boost_trunk -- ambiguous operator >
From: Eric Niebler (eric_at_[hidden])
Date: 2010-12-24 21:52:30
On 12/24/2010 1:57 PM, Hartmut Kaiser wrote:
>> Just because a type is a Fusion sequence, that doesn't mean it has
>> boost::fusion as an associated namespace. I'm asking why
>> boost::fusion::operator< is in the overload set.
>
> Ohh, sorry, I misunderstood. That's a good question indeed. However, I have
> no answer, yet.
I know why:
template <
typename Iterator
, typename T1 = unused_type
, typename T2 = unused_type
, typename T3 = unused_type
, typename T4 = unused_type
>
struct rule
And in support/unused.hpp:
using boost::fusion::unused_type;
Your use of fusion::unused_type is making boost::fusion an associated
namespace of qi::rule. I suggest eliminating this needless reuse, or
else use an ADL barrier namespace around Fusion's unused_type definition.
-- Eric Niebler BoostPro Computing http://www.boostpro.com
Proto list run by eric at boostpro.com