// PR c++/77912 | |
// { dg-do compile { target c++17 } } | |
template<class T> struct S{S(T){}}; | |
//error: invalid use of template type parameter 'S' | |
template<class T> auto f(T t){return S(t);} | |
int main() | |
{ | |
//fails | |
f(42); | |
//fails | |
//error: invalid use of template type parameter 'S' | |
[](auto a){return S(a);}(42); | |
//works | |
[](int a){return S(a);}(42); | |
} |