diff --git a/gcc/testsuite/g++.dg/template/friend83.C b/gcc/testsuite/g++.dg/template/friend83.C new file mode 100644 index 00000000000..edd29614b31 --- /dev/null +++ b/gcc/testsuite/g++.dg/template/friend83.C @@ -0,0 +1,24 @@ +// PR c++/115616 +// { dg-do compile { target c++20 } } + +template void bar() {} + +template +struct Reader +{ + template + friend void foo(Reader); +}; + +template +struct Writer +{ + template + friend void foo(Reader) {bar();} +}; + +int main() +{ + foo<10>(Reader{}); + Writer{}; +}