erichkeane added a comment.

Note that the failure comes down to:

  template<typename T> concept C = T::f();
  template<template<C> class P> struct S1{};
  template<C> struct X{};
  S1<X> s11;

and requires the -frelaxed-template-template-args flag:

  [ekeane1@scsel-clx-24 build]$  ./bin/clang -cc1 -std=c++20 temp.cpp 
-frelaxed-template-template-args
  temp.cpp:5:4: error: template template argument 'X' is more constrained than 
template template parameter 'P'
  S1<X> s11;
     ^
  temp.cpp:3:29: note: 'P' declared here
  template <template<C> class P> struct S1{};
                              ^
  temp.cpp:4:20: note: 'X' declared here
  template<C> struct X{};
                     ^
  1 error generated.




CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D126907/new/

https://reviews.llvm.org/D126907

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to