[all-commits] [llvm/llvm-project] 4bcb85: Stop evaluating trailing requires clause after ove...
Erich Keane via All-commits
all-commits at lists.llvm.org
Tue Oct 18 06:09:17 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 4bcb85c638c1c1719c5c01a70ee2e376e4032d2a
https://github.com/llvm/llvm-project/commit/4bcb85c638c1c1719c5c01a70ee2e376e4032d2a
Author: Erich Keane <erich.keane at intel.com>
Date: 2022-10-18 (Tue, 18 Oct 2022)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/test/SemaTemplate/concepts.cpp
Log Message:
-----------
Stop evaluating trailing requires clause after overload resolution
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!).
Differential Revision: https://reviews.llvm.org/D135772
More information about the All-commits
mailing list