Skip to content

Commit 52c365a

Browse files
committed
Revert "[Concepts] Fix incorrect DeclContext for transformed RequiresExprBodyDecl"
We're not planning more release candidates for 10.0.0 at the moment, so reverting for now. This reverts commit 9e0bd5e.
1 parent 26c762d commit 52c365a

File tree

2 files changed

+1
-14
lines changed

2 files changed

+1
-14
lines changed

clang/lib/Sema/TreeTransform.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11303,7 +11303,7 @@ TreeTransform<Derived>::TransformRequiresExpr(RequiresExpr *E) {
1130311303
SemaRef, Sema::ExpressionEvaluationContext::Unevaluated);
1130411304

1130511305
RequiresExprBodyDecl *Body = RequiresExprBodyDecl::Create(
11306-
getSema().Context, getSema().CurContext,
11306+
getSema().Context, E->getBody()->getDeclContext(),
1130711307
E->getBody()->getBeginLoc());
1130811308

1130911309
Sema::ContextRAII SavedContext(getSema(), Body, /*NewThisContext*/false);

clang/test/SemaTemplate/instantiate-requires-expr.cpp

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -164,19 +164,6 @@ namespace expr_requirement {
164164
struct r3 {};
165165

166166
using r3i = r3<int, unsigned int>; // expected-error{{constraints not satisfied for class template 'r3' [with Ts = <int, unsigned int>]}}
167-
168-
template<typename T>
169-
struct r4 {
170-
constexpr int foo() {
171-
if constexpr (requires { this->invalid(); })
172-
return 1;
173-
else
174-
return 0;
175-
}
176-
177-
constexpr void invalid() requires false { }
178-
};
179-
static_assert(r4<int>{}.foo() == 0);
180167
}
181168

182169
namespace nested_requirement {

0 commit comments

Comments
 (0)