Boost logo

Boost :

From: SourceForge.net (noreply_at_[hidden])
Date: 2006-06-20 20:51:56


Bugs item #1509662, was opened at 2006-06-20 19:51
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=107586&aid=1509662&group_id=7586

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: concept_check
Group: None
Status: Open
Resolution: None
Priority: 5
Submitted By: Cromwell Enage (expaler)
Assigned to: Jeremy Siek (jsiek)
Summary: GCC 3.4.x vs. BCCL classes derived from other BCCL classes

Initial Comment:
With the current CVS snapshot, GCC 3.4.x fails to
compile the following code:

#include <vector>
#include <iterator>
#include <boost/concept_check.hpp>

int main()
{
    boost::function_requires<
        boost::OutputIterator<
            std::back_insert_iterator<
                std::vector<int>
>
          , int
>
>();

    return 0;
}

The error trace is:

    boost/concept_check.hpp: In instantiation of
`boost::OutputIterator<std::back_insert_iterator<std::vector<int,
std::allocator<int> > >, int>':
    boost/concept/detail/has_constraints.hpp:32:
instantiated from
`boost::concept::not_satisfied<boost::OutputIterator<std::back_insert_iterator<std::vector<int,
std::allocator<int> > >, int> >'
    boost/mpl/if.hpp:67: instantiated from
`boost::mpl::if_<boost::concept::not_satisfied<boost::OutputIterator<std::back_insert_iterator<std::vector<int,
std::allocator<int> > >, int> >,
boost::concept::constraint<boost::OutputIterator<std::back_insert_iterator<std::vector<int,
std::allocator<int> > >, int> >,
boost::concept::requirement<boost::OutputIterator<std::back_insert_iterator<std::vector<int,
std::allocator<int> > >, int> > >'
    boost/concept/detail/general.hpp:47: instantiated
from `boost::concept::requirement_<void
(*)(boost::OutputIterator<std::back_insert_iterator<std::vector<int,
std::allocator<int> > >, int>)>'
    boost/concept_check.hpp:41: instantiated from
`void boost::function_requires(Model*) [with Model =
boost::OutputIterator<std::back_insert_iterator<std::vector<int,
std::allocator<int> > >, int>]'
    boost_concept_check.cpp:7: instantiated from here
    boost/concept_check.hpp:462: error: base
`boost::Assignable<std::back_insert_iterator<std::vector<int,
std::allocator<int> > > >' with only non-default
constructor in class without a constructor

The fix is located in
<boost/concept/detail/concept_def.hpp>, but is not
applied universally in <boost/concept_check.hpp>. The
following patch corrects this deficiency, so the
program now compiles.

                              Cromwell D. Enage

----------------------------------------------------------------------

You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=107586&aid=1509662&group_id=7586

_______________________________________________
Boost-bugs mailing list
Boost-bugs_at_[hidden]
https://lists.sourceforge.net/lists/listinfo/boost-bugs


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk