Refactor AddBindingPattern into composable pieces (#6927)

This is part of some bigger changes in pattern matching, factored out
because it causes some test churn.

Assisted-by: Gemini 3.1 Pro via Antigravity
This commit is contained in:
Geoff Romer
2026-03-19 19:20:03 +00:00
committed by GitHub
parent 10beae2c20
commit 08148f3a3a
137 changed files with 513 additions and 505 deletions
+3 -3
View File
@@ -175,8 +175,8 @@ var g: E({.a = 1, .b = 2}) = {} as E({.a = 3, .b = 4} as D);
// CHECK:STDOUT: constants {
// CHECK:STDOUT: %type: type = facet_type <type> [concrete]
// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self]
// CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic]
// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete]
// CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic]
// CHECK:STDOUT: %Outer.type: type = generic_class_type @Outer [concrete]
// CHECK:STDOUT: %Outer.generic: %Outer.type = struct_value () [concrete]
// CHECK:STDOUT: %Outer.387: type = class_type @Outer, @Outer(%T) [symbolic]
@@ -346,8 +346,8 @@ var g: E({.a = 1, .b = 2}) = {} as E({.a = 3, .b = 4} as D);
// CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete]
// CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete]
// CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete]
// CHECK:STDOUT: %N.5de: %i32 = symbolic_binding N, 0 [symbolic]
// CHECK:STDOUT: %pattern_type.7ce: type = pattern_type %i32 [concrete]
// CHECK:STDOUT: %N.5de: %i32 = symbolic_binding N, 0 [symbolic]
// CHECK:STDOUT: %C.type: type = generic_class_type @C [concrete]
// CHECK:STDOUT: %C.generic: %C.type = struct_value () [concrete]
// CHECK:STDOUT: %C.ad6: type = class_type @C, @C(%N.5de) [symbolic]
@@ -469,8 +469,8 @@ var g: E({.a = 1, .b = 2}) = {} as E({.a = 3, .b = 4} as D);
// CHECK:STDOUT: %complete_type.705: <witness> = complete_type_witness %struct_type.a.b.501 [concrete]
// CHECK:STDOUT: %type: type = facet_type <type> [concrete]
// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self]
// CHECK:STDOUT: %F: %D = symbolic_binding F, 0 [symbolic]
// CHECK:STDOUT: %pattern_type.9c8: type = pattern_type %D [concrete]
// CHECK:STDOUT: %F: %D = symbolic_binding F, 0 [symbolic]
// CHECK:STDOUT: %E.type: type = generic_class_type @E [concrete]
// CHECK:STDOUT: %E.generic: %E.type = struct_value () [concrete]
// CHECK:STDOUT: %E: type = class_type @E, @E(%F) [symbolic]