Re: [Boost-bugs] [Boost C++ Libraries] #6331: [Boost.Test] g++ compilation error due to ambiguity between template<class Cond, class T> struct boost::enable_if and class boost::unit_test::decorator::enable_if as well as the disable_if counterparts introduced after Boost 1.48.0 (up to at least svn rev. 76217)

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #6331: [Boost.Test] g++ compilation error due to ambiguity between template<class Cond, class T> struct boost::enable_if and class boost::unit_test::decorator::enable_if as well as the disable_if counterparts introduced after Boost 1.48.0 (up to at least svn rev. 76217)
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2012-01-20 14:25:33


#6331: [Boost.Test] g++ compilation error due to ambiguity between template<class
Cond, class T> struct boost::enable_if and class
boost::unit_test::decorator::enable_if as well as the disable_if
counterparts introduced after Boost 1.48.0 (up to at least svn rev. 76217)
--------------------------------------+-------------------------------------
  Reporter: t0rt1e@… | Owner: rogeeff
      Type: Bugs | Status: new
 Milestone: To Be Determined | Component: test
   Version: Boost Development Trunk | Severity: Regression
Resolution: | Keywords: enable_if, disable_if
--------------------------------------+-------------------------------------

Comment (by t0rt1e@…):

 While digging into the issue, I came across the
 [http://gcc.gnu.org/gcc-4.7/changes.html CHANGES] document for g++
 4.7.0 currently under development. It states:

 "G++ now correctly implements the two-phase lookup rules such that an
 unqualified name used in a template must have an appropriate declaration
 found either in scope at the point of definition of the template or by
 argument-dependent lookup at the point of instantiation. As a result,
 code that relies on a second unqualified lookup at the point of
 instantiation to find functions declared after the template or in
 dependent bases will be rejected. The compiler will suggest ways to fix
 affected code, and using the -fpermissive compiler flag will allow the
 code to compile with a warning."

 Could this problem be related?

 I also found a meta-bug in gcc's bug tracker
 ([http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18805 ticket #18805])
 grouping currently known problems around the name-lookup.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/6331#comment:5>
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:08 UTC