for example, I have a class like this:

class MyClass
{
public: 
    MyClass() ...
    MyClass(IN const MyClass& rhs) ...
    MyClass& operator=(IN const MyClass& rhs)...

private:
    typedef std::map< string, MyClass > KEYTBL; // Self contains
    struct PROP {
       ...
       KEYTBL tblKeys;
       ...
    };

    typedef SMART_POINTER< PROP > HPROP;
    HPROP m_hProp;
};

As the example shown, If with out (early and msvc) the boost concept check,
then everything is perfect ok, Because C++ will try to instantiation the map
only when we need to use it. BUT the boost conept check (_SGIAssignableConcept)
just broken the c++ delay instantiation rule, so everything is broken here.


-- 
           Summary: boost_concept_check.h - _SGIAssignableConcept broken the
                    class self contains
           Product: gcc
           Version: 4.3.2
            Status: UNCONFIRMED
          Severity: major
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: baiyang at gmail dot com
  GCC host triplet: OpenSolaris 2009.06 x86
GCC target triplet: OpenSolaris 2009.06 x86


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42533

Reply via email to