https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80534
Markus Trippelsdorf <trippels at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2017-04-26 CC| |trippels at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #2 from Markus Trippelsdorf <trippels at gcc dot gnu.org> --- template <int> struct A { struct type { char __data[0]; }; }; template <typename _Tp, typename = _Tp> struct B; template <typename _Tp, typename _Dp> struct B<_Tp[], _Dp> { _Tp _M_t; using pointer = int; void m_fn1() {} }; struct C { using Storage = A<0>::type; using StorageUniquePointer = B<Storage[]>; void m_fn2() { storageUniquePointer_.m_fn1(); } StorageUniquePointer storageUniquePointer_; };