http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58435
Daniel Frey <d.frey at gmx dot de> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |d.frey at gmx dot de --- Comment #1 from Daniel Frey <d.frey at gmx dot de> --- Note that it is triggered by the 'using', if you replace the mapping by template <typename T> struct map { typedef const T type; }; and adapt 'apply' like this: template < template <typename...> class F, template <typename...> class L, typename... T > struct apply <F, L <T...> > { typedef L <typename F <T>::type...> type; }; the result changes to the expected: undefined reference to `void dummy<A<int const> >()'