Convert discarded calls in thunks. (#5452)

No functionality change right now: we reject thunks where the signature
has no return type and the callee has a return type. But discarding the
expression is still the right thing to do.
This commit is contained in:
Richard Smith
2025-05-09 16:35:28 +00:00
committed by GitHub
parent 2cb0df42e0
commit 69b9982e95
4 changed files with 16 additions and 14 deletions
+2
View File
@@ -6,6 +6,7 @@
#include "toolchain/base/kind_switch.h"
#include "toolchain/check/call.h"
#include "toolchain/check/convert.h"
#include "toolchain/check/deferred_definition_scope.h"
#include "toolchain/check/diagnostic_helpers.h"
#include "toolchain/check/function.h"
@@ -400,6 +401,7 @@ static auto BuildThunkDefinition(Context& context,
if (HasDeclaredReturnType(context, function_id)) {
BuildReturnWithExpr(context, SemIR::LocId(callee_id), call_id);
} else {
DiscardExpr(context, call_id);
BuildReturnWithNoExpr(context, SemIR::LocId(callee_id));
}