[PATCH] D134128: Resubmit an implemention for constrained template template parameters [P0857R0 Part B]

Erich Keane via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Oct 17 06:09:56 PDT 2022


erichkeane added a comment.

In D134128#3860993 <https://reviews.llvm.org/D134128#3860993>, @lime wrote:

> I think I located the problem. In the line 4014 of the file `SemaTemplateInstantiateDecl.cpp`, the requires clause is not instantiated as the parameters of the template parameter list, and these parameters have been instantiated with a shallower depth. So that's the reason why the depths are not confirm between the `T` in `template <template <C T> class>` and the constraints on the instantiated parameters. I guess adjusting depths should be unnecessary in `IsAtLeastAsConstrained`, if the requires clause was correctly instantiated, so should changes related to `SemaConcept.cpp`. I will work on this later.

I wouldn't expect the requires clause (nor any other concept related AST node) to be instantiated at all until it is going through 'checking', which is the purpose of the deferred concepts patch. That said, SemaTemplateInstantiateDecl.cpp:4014 is in the middle of adjustForRewrite, which isn't clear to me what you mean.

That said, I'm not sure what the


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D134128



More information about the cfe-commits mailing list