https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93295
--- Comment #5 from Marek Polacek <mpolacek at gcc dot gnu.org> --- Another test from Bug 93867: template <typename CharT, unsigned N> struct basic_fixed_string { constexpr basic_fixed_string(const CharT *p) { for (int i = 0; i < N; ++i) { m_data[i] = p[i]; } } CharT m_data[N] {}; }; template <typename CharT, int N> basic_fixed_string(const CharT (&)[N]) -> basic_fixed_string<CharT,N>; template <unsigned N> using fixed_string = basic_fixed_string<char, N>; template <fixed_string path> constexpr int foo() { return 42; } int main(int argc, char const *argv[]) { foo<"hello">(); return 0; }