https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72796
--- Comment #1 from Markus Trippelsdorf <trippels at gcc dot gnu.org> --- markus@x4 js % cat jsarray.ii struct a; template <int> struct b { typedef a c; }; struct d { void e(int); }; struct a : d { void e(int) = delete; }; template <int f> struct g : b<f>::c { g(int) { this->d::e(0); } }; struct h : g<0> { using i = g; h() : i(0) {} }; markus@x4 js % g++ -c jsarray.ii jsarray.ii: In instantiation of ‘g<f>::g(int) [with int f = 0]’: jsarray.ii:14:12: required from here jsarray.ii:10:12: error: use of deleted function ‘void a::e(int)’ g(int) { this->d::e(0); } ^~~~ jsarray.ii:7:8: note: declared here void e(int) = delete; ^