xref: /llvm-project/clang/test/Sema/PR84368.cpp (revision 3b5e7c83a6e226d5bd7ed2e9b67449b64812074c)
1 // RUN: %clang_cc1 -std=c++20 -verify %s
2 // RUN: %clang_cc1 -std=c++23 -verify %s
3 // expected-no-diagnostics
4 
5 template<class T> concept IsOk = requires() { typename T::Float; };
6 
7 template<IsOk T> struct Thing;
8 
9 template<IsOk T> struct Foobar {
10   template<int> struct Inner {
11     template<IsOk T2> friend struct Thing;
12   };
13 };
14 
15 struct MyType { using Float=float; };
16 Foobar<MyType>::Inner<0> foobar;
17