http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49274
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jason at gcc dot gnu.org Component|libstdc++ |c++ Known to work| |4.4.5, 4.5.0 Summary|Regression: unique_ptr |[4.6/4.7 Regression] |needs full definition of |unique_ptr needs full |map type |definition of map type --- Comment #7 from Jonathan Wakely <redi at gcc dot gnu.org> 2011-06-03 11:19:59 UTC --- reduced, with no library or c++0x dependencies: struct incomplete; template<typename T> struct cont { T t; }; template<typename> struct complete { }; int main() { complete<cont<incomplete>> c; c = c; } which works prior to 4.6, and with EDG and clang with 4.6 and later the assignment requires cont<incomplete> to be complete, even though it is unused in complete. In the original testcase that causes is_assignable to instantiate map<int,int,CMP> Jason, could you take a look? Possibly the same issue as PR 49107