http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45114
--- Comment #11 from vincenzo Innocente <vincenzo.innocente at cern dot ch> 2011-10-31 16:16:54 UTC --- the example in comment 10 compiles fine if I add a move constructor D(A<T> && ia) : a(ia) {} or a "by value constructor" D(A<T> ia) : a(ia) {}