1 // { dg-do compile { target c++2a } } 2 3 struct A { 4 char ar[10]; AA5 constexpr A (const char *p) : ar() 6 { 7 for (int i = 0; i < 10; ++i) 8 if ((ar[i] = p[i]) == 0) 9 break; 10 } 11 // auto operator<=> (const A&) = default; 12 }; 13 14 template <A a> constexpr A operator "" _sh() { return a; } 15 16 constexpr auto a = "foo"_sh; 17 static_assert (a.ar[0] == 'f'); 18