http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47380
Summary: concept checking and incomplete types Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: marc.gli...@normalesup.org The following code compiles fine in normal mode, but not with -D_GLIBCXX_CONCEPT_CHECKS, which basically thinks the types are incomplete. Is this a known limitation? (by the way, the relevant doc still says C++0x will have concepts) #include <map> template<typename T, typename U> struct A; template< typename T> struct B { typedef A<T,B> Handle; std::map<int,Handle> y; }; template<typename T, typename U = B< T> > struct A : U { }; int main(){ A<int> x; }