1 // { dg-options "-std=c++17 -fconcepts" } 2 3 template<typename T> C()4 concept bool C() { return __is_class(T); } 5 6 template<typename T> 7 requires C<T>() 8 using X = T*; 9 10 // BUG: Alias templates are expanded at the point of use, regardless 11 // of whether or not they are dependent. This causes T* to be substituted 12 // without acutally checking the constraints. 13 template<typename T> 14 using Y = X<T>; 15 main()16int main() 17 { 18 Y<int> y1; // { dg-error "" "" { xfail *-*-* } } 19 } 20