https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88028
--- Comment #4 from Marek Polacek <mpolacek at gcc dot gnu.org> --- Slightly more reduced: template <typename T, int N> struct A { T e[N]; }; template <typename T> A(T)->A<T, 1>; struct S {}; template <typename> struct R { static constexpr auto h = A{S{}}; }; void fn () { A<S, 1> foo = R<int>::h; }