[PATCH] D135772: Stop evaluating trailing requires clause after overload resolution
Erich Keane via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Oct 12 06:05:20 PDT 2022
erichkeane created this revision.
erichkeane added a reviewer: clang-language-wg.
Herald added a project: All.
erichkeane requested review of this revision.
Reported as it showed up as a constriants failure after the deferred
instantiation patch, we were checking constraints TWICE after overload
resolution. The first is during overload resolution, the second is when
diagnosing a use.
This patch modifies DiagnoseUseOfDecl to skip the trailing requires
clause check in some cases. First, of course, after choosing a candidate
after overload resolution.
The second is when evaluating a shadow using constructor, which had its
constraints checked when picking a constructor (as this is ALWAYS an
overload situation!).
https://reviews.llvm.org/D135772
Files:
clang/include/clang/Sema/Sema.h
clang/lib/Sema/SemaDeclCXX.cpp
clang/lib/Sema/SemaExpr.cpp
clang/lib/Sema/SemaOverload.cpp
clang/test/SemaTemplate/concepts.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D135772.467112.patch
Type: text/x-patch
Size: 8013 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20221012/6b64f9d6/attachment.bin>
More information about the cfe-commits
mailing list