================
@@ -177,3 +177,19 @@ namespace GH177545 {
   template<decltype(auto)()() volatile throw() -> char> // expected-error 
{{'decltype(auto)' can only be used as a return type in a function declaration}}
   struct T2;                                            // expected-error@* 
{{function cannot return function type 'auto () volatile throw() -> 
decltype(auto)'}}
 }
+
+namespace GH28877 {
+template <typename...> struct S;
+template <typename... Ts> auto f(Ts... args) -> S<decltype(args)...>;
+extern template auto f() -> S<>;
+}
+
+namespace GH46548 {
+template <typename... Ts> void a(Ts... args1, char... args2[][sizeof args1]);
+extern template void a();
+}
+
+namespace GH213760 {
+template <typename... Ts> void f(Ts... args, decltype(args)...);
+void g() { f(); }
----------------
zyn0217 wrote:

Also, can you please add tests for
```cpp
f<int>(1, 2);
f(1, 2);
f<int, int>(1, 2);
```
?

https://github.com/llvm/llvm-project/pull/215235
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to