1 // PR c++/83020
2 // { dg-do compile { target c++17 } }
3 
4 struct NoDefault {
5     int val = 1234;
NoDefaultNoDefault6     NoDefault(int v) : val(v) {}
7 };
8 template <class T>
9 struct Whoops {
10     const char *str;
11     T obj;
strWhoops12     Whoops(const char *s, T v = T()) : str(s), obj(v) {}  // { dg-error "no matching" }
13 };
test()14 const char *test() {
15     return Whoops<NoDefault>("hi").str;
16 }
17