[Boost-bugs] [Boost C++ Libraries] #2137: BOOST_CONCEPT_REQUIRES fails on g++

Subject: [Boost-bugs] [Boost C++ Libraries] #2137: BOOST_CONCEPT_REQUIRES fails on g++
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2008-07-22 14:52:31


#2137: BOOST_CONCEPT_REQUIRES fails on g++
----------------------------------+-----------------------------------------
 Reporter: john.femiani_at_[hidden] | Type: Bugs
   Status: new | Milestone: Boost 1.36.0
Component: None | Version: Boost 1.35.0
 Severity: Problem | Keywords:
----------------------------------+-----------------------------------------
 The mingw-g++ compiler seems to fail to prevent BOOST_CONCEPT_REQUIRES
 from working properly.

 It is failing to prevent a function from being instantiated, and instead
 it is issuing an error.

 This is being discussed on the newslist
 [http://www.nabble.com/-concept_check--Problem-with-concept-checks-and-
 overloads-tt18578325.html here].

 This is a sample g++ error:
 {{{
  g++ test.cpp
 }}}
 {{{
 test.cpp: In instantiation of 'DummyConcept<foo<int> >':
 c:\mingw\bin\../lib/gcc/mingw32/4.3.0/../../../../include/boost/concept/detail/has_constraints.hpp:40:
 instantiated from 'const bool
 boost::concept::not_satisfied<DummyConcept<foo<int> > >::value'
 c:\mingw\bin\../lib/gcc/mingw32/4.3.0/../../../../include/boost/concept/detail/has_constraints.hpp:43:
 instantiated from 'boost::concept::not_satisfied<DummyConcept<foo<int> >
>'
 c:\mingw\bin\../lib/gcc/mingw32/4.3.0/../../../../include/boost/mpl/if.hpp:67:
 instantiated from
 'boost::mpl::if_<boost::concept::not_satisfied<DummyConcept<foo<int> > >,
 boost::concept::constraint<DummyConcept<foo<int> > >,
 boost::concept::requirement<DummyConcept<foo<int> > > >'
 c:\mingw\bin\../lib/gcc/mingw32/4.3.0/../../../../include/boost/concept/detail/general.hpp:19:
 instantiated from 'boost::concept::requirement_<void
 (*)(DummyConcept<foo<int> >)>'
 c:\mingw\bin\../lib/gcc/mingw32/4.3.0/../../../../include/boost/concept/requires.hpp:30:
 instantiated from 'boost::_requires_<void (*)(DummyConcept<foo<int> >)>'
 test.cpp:35: instantiated from here
 test.cpp:14: error: no type named 'something' in 'struct foo<int>'

 }}}

-- 
Ticket URL: <http://svn.boost.org/trac/boost/ticket/2137>
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:49:58 UTC