|
|
@@ -9,22 +9,9 @@
|
|
|
|
|
|
namespace Carbon::Check {
|
|
|
|
|
|
-// TODO: Find a better home for this. We'll likely need it for more than just
|
|
|
-// expression statements.
|
|
|
-static auto HandleDiscardedExpr(Context& context, SemIR::InstId expr_id)
|
|
|
- -> void {
|
|
|
- // If we discard an initializing expression, convert it to a value or
|
|
|
- // reference so that it has something to initialize.
|
|
|
- auto expr = context.insts().Get(expr_id);
|
|
|
- Convert(context, SemIR::LocId(expr_id), expr_id,
|
|
|
- {.kind = ConversionTarget::Discarded, .type_id = expr.type_id()});
|
|
|
-
|
|
|
- // TODO: This will eventually need to do some "do not discard" analysis.
|
|
|
-}
|
|
|
-
|
|
|
auto HandleParseNode(Context& context, Parse::ExprStatementId /*node_id*/)
|
|
|
-> bool {
|
|
|
- HandleDiscardedExpr(context, context.node_stack().PopExpr());
|
|
|
+ DiscardExpr(context, context.node_stack().PopExpr());
|
|
|
return true;
|
|
|
}
|
|
|
|