https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103019
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Here is one slightly more reduced, removing range_t struct even: template<double setup> struct knob_t { int value = setup; }; struct Helpers { knob_t<1.0> inputs; }; template <class T, int N> auto h() noexcept -> decltype(sizeof(T{})); int t = h<Helpers>(); ---- CUT----