17 lines · cpp
1// RUN: %clang_cc1 -std=c++20 -verify %s2// RUN: %clang_cc1 -std=c++23 -verify %s3// expected-no-diagnostics4 5template<class T> concept IsOk = requires() { typename T::Float; };6 7template<IsOk T> struct Thing;8 9template<IsOk T> struct Foobar {10 template<int> struct Inner {11 template<IsOk T2> friend struct Thing;12 };13};14 15struct MyType { using Float=float; };16Foobar<MyType>::Inner<0> foobar;17