[PATCH] D126907: Deferred Concept Instantiation Implementation Take 2
Erich Keane via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Jun 21 11:40:00 PDT 2022
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 at 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
More information about the cfe-commits
mailing list