[PATCH] D134772: [Clang] Make constraints of auto part of NTTP instead of AutoType

Yuanfang Chen via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Sep 27 17:56:40 PDT 2022


ychen added a comment.

In D134772#3819551 <https://reviews.llvm.org/D134772#3819551>, @mizvekov wrote:

> I don't think the problem here is an uniquing problem per se, it's just that the constraints are part of the canonical type of undeduced auto, which is undesirable for the NTTP.
>
> Maybe it would work to just add a new flag parameter to `ASTContext::getAutoType` which makes it not add the constraints to the canonical type?

Hmm. That sounds promising to me. Let me see if I could get this to work. Thanks.

> It is odd that the handling for TTP and NTTP is different here, but perhaps we could move TTP to this solution as well?

Yeah, it is odd from the POV of template handling. From the type hierarchy POV, it is consistent because TTP is a type and `auto` is also a type. I guess ultimately we choose the one that is easy and extensible for future language features.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D134772



More information about the cfe-commits mailing list