Support importing var parameters (#5400)

This restructures the import and merge logic to support parameter
patterns in a more scalable way.

---------

Co-authored-by: Richard Smith <richard@metafoo.co.uk>
This commit is contained in:
Geoff Romer
2025-05-19 22:50:16 +00:00
committed by GitHub
co-authored by Richard Smith
parent 8e666cea3e
commit fbc5994750
20 changed files with 623 additions and 420 deletions
@@ -865,9 +865,9 @@ import library "extern_api";
// CHECK:STDOUT: %pattern_type.501: type = pattern_type %i32 [concrete]
// CHECK:STDOUT: %C.type: type = fn_type @C [concrete]
// CHECK:STDOUT: %C: %C.type = struct_value () [concrete]
// CHECK:STDOUT: %tuple.type.dd4: type = tuple_type (%i32) [concrete]
// CHECK:STDOUT: %struct_type.c: type = struct_type {.c: %i32} [concrete]
// CHECK:STDOUT: %pattern_type.f5f: type = pattern_type %struct_type.c [concrete]
// CHECK:STDOUT: %tuple.type.dd4: type = tuple_type (%i32) [concrete]
// CHECK:STDOUT: %D.type: type = fn_type @D [concrete]
// CHECK:STDOUT: %D: %D.type = struct_value () [concrete]
// CHECK:STDOUT: %E.type: type = fn_type @E [concrete]