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:
Alina Sbirlea
2025-04-02 21:51:25 +00:00
committed by GitHub
parent 6ee1006a61
commit 077cf56a8a
17 changed files with 100 additions and 66 deletions
@@ -361,10 +361,17 @@ fn M() {
// CHECK:STDOUT: specific @H(constants.%i32) {
// CHECK:STDOUT: %T.loc19_6.2 => constants.%i32
// CHECK:STDOUT: %T.patt.loc19_6.2 => constants.%T.patt
// CHECK:STDOUT:
// CHECK:STDOUT: !definition:
// CHECK:STDOUT: %require_complete => constants.%complete_type.f8a
// CHECK:STDOUT: %F.specific_fn.loc21_3.2 => constants.%F.specific_fn.501
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: specific @Cfn(constants.%i32) {
// CHECK:STDOUT: %T.loc12_22.1 => constants.%i32
// CHECK:STDOUT: %T.patt.loc12_22.2 => constants.%T.patt
// CHECK:STDOUT:
// CHECK:STDOUT: !definition:
// CHECK:STDOUT: %require_complete => constants.%complete_type.f8a
// CHECK:STDOUT: }
// CHECK:STDOUT: