mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-10-05 22:02:55 +01:00
Emit function definitions in check, for all specifics seen. (#5090)
Emitting definitions in check. This resolves the crash in lowering which necessitated definitions be emitted. Some of the test changes need further review.
This commit is contained in:
@@ -189,8 +189,6 @@ auto PerformCall(Context& context, SemIR::LocId loc_id, SemIR::InstId callee_id,
|
||||
context, SemIR::SpecificFunctionType::SingletonInstId),
|
||||
.callee_id = generic_callee_id,
|
||||
.specific_id = *callee_specific_id});
|
||||
// TODO: Add to `definitions_required` when evaluating the
|
||||
// `SpecificImplFunction`.
|
||||
} else {
|
||||
// This is a regular generic function. The callee is the specific function
|
||||
// we deduced.
|
||||
@@ -201,9 +199,6 @@ auto PerformCall(Context& context, SemIR::LocId loc_id, SemIR::InstId callee_id,
|
||||
context, SemIR::SpecificFunctionType::SingletonInstId),
|
||||
.callee_id = generic_callee_id,
|
||||
.specific_id = *callee_specific_id});
|
||||
// TODO: The specific function could be a symbolic constant. Delay doing
|
||||
// this until we form a concrete `SpecificFunction` constant.
|
||||
context.definitions_required().push_back(callee_id);
|
||||
}
|
||||
|
||||
// Add the `self` argument back if there was one.
|
||||
|
||||
Reference in New Issue
Block a user