Fix the textual IR name of WrapperBindingPattern (#7650)

`at_binding_pattern` is a relic from an earlier revision of #6930.
This commit is contained in:
Geoff Romer
2026-08-18 22:31:27 +00:00
committed by GitHub
parent 70b6abd6f1
commit d21cc3197f
333 changed files with 3806 additions and 3806 deletions
+11 -11
View File
@@ -64,7 +64,7 @@ fn Int(N: MyIntLiteral) -> type = "int.make_type_signed";
// CHECK:STDOUT: %complete_type.972: <witness> = complete_type_witness Core.IntLiteral [concrete]
// CHECK:STDOUT: %pattern_type.129: type = pattern_type %MyIntLiteral [concrete]
// CHECK:STDOUT: %N.param_patt: %pattern_type.129 = value_param_pattern [concrete]
// CHECK:STDOUT: %N.patt: %pattern_type.129 = at_binding_pattern N, %N.param_patt [concrete]
// CHECK:STDOUT: %N.patt: %pattern_type.129 = wrapper_binding_pattern N, %N.param_patt [concrete]
// CHECK:STDOUT: %Int.type: type = fn_type @Int [concrete]
// CHECK:STDOUT: %Int: %Int.type = struct_value () [concrete]
// CHECK:STDOUT: %MyInt32: type = class_type @MyInt32 [concrete]
@@ -72,7 +72,7 @@ fn Int(N: MyIntLiteral) -> type = "int.make_type_signed";
// CHECK:STDOUT: %int_32.80c: %MyIntLiteral = int_value 32 [concrete]
// CHECK:STDOUT: %i32.builtin: type = int_type signed, %int_32.80c [concrete]
// CHECK:STDOUT: %a.param_patt.c64: %pattern_type.129 = value_param_pattern [concrete]
// CHECK:STDOUT: %a.patt.3fb: %pattern_type.129 = at_binding_pattern a, %a.param_patt.c64 [concrete]
// CHECK:STDOUT: %a.patt.b04: %pattern_type.129 = wrapper_binding_pattern a, %a.param_patt.c64 [concrete]
// CHECK:STDOUT: %.6a2: Core.Form = init_form %MyInt32 [concrete]
// CHECK:STDOUT: %pattern_type.af4: type = pattern_type %MyInt32 [concrete]
// CHECK:STDOUT: %return.param_patt.cca: %pattern_type.af4 = out_param_pattern [concrete]
@@ -81,9 +81,9 @@ fn Int(N: MyIntLiteral) -> type = "int.make_type_signed";
// CHECK:STDOUT: %MyInt32.Make: %MyInt32.Make.type = struct_value () [concrete]
// CHECK:STDOUT: %complete_type.113: <witness> = complete_type_witness %i32.builtin [concrete]
// CHECK:STDOUT: %a.param_patt.c63: %pattern_type.af4 = value_param_pattern [concrete]
// CHECK:STDOUT: %a.patt.603: %pattern_type.af4 = at_binding_pattern a, %a.param_patt.c63 [concrete]
// CHECK:STDOUT: %a.patt.671: %pattern_type.af4 = wrapper_binding_pattern a, %a.param_patt.c63 [concrete]
// CHECK:STDOUT: %b.param_patt: %pattern_type.af4 = value_param_pattern [concrete]
// CHECK:STDOUT: %b.patt: %pattern_type.af4 = at_binding_pattern b, %b.param_patt [concrete]
// CHECK:STDOUT: %b.patt: %pattern_type.af4 = wrapper_binding_pattern b, %b.param_patt [concrete]
// CHECK:STDOUT: %MyAdd.type: type = fn_type @MyAdd [concrete]
// CHECK:STDOUT: %MyAdd: %MyAdd.type = struct_value () [concrete]
// CHECK:STDOUT: %v.patt: %pattern_type.af4 = ref_binding_pattern v [concrete]
@@ -124,7 +124,7 @@ fn Int(N: MyIntLiteral) -> type = "int.make_type_signed";
// CHECK:STDOUT: %MyIntLiteral.decl: type = class_decl @MyIntLiteral [concrete = constants.%MyIntLiteral] {} {}
// CHECK:STDOUT: %Int.decl: %Int.type = fn_decl @Int [concrete = constants.%Int] {
// CHECK:STDOUT: %N.param_patt: %pattern_type.129 = value_param_pattern [concrete = constants.%N.param_patt]
// CHECK:STDOUT: %N.patt: %pattern_type.129 = at_binding_pattern N, %N.param_patt [concrete = constants.%N.patt]
// CHECK:STDOUT: %N.patt: %pattern_type.129 = wrapper_binding_pattern N, %N.param_patt [concrete = constants.%N.patt]
// CHECK:STDOUT: %return.param_patt: %pattern_type.98f = out_param_pattern [concrete = constants.%return.param_patt.70e]
// CHECK:STDOUT: %return.patt: %pattern_type.98f = return_slot_pattern %return.param_patt, %.loc11_28.1 [concrete = constants.%return.patt.3ae]
// CHECK:STDOUT: } {
@@ -139,7 +139,7 @@ fn Int(N: MyIntLiteral) -> type = "int.make_type_signed";
// CHECK:STDOUT: %MyInt32.decl: type = class_decl @MyInt32 [concrete = constants.%MyInt32] {} {}
// CHECK:STDOUT: %MyInt32.Make.decl: %MyInt32.Make.type = fn_decl @MyInt32.Make [concrete = constants.%MyInt32.Make] {
// CHECK:STDOUT: %a.param_patt: %pattern_type.129 = value_param_pattern [concrete = constants.%a.param_patt.c64]
// CHECK:STDOUT: %a.patt: %pattern_type.129 = at_binding_pattern a, %a.param_patt [concrete = constants.%a.patt.3fb]
// CHECK:STDOUT: %a.patt: %pattern_type.129 = wrapper_binding_pattern a, %a.param_patt [concrete = constants.%a.patt.b04]
// CHECK:STDOUT: %return.param_patt: %pattern_type.af4 = out_param_pattern [concrete = constants.%return.param_patt.cca]
// CHECK:STDOUT: %return.patt: %pattern_type.af4 = return_slot_pattern %return.param_patt, %MyInt32.ref.loc19 [concrete = constants.%return.patt.5b1]
// CHECK:STDOUT: } {
@@ -153,9 +153,9 @@ fn Int(N: MyIntLiteral) -> type = "int.make_type_signed";
// CHECK:STDOUT: }
// CHECK:STDOUT: %MyAdd.decl: %MyAdd.type = fn_decl @MyAdd [concrete = constants.%MyAdd] {
// CHECK:STDOUT: %a.param_patt: %pattern_type.af4 = value_param_pattern [concrete = constants.%a.param_patt.c63]
// CHECK:STDOUT: %a.patt: %pattern_type.af4 = at_binding_pattern a, %a.param_patt [concrete = constants.%a.patt.603]
// CHECK:STDOUT: %a.patt: %pattern_type.af4 = wrapper_binding_pattern a, %a.param_patt [concrete = constants.%a.patt.671]
// CHECK:STDOUT: %b.param_patt: %pattern_type.af4 = value_param_pattern [concrete = constants.%b.param_patt]
// CHECK:STDOUT: %b.patt: %pattern_type.af4 = at_binding_pattern b, %b.param_patt [concrete = constants.%b.patt]
// CHECK:STDOUT: %b.patt: %pattern_type.af4 = wrapper_binding_pattern b, %b.param_patt [concrete = constants.%b.patt]
// CHECK:STDOUT: %return.param_patt: %pattern_type.af4 = out_param_pattern [concrete = constants.%return.param_patt.cca]
// CHECK:STDOUT: %return.patt: %pattern_type.af4 = return_slot_pattern %return.param_patt, %MyInt32.ref.loc21_37 [concrete = constants.%return.patt.5b1]
// CHECK:STDOUT: } {
@@ -202,7 +202,7 @@ fn Int(N: MyIntLiteral) -> type = "int.make_type_signed";
// CHECK:STDOUT: adapt_decl %.loc14_32.2 [concrete]
// CHECK:STDOUT: %MyInt32.Make.decl: %MyInt32.Make.type = fn_decl @MyInt32.Make [concrete = constants.%MyInt32.Make] {
// CHECK:STDOUT: %a.param_patt: %pattern_type.129 = value_param_pattern [concrete = constants.%a.param_patt.c64]
// CHECK:STDOUT: %a.patt: %pattern_type.129 = at_binding_pattern a, %a.param_patt [concrete = constants.%a.patt.3fb]
// CHECK:STDOUT: %a.patt: %pattern_type.129 = wrapper_binding_pattern a, %a.param_patt [concrete = constants.%a.patt.b04]
// CHECK:STDOUT: %return.param_patt: %pattern_type.af4 = out_param_pattern [concrete = constants.%return.param_patt.cca]
// CHECK:STDOUT: %return.patt: %pattern_type.af4 = return_slot_pattern %return.param_patt, %MyInt32.ref.loc19 [concrete = constants.%return.patt.5b1]
// CHECK:STDOUT: } {
@@ -268,7 +268,7 @@ fn Int(N: MyIntLiteral) -> type = "int.make_type_signed";
// CHECK:STDOUT: %complete_type: <witness> = complete_type_witness %empty_struct_type [concrete]
// CHECK:STDOUT: %pattern_type.129: type = pattern_type %MyIntLiteral [concrete]
// CHECK:STDOUT: %N.param_patt: %pattern_type.129 = value_param_pattern [concrete]
// CHECK:STDOUT: %N.patt: %pattern_type.129 = at_binding_pattern N, %N.param_patt [concrete]
// CHECK:STDOUT: %N.patt: %pattern_type.129 = wrapper_binding_pattern N, %N.param_patt [concrete]
// CHECK:STDOUT: %.805: Core.Form = init_form type [concrete]
// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete]
// CHECK:STDOUT: %return.param_patt: %pattern_type.98f = out_param_pattern [concrete]
@@ -285,7 +285,7 @@ fn Int(N: MyIntLiteral) -> type = "int.make_type_signed";
// CHECK:STDOUT: %MyIntLiteral.decl: type = class_decl @MyIntLiteral [concrete = constants.%MyIntLiteral] {} {}
// CHECK:STDOUT: %Int.decl: %Int.type = fn_decl @Int [concrete = constants.%Int] {
// CHECK:STDOUT: %N.param_patt: %pattern_type.129 = value_param_pattern [concrete = constants.%N.param_patt]
// CHECK:STDOUT: %N.patt: %pattern_type.129 = at_binding_pattern N, %N.param_patt [concrete = constants.%N.patt]
// CHECK:STDOUT: %N.patt: %pattern_type.129 = wrapper_binding_pattern N, %N.param_patt [concrete = constants.%N.patt]
// CHECK:STDOUT: %return.param_patt: %pattern_type.98f = out_param_pattern [concrete = constants.%return.param_patt]
// CHECK:STDOUT: %return.patt: %pattern_type.98f = return_slot_pattern %return.param_patt, %.loc12_28.1 [concrete = constants.%return.patt]
// CHECK:STDOUT: } {
+6 -6
View File
@@ -29,9 +29,9 @@ fn RuntimeCall(a: i32, b: i32) -> i32 {
// CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete]
// CHECK:STDOUT: %pattern_type.6b6: type = pattern_type %i32 [concrete]
// CHECK:STDOUT: %a.param_patt: %pattern_type.6b6 = value_param_pattern [concrete]
// CHECK:STDOUT: %a.patt: %pattern_type.6b6 = at_binding_pattern a, %a.param_patt [concrete]
// CHECK:STDOUT: %a.patt: %pattern_type.6b6 = wrapper_binding_pattern a, %a.param_patt [concrete]
// CHECK:STDOUT: %b.param_patt: %pattern_type.6b6 = value_param_pattern [concrete]
// CHECK:STDOUT: %b.patt: %pattern_type.6b6 = at_binding_pattern b, %b.param_patt [concrete]
// CHECK:STDOUT: %b.patt: %pattern_type.6b6 = wrapper_binding_pattern b, %b.param_patt [concrete]
// CHECK:STDOUT: %.795f: Core.Form = init_form %i32 [concrete]
// CHECK:STDOUT: %return.param_patt.a9a: %pattern_type.6b6 = out_param_pattern [concrete]
// CHECK:STDOUT: %return.patt.e1b: %pattern_type.6b6 = return_slot_pattern %return.param_patt.a9a, %i32 [concrete]
@@ -119,9 +119,9 @@ fn RuntimeCall(a: i32, b: i32) -> i32 {
// CHECK:STDOUT: %Core.import = import Core
// CHECK:STDOUT: %Add.decl: %Add.type = fn_decl @Add [concrete = constants.%Add] {
// CHECK:STDOUT: %a.param_patt: %pattern_type.6b6 = value_param_pattern [concrete = constants.%a.param_patt]
// CHECK:STDOUT: %a.patt: %pattern_type.6b6 = at_binding_pattern a, %a.param_patt [concrete = constants.%a.patt]
// CHECK:STDOUT: %a.patt: %pattern_type.6b6 = wrapper_binding_pattern a, %a.param_patt [concrete = constants.%a.patt]
// CHECK:STDOUT: %b.param_patt: %pattern_type.6b6 = value_param_pattern [concrete = constants.%b.param_patt]
// CHECK:STDOUT: %b.patt: %pattern_type.6b6 = at_binding_pattern b, %b.param_patt [concrete = constants.%b.patt]
// CHECK:STDOUT: %b.patt: %pattern_type.6b6 = wrapper_binding_pattern b, %b.param_patt [concrete = constants.%b.patt]
// CHECK:STDOUT: %return.param_patt: %pattern_type.6b6 = out_param_pattern [concrete = constants.%return.param_patt.a9a]
// CHECK:STDOUT: %return.patt: %pattern_type.6b6 = return_slot_pattern %return.param_patt, %i32.loc15_27 [concrete = constants.%return.patt.e1b]
// CHECK:STDOUT: } {
@@ -175,9 +175,9 @@ fn RuntimeCall(a: i32, b: i32) -> i32 {
// CHECK:STDOUT: }
// CHECK:STDOUT: %RuntimeCall.decl: %RuntimeCall.type = fn_decl @RuntimeCall [concrete = constants.%RuntimeCall] {
// CHECK:STDOUT: %a.param_patt: %pattern_type.6b6 = value_param_pattern [concrete = constants.%a.param_patt]
// CHECK:STDOUT: %a.patt: %pattern_type.6b6 = at_binding_pattern a, %a.param_patt [concrete = constants.%a.patt]
// CHECK:STDOUT: %a.patt: %pattern_type.6b6 = wrapper_binding_pattern a, %a.param_patt [concrete = constants.%a.patt]
// CHECK:STDOUT: %b.param_patt: %pattern_type.6b6 = value_param_pattern [concrete = constants.%b.param_patt]
// CHECK:STDOUT: %b.patt: %pattern_type.6b6 = at_binding_pattern b, %b.param_patt [concrete = constants.%b.patt]
// CHECK:STDOUT: %b.patt: %pattern_type.6b6 = wrapper_binding_pattern b, %b.param_patt [concrete = constants.%b.patt]
// CHECK:STDOUT: %return.param_patt: %pattern_type.6b6 = out_param_pattern [concrete = constants.%return.param_patt.a9a]
// CHECK:STDOUT: %return.patt: %pattern_type.6b6 = return_slot_pattern %return.param_patt, %i32.loc19_35 [concrete = constants.%return.patt.e1b]
// CHECK:STDOUT: } {
@@ -66,7 +66,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
// CHECK:STDOUT: %MakeIntLiteral: %MakeIntLiteral.type = struct_value () [concrete]
// CHECK:STDOUT: %pattern_type.dc0: type = pattern_type Core.IntLiteral [concrete]
// CHECK:STDOUT: %N.param_patt: %pattern_type.dc0 = value_param_pattern [concrete]
// CHECK:STDOUT: %N.patt: %pattern_type.dc0 = at_binding_pattern N, %N.param_patt [concrete]
// CHECK:STDOUT: %N.patt: %pattern_type.dc0 = wrapper_binding_pattern N, %N.param_patt [concrete]
// CHECK:STDOUT: %Int.type: type = fn_type @Int [concrete]
// CHECK:STDOUT: %Int: %Int.type = struct_value () [concrete]
// CHECK:STDOUT: %type: type = facet_type <type> [concrete]
@@ -80,9 +80,9 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
// CHECK:STDOUT: %Self.as_type.48c: type = facet_access_type %Self.8d5 [symbolic]
// CHECK:STDOUT: %pattern_type.131: type = pattern_type %Self.as_type.48c [symbolic]
// CHECK:STDOUT: %self.param_patt.72e: %pattern_type.131 = value_param_pattern [symbolic]
// CHECK:STDOUT: %self.patt.ac5: %pattern_type.131 = at_binding_pattern self, %self.param_patt.72e [symbolic]
// CHECK:STDOUT: %self.patt.f75: %pattern_type.131 = wrapper_binding_pattern self, %self.param_patt.72e [symbolic]
// CHECK:STDOUT: %other.param_patt.89e: %pattern_type.131 = value_param_pattern [symbolic]
// CHECK:STDOUT: %other.patt.f3d: %pattern_type.131 = at_binding_pattern other, %other.param_patt.89e [symbolic]
// CHECK:STDOUT: %other.patt.49b: %pattern_type.131 = wrapper_binding_pattern other, %other.param_patt.89e [symbolic]
// CHECK:STDOUT: %.e80: Core.Form = init_form %Self.as_type.48c [symbolic]
// CHECK:STDOUT: %return.param_patt.8c6: %pattern_type.131 = out_param_pattern [symbolic]
// CHECK:STDOUT: %return.patt.169: %pattern_type.131 = return_slot_pattern %return.param_patt.8c6, %Self.as_type.48c [symbolic]
@@ -97,7 +97,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
// CHECK:STDOUT: %Self.as_type.1ce: type = facet_access_type %Self.f80 [symbolic]
// CHECK:STDOUT: %pattern_type.a01: type = pattern_type %Self.as_type.1ce [symbolic]
// CHECK:STDOUT: %self.param_patt.29a: %pattern_type.a01 = value_param_pattern [symbolic]
// CHECK:STDOUT: %self.patt.a95: %pattern_type.a01 = at_binding_pattern self, %self.param_patt.29a [symbolic]
// CHECK:STDOUT: %self.patt.7e4: %pattern_type.a01 = wrapper_binding_pattern self, %self.param_patt.29a [symbolic]
// CHECK:STDOUT: %.184: Core.Form = init_form %T [symbolic]
// CHECK:STDOUT: %pattern_type.51d: type = pattern_type %T [symbolic]
// CHECK:STDOUT: %return.param_patt.41d: %pattern_type.51d = out_param_pattern [symbolic]
@@ -113,7 +113,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
// CHECK:STDOUT: %Self.as_type.5b8: type = facet_access_type %Self.bb1 [symbolic]
// CHECK:STDOUT: %pattern_type.701: type = pattern_type %Self.as_type.5b8 [symbolic]
// CHECK:STDOUT: %self.param_patt.c3f: %pattern_type.701 = value_param_pattern [symbolic]
// CHECK:STDOUT: %self.patt.f5a: %pattern_type.701 = at_binding_pattern self, %self.param_patt.c3f [symbolic]
// CHECK:STDOUT: %self.patt.2f3: %pattern_type.701 = wrapper_binding_pattern self, %self.param_patt.c3f [symbolic]
// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.920: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%T, %Self.bb1) [symbolic]
// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.293: %ImplicitAs.WithSelf.Convert.type.920 = struct_value () [symbolic]
// CHECK:STDOUT: %ImplicitAs.assoc_type.fcc: type = assoc_entity_type @ImplicitAs, @ImplicitAs(%T) [symbolic]
@@ -130,9 +130,9 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
// CHECK:STDOUT: %assoc0.7f8: %AddWith.assoc_type.439 = assoc_entity element0, @AddWith.WithSelf.%AddWith.WithSelf.Op.decl [concrete]
// CHECK:STDOUT: %pattern_type.956: type = pattern_type %i32.builtin [concrete]
// CHECK:STDOUT: %self.param_patt.936: %pattern_type.956 = value_param_pattern [concrete]
// CHECK:STDOUT: %self.patt.703: %pattern_type.956 = at_binding_pattern self, %self.param_patt.936 [concrete]
// CHECK:STDOUT: %self.patt.16e: %pattern_type.956 = wrapper_binding_pattern self, %self.param_patt.936 [concrete]
// CHECK:STDOUT: %other.param_patt.36d: %pattern_type.956 = value_param_pattern [concrete]
// CHECK:STDOUT: %other.patt.760: %pattern_type.956 = at_binding_pattern other, %other.param_patt.36d [concrete]
// CHECK:STDOUT: %other.patt.8f0: %pattern_type.956 = wrapper_binding_pattern other, %other.param_patt.36d [concrete]
// CHECK:STDOUT: %.9cb: Core.Form = init_form %i32.builtin [concrete]
// CHECK:STDOUT: %return.param_patt.903: %pattern_type.956 = out_param_pattern [concrete]
// CHECK:STDOUT: %return.patt.930: %pattern_type.956 = return_slot_pattern %return.param_patt.903, %i32.builtin [concrete]
@@ -150,7 +150,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
// CHECK:STDOUT: %As.assoc_type.7f2: type = assoc_entity_type @As, @As(%i32.builtin) [concrete]
// CHECK:STDOUT: %assoc0.402: %As.assoc_type.7f2 = assoc_entity element0, @As.WithSelf.%As.WithSelf.Convert.decl [concrete]
// CHECK:STDOUT: %self.param_patt.1ca: %pattern_type.dc0 = value_param_pattern [concrete]
// CHECK:STDOUT: %self.patt.cea: %pattern_type.dc0 = at_binding_pattern self, %self.param_patt.1ca [concrete]
// CHECK:STDOUT: %self.patt.d07: %pattern_type.dc0 = wrapper_binding_pattern self, %self.param_patt.1ca [concrete]
// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type: type = fn_type @Core.IntLiteral.as.As.impl.Convert [concrete]
// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert: %Core.IntLiteral.as.As.impl.Convert.type = struct_value () [concrete]
// CHECK:STDOUT: %As.facet: %As.type.dfb = facet_value Core.IntLiteral, (%As.impl_witness) [concrete]
@@ -212,7 +212,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
// CHECK:STDOUT: %IntLiteral: type = alias_binding IntLiteral, %.loc5_35.2 [concrete = Core.IntLiteral]
// CHECK:STDOUT: %Int.decl: %Int.type = fn_decl @Int [concrete = constants.%Int] {
// CHECK:STDOUT: %N.param_patt: %pattern_type.dc0 = value_param_pattern [concrete = constants.%N.param_patt]
// CHECK:STDOUT: %N.patt: %pattern_type.dc0 = at_binding_pattern N, %N.param_patt [concrete = constants.%N.patt]
// CHECK:STDOUT: %N.patt: %pattern_type.dc0 = wrapper_binding_pattern N, %N.param_patt [concrete = constants.%N.patt]
// CHECK:STDOUT: %return.param_patt: %pattern_type.98f = out_param_pattern [concrete = constants.%return.param_patt.70e]
// CHECK:STDOUT: %return.patt: %pattern_type.98f = return_slot_pattern %return.param_patt, %.loc6_26.1 [concrete = constants.%return.patt.3ae]
// CHECK:STDOUT: } {
@@ -296,9 +296,9 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
// CHECK:STDOUT: !with Self:
// CHECK:STDOUT: %AddWith.WithSelf.Op.decl: @AddWith.WithSelf.%AddWith.WithSelf.Op.type (%AddWith.WithSelf.Op.type.e49) = fn_decl @AddWith.WithSelf.Op [symbolic = @AddWith.WithSelf.%AddWith.WithSelf.Op (constants.%AddWith.WithSelf.Op.adc)] {
// CHECK:STDOUT: %self.param_patt.loc9_9.1: @AddWith.WithSelf.Op.%pattern_type (%pattern_type.131) = value_param_pattern [symbolic = %self.param_patt.loc9_9.2 (constants.%self.param_patt.72e)]
// CHECK:STDOUT: %self.patt.loc9_9.1: @AddWith.WithSelf.Op.%pattern_type (%pattern_type.131) = at_binding_pattern self, %self.param_patt.loc9_9.1 [symbolic = %self.patt.loc9_9.2 (constants.%self.patt.ac5)]
// CHECK:STDOUT: %self.patt.loc9_9.1: @AddWith.WithSelf.Op.%pattern_type (%pattern_type.131) = wrapper_binding_pattern self, %self.param_patt.loc9_9.1 [symbolic = %self.patt.loc9_9.2 (constants.%self.patt.f75)]
// CHECK:STDOUT: %other.param_patt.loc9_20.1: @AddWith.WithSelf.Op.%pattern_type (%pattern_type.131) = value_param_pattern [symbolic = %other.param_patt.loc9_20.2 (constants.%other.param_patt.89e)]
// CHECK:STDOUT: %other.patt.loc9_20.1: @AddWith.WithSelf.Op.%pattern_type (%pattern_type.131) = at_binding_pattern other, %other.param_patt.loc9_20.1 [symbolic = %other.patt.loc9_20.2 (constants.%other.patt.f3d)]
// CHECK:STDOUT: %other.patt.loc9_20.1: @AddWith.WithSelf.Op.%pattern_type (%pattern_type.131) = wrapper_binding_pattern other, %other.param_patt.loc9_20.1 [symbolic = %other.patt.loc9_20.2 (constants.%other.patt.49b)]
// CHECK:STDOUT: %return.param_patt.loc9_31.1: @AddWith.WithSelf.Op.%pattern_type (%pattern_type.131) = out_param_pattern [symbolic = %return.param_patt.loc9_31.2 (constants.%return.param_patt.8c6)]
// CHECK:STDOUT: %return.patt.loc9_28.1: @AddWith.WithSelf.Op.%pattern_type (%pattern_type.131) = return_slot_pattern %return.param_patt.loc9_31.1, %.loc9_31.3 [symbolic = %return.patt.loc9_28.2 (constants.%return.patt.169)]
// CHECK:STDOUT: } {
@@ -352,7 +352,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
// CHECK:STDOUT: !with Self:
// CHECK:STDOUT: %As.WithSelf.Convert.decl: @As.WithSelf.%As.WithSelf.Convert.type (%As.WithSelf.Convert.type.640) = fn_decl @As.WithSelf.Convert [symbolic = @As.WithSelf.%As.WithSelf.Convert (constants.%As.WithSelf.Convert.896)] {
// CHECK:STDOUT: %self.param_patt.loc13_14.1: @As.WithSelf.Convert.%pattern_type.loc13_14 (%pattern_type.a01) = value_param_pattern [symbolic = %self.param_patt.loc13_14.2 (constants.%self.param_patt.29a)]
// CHECK:STDOUT: %self.patt.loc13_14.1: @As.WithSelf.Convert.%pattern_type.loc13_14 (%pattern_type.a01) = at_binding_pattern self, %self.param_patt.loc13_14.1 [symbolic = %self.patt.loc13_14.2 (constants.%self.patt.a95)]
// CHECK:STDOUT: %self.patt.loc13_14.1: @As.WithSelf.Convert.%pattern_type.loc13_14 (%pattern_type.a01) = wrapper_binding_pattern self, %self.param_patt.loc13_14.1 [symbolic = %self.patt.loc13_14.2 (constants.%self.patt.7e4)]
// CHECK:STDOUT: %return.param_patt.loc13_23.1: @As.WithSelf.Convert.%pattern_type.loc13_23 (%pattern_type.51d) = out_param_pattern [symbolic = %return.param_patt.loc13_23.2 (constants.%return.param_patt.41d)]
// CHECK:STDOUT: %return.patt.loc13_20.1: @As.WithSelf.Convert.%pattern_type.loc13_23 (%pattern_type.51d) = return_slot_pattern %return.param_patt.loc13_23.1, %T.ref [symbolic = %return.patt.loc13_20.2 (constants.%return.patt.b39)]
// CHECK:STDOUT: } {
@@ -397,7 +397,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
// CHECK:STDOUT: !with Self:
// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.decl: @ImplicitAs.WithSelf.%ImplicitAs.WithSelf.Convert.type (%ImplicitAs.WithSelf.Convert.type.920) = fn_decl @ImplicitAs.WithSelf.Convert [symbolic = @ImplicitAs.WithSelf.%ImplicitAs.WithSelf.Convert (constants.%ImplicitAs.WithSelf.Convert.293)] {
// CHECK:STDOUT: %self.param_patt.loc17_14.1: @ImplicitAs.WithSelf.Convert.%pattern_type.loc17_14 (%pattern_type.701) = value_param_pattern [symbolic = %self.param_patt.loc17_14.2 (constants.%self.param_patt.c3f)]
// CHECK:STDOUT: %self.patt.loc17_14.1: @ImplicitAs.WithSelf.Convert.%pattern_type.loc17_14 (%pattern_type.701) = at_binding_pattern self, %self.param_patt.loc17_14.1 [symbolic = %self.patt.loc17_14.2 (constants.%self.patt.f5a)]
// CHECK:STDOUT: %self.patt.loc17_14.1: @ImplicitAs.WithSelf.Convert.%pattern_type.loc17_14 (%pattern_type.701) = wrapper_binding_pattern self, %self.param_patt.loc17_14.1 [symbolic = %self.patt.loc17_14.2 (constants.%self.patt.2f3)]
// CHECK:STDOUT: %return.param_patt.loc17_23.1: @ImplicitAs.WithSelf.Convert.%pattern_type.loc17_23 (%pattern_type.51d) = out_param_pattern [symbolic = %return.param_patt.loc17_23.2 (constants.%return.param_patt.41d)]
// CHECK:STDOUT: %return.patt.loc17_20.1: @ImplicitAs.WithSelf.Convert.%pattern_type.loc17_23 (%pattern_type.51d) = return_slot_pattern %return.param_patt.loc17_23.1, %T.ref [symbolic = %return.patt.loc17_20.2 (constants.%return.patt.b39)]
// CHECK:STDOUT: } {
@@ -431,9 +431,9 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
// CHECK:STDOUT: impl @i32.builtin.as.AddWith.impl: %.loc20_6 as %AddWith.type {
// CHECK:STDOUT: %i32.builtin.as.AddWith.impl.Op.decl: %i32.builtin.as.AddWith.impl.Op.type = fn_decl @i32.builtin.as.AddWith.impl.Op [concrete = constants.%i32.builtin.as.AddWith.impl.Op] {
// CHECK:STDOUT: %self.param_patt: %pattern_type.956 = value_param_pattern [concrete = constants.%self.param_patt.936]
// CHECK:STDOUT: %self.patt: %pattern_type.956 = at_binding_pattern self, %self.param_patt [concrete = constants.%self.patt.703]
// CHECK:STDOUT: %self.patt: %pattern_type.956 = wrapper_binding_pattern self, %self.param_patt [concrete = constants.%self.patt.16e]
// CHECK:STDOUT: %other.param_patt: %pattern_type.956 = value_param_pattern [concrete = constants.%other.param_patt.36d]
// CHECK:STDOUT: %other.patt: %pattern_type.956 = at_binding_pattern other, %other.param_patt [concrete = constants.%other.patt.760]
// CHECK:STDOUT: %other.patt: %pattern_type.956 = wrapper_binding_pattern other, %other.param_patt [concrete = constants.%other.patt.8f0]
// CHECK:STDOUT: %return.param_patt: %pattern_type.956 = out_param_pattern [concrete = constants.%return.param_patt.903]
// CHECK:STDOUT: %return.patt: %pattern_type.956 = return_slot_pattern %return.param_patt, %Self.ref.loc21_31 [concrete = constants.%return.patt.930]
// CHECK:STDOUT: } {
@@ -460,7 +460,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
// CHECK:STDOUT: impl @Core.IntLiteral.as.As.impl: %IntLiteral.ref as %As.type {
// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.decl: %Core.IntLiteral.as.As.impl.Convert.type = fn_decl @Core.IntLiteral.as.As.impl.Convert [concrete = constants.%Core.IntLiteral.as.As.impl.Convert] {
// CHECK:STDOUT: %self.param_patt: %pattern_type.dc0 = value_param_pattern [concrete = constants.%self.param_patt.1ca]
// CHECK:STDOUT: %self.patt: %pattern_type.dc0 = at_binding_pattern self, %self.param_patt [concrete = constants.%self.patt.cea]
// CHECK:STDOUT: %self.patt: %pattern_type.dc0 = wrapper_binding_pattern self, %self.param_patt [concrete = constants.%self.patt.d07]
// CHECK:STDOUT: %return.param_patt: %pattern_type.956 = out_param_pattern [concrete = constants.%return.param_patt.903]
// CHECK:STDOUT: %return.patt: %pattern_type.956 = return_slot_pattern %return.param_patt, %.loc25_23.1 [concrete = constants.%return.patt.930]
// CHECK:STDOUT: } {
@@ -484,7 +484,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
// CHECK:STDOUT: impl @Core.IntLiteral.as.ImplicitAs.impl: %IntLiteral.ref as %ImplicitAs.type {
// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.decl: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type = fn_decl @Core.IntLiteral.as.ImplicitAs.impl.Convert [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] {
// CHECK:STDOUT: %self.param_patt: %pattern_type.dc0 = value_param_pattern [concrete = constants.%self.param_patt.1ca]
// CHECK:STDOUT: %self.patt: %pattern_type.dc0 = at_binding_pattern self, %self.param_patt [concrete = constants.%self.patt.cea]
// CHECK:STDOUT: %self.patt: %pattern_type.dc0 = wrapper_binding_pattern self, %self.param_patt [concrete = constants.%self.patt.d07]
// CHECK:STDOUT: %return.param_patt: %pattern_type.956 = out_param_pattern [concrete = constants.%return.param_patt.903]
// CHECK:STDOUT: %return.patt: %pattern_type.956 = return_slot_pattern %return.param_patt, %.loc29_23.1 [concrete = constants.%return.patt.930]
// CHECK:STDOUT: } {
@@ -508,7 +508,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
// CHECK:STDOUT: impl @i32.builtin.as.ImplicitAs.impl: %.loc32 as %ImplicitAs.type {
// CHECK:STDOUT: %i32.builtin.as.ImplicitAs.impl.Convert.decl: %i32.builtin.as.ImplicitAs.impl.Convert.type = fn_decl @i32.builtin.as.ImplicitAs.impl.Convert [concrete = constants.%i32.builtin.as.ImplicitAs.impl.Convert] {
// CHECK:STDOUT: %self.param_patt: %pattern_type.956 = value_param_pattern [concrete = constants.%self.param_patt.936]
// CHECK:STDOUT: %self.patt: %pattern_type.956 = at_binding_pattern self, %self.param_patt [concrete = constants.%self.patt.703]
// CHECK:STDOUT: %self.patt: %pattern_type.956 = wrapper_binding_pattern self, %self.param_patt [concrete = constants.%self.patt.16e]
// CHECK:STDOUT: %return.param_patt: %pattern_type.dc0 = out_param_pattern [concrete = constants.%return.param_patt.eab]
// CHECK:STDOUT: %return.patt: %pattern_type.dc0 = return_slot_pattern %return.param_patt, %IntLiteral.ref [concrete = constants.%return.patt.cd4]
// CHECK:STDOUT: } {
@@ -541,9 +541,9 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
// CHECK:STDOUT: %Self.as_type.loc9_9.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc9_9.1 (constants.%Self.as_type.48c)]
// CHECK:STDOUT: %pattern_type: type = pattern_type %Self.as_type.loc9_9.1 [symbolic = %pattern_type (constants.%pattern_type.131)]
// CHECK:STDOUT: %self.param_patt.loc9_9.2: @AddWith.WithSelf.Op.%pattern_type (%pattern_type.131) = value_param_pattern [symbolic = %self.param_patt.loc9_9.2 (constants.%self.param_patt.72e)]
// CHECK:STDOUT: %self.patt.loc9_9.2: @AddWith.WithSelf.Op.%pattern_type (%pattern_type.131) = at_binding_pattern self, %self.param_patt.loc9_9.2 [symbolic = %self.patt.loc9_9.2 (constants.%self.patt.ac5)]
// CHECK:STDOUT: %self.patt.loc9_9.2: @AddWith.WithSelf.Op.%pattern_type (%pattern_type.131) = wrapper_binding_pattern self, %self.param_patt.loc9_9.2 [symbolic = %self.patt.loc9_9.2 (constants.%self.patt.f75)]
// CHECK:STDOUT: %other.param_patt.loc9_20.2: @AddWith.WithSelf.Op.%pattern_type (%pattern_type.131) = value_param_pattern [symbolic = %other.param_patt.loc9_20.2 (constants.%other.param_patt.89e)]
// CHECK:STDOUT: %other.patt.loc9_20.2: @AddWith.WithSelf.Op.%pattern_type (%pattern_type.131) = at_binding_pattern other, %other.param_patt.loc9_20.2 [symbolic = %other.patt.loc9_20.2 (constants.%other.patt.f3d)]
// CHECK:STDOUT: %other.patt.loc9_20.2: @AddWith.WithSelf.Op.%pattern_type (%pattern_type.131) = wrapper_binding_pattern other, %other.param_patt.loc9_20.2 [symbolic = %other.patt.loc9_20.2 (constants.%other.patt.49b)]
// CHECK:STDOUT: %.loc9_31.1: Core.Form = init_form %Self.as_type.loc9_9.1 [symbolic = %.loc9_31.1 (constants.%.e80)]
// CHECK:STDOUT: %return.param_patt.loc9_31.2: @AddWith.WithSelf.Op.%pattern_type (%pattern_type.131) = out_param_pattern [symbolic = %return.param_patt.loc9_31.2 (constants.%return.param_patt.8c6)]
// CHECK:STDOUT: %return.patt.loc9_28.2: @AddWith.WithSelf.Op.%pattern_type (%pattern_type.131) = return_slot_pattern %return.param_patt.loc9_31.2, %Self.as_type.loc9_9.1 [symbolic = %return.patt.loc9_28.2 (constants.%return.patt.169)]
@@ -558,7 +558,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
// CHECK:STDOUT: %Self.as_type.loc13_14.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc13_14.1 (constants.%Self.as_type.1ce)]
// CHECK:STDOUT: %pattern_type.loc13_14: type = pattern_type %Self.as_type.loc13_14.1 [symbolic = %pattern_type.loc13_14 (constants.%pattern_type.a01)]
// CHECK:STDOUT: %self.param_patt.loc13_14.2: @As.WithSelf.Convert.%pattern_type.loc13_14 (%pattern_type.a01) = value_param_pattern [symbolic = %self.param_patt.loc13_14.2 (constants.%self.param_patt.29a)]
// CHECK:STDOUT: %self.patt.loc13_14.2: @As.WithSelf.Convert.%pattern_type.loc13_14 (%pattern_type.a01) = at_binding_pattern self, %self.param_patt.loc13_14.2 [symbolic = %self.patt.loc13_14.2 (constants.%self.patt.a95)]
// CHECK:STDOUT: %self.patt.loc13_14.2: @As.WithSelf.Convert.%pattern_type.loc13_14 (%pattern_type.a01) = wrapper_binding_pattern self, %self.param_patt.loc13_14.2 [symbolic = %self.patt.loc13_14.2 (constants.%self.patt.7e4)]
// CHECK:STDOUT: %.loc13_23.1: Core.Form = init_form %T [symbolic = %.loc13_23.1 (constants.%.184)]
// CHECK:STDOUT: %pattern_type.loc13_23: type = pattern_type %T [symbolic = %pattern_type.loc13_23 (constants.%pattern_type.51d)]
// CHECK:STDOUT: %return.param_patt.loc13_23.2: @As.WithSelf.Convert.%pattern_type.loc13_23 (%pattern_type.51d) = out_param_pattern [symbolic = %return.param_patt.loc13_23.2 (constants.%return.param_patt.41d)]
@@ -574,7 +574,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
// CHECK:STDOUT: %Self.as_type.loc17_14.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc17_14.1 (constants.%Self.as_type.5b8)]
// CHECK:STDOUT: %pattern_type.loc17_14: type = pattern_type %Self.as_type.loc17_14.1 [symbolic = %pattern_type.loc17_14 (constants.%pattern_type.701)]
// CHECK:STDOUT: %self.param_patt.loc17_14.2: @ImplicitAs.WithSelf.Convert.%pattern_type.loc17_14 (%pattern_type.701) = value_param_pattern [symbolic = %self.param_patt.loc17_14.2 (constants.%self.param_patt.c3f)]
// CHECK:STDOUT: %self.patt.loc17_14.2: @ImplicitAs.WithSelf.Convert.%pattern_type.loc17_14 (%pattern_type.701) = at_binding_pattern self, %self.param_patt.loc17_14.2 [symbolic = %self.patt.loc17_14.2 (constants.%self.patt.f5a)]
// CHECK:STDOUT: %self.patt.loc17_14.2: @ImplicitAs.WithSelf.Convert.%pattern_type.loc17_14 (%pattern_type.701) = wrapper_binding_pattern self, %self.param_patt.loc17_14.2 [symbolic = %self.patt.loc17_14.2 (constants.%self.patt.2f3)]
// CHECK:STDOUT: %.loc17_23.1: Core.Form = init_form %T [symbolic = %.loc17_23.1 (constants.%.184)]
// CHECK:STDOUT: %pattern_type.loc17_23: type = pattern_type %T [symbolic = %pattern_type.loc17_23 (constants.%pattern_type.51d)]
// CHECK:STDOUT: %return.param_patt.loc17_23.2: @ImplicitAs.WithSelf.Convert.%pattern_type.loc17_23 (%pattern_type.51d) = out_param_pattern [symbolic = %return.param_patt.loc17_23.2 (constants.%return.param_patt.41d)]
@@ -605,9 +605,9 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
// CHECK:STDOUT: %Self.as_type.loc9_9.1 => constants.%Self.as_type.48c
// CHECK:STDOUT: %pattern_type => constants.%pattern_type.131
// CHECK:STDOUT: %self.param_patt.loc9_9.2 => constants.%self.param_patt.72e
// CHECK:STDOUT: %self.patt.loc9_9.2 => constants.%self.patt.ac5
// CHECK:STDOUT: %self.patt.loc9_9.2 => constants.%self.patt.f75
// CHECK:STDOUT: %other.param_patt.loc9_20.2 => constants.%other.param_patt.89e
// CHECK:STDOUT: %other.patt.loc9_20.2 => constants.%other.patt.f3d
// CHECK:STDOUT: %other.patt.loc9_20.2 => constants.%other.patt.49b
// CHECK:STDOUT: %.loc9_31.1 => constants.%.e80
// CHECK:STDOUT: %return.param_patt.loc9_31.2 => constants.%return.param_patt.8c6
// CHECK:STDOUT: %return.patt.loc9_28.2 => constants.%return.patt.169
@@ -627,7 +627,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
// CHECK:STDOUT: %Self.as_type.loc13_14.1 => constants.%Self.as_type.1ce
// CHECK:STDOUT: %pattern_type.loc13_14 => constants.%pattern_type.a01
// CHECK:STDOUT: %self.param_patt.loc13_14.2 => constants.%self.param_patt.29a
// CHECK:STDOUT: %self.patt.loc13_14.2 => constants.%self.patt.a95
// CHECK:STDOUT: %self.patt.loc13_14.2 => constants.%self.patt.7e4
// CHECK:STDOUT: %.loc13_23.1 => constants.%.184
// CHECK:STDOUT: %pattern_type.loc13_23 => constants.%pattern_type.51d
// CHECK:STDOUT: %return.param_patt.loc13_23.2 => constants.%return.param_patt.41d
@@ -648,7 +648,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
// CHECK:STDOUT: %Self.as_type.loc17_14.1 => constants.%Self.as_type.5b8
// CHECK:STDOUT: %pattern_type.loc17_14 => constants.%pattern_type.701
// CHECK:STDOUT: %self.param_patt.loc17_14.2 => constants.%self.param_patt.c3f
// CHECK:STDOUT: %self.patt.loc17_14.2 => constants.%self.patt.f5a
// CHECK:STDOUT: %self.patt.loc17_14.2 => constants.%self.patt.2f3
// CHECK:STDOUT: %.loc17_23.1 => constants.%.184
// CHECK:STDOUT: %pattern_type.loc17_23 => constants.%pattern_type.51d
// CHECK:STDOUT: %return.param_patt.loc17_23.2 => constants.%return.param_patt.41d
@@ -693,9 +693,9 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
// CHECK:STDOUT: %Self.as_type.loc9_9.1 => constants.%i32.builtin
// CHECK:STDOUT: %pattern_type => constants.%pattern_type.956
// CHECK:STDOUT: %self.param_patt.loc9_9.2 => constants.%self.param_patt.936
// CHECK:STDOUT: %self.patt.loc9_9.2 => constants.%self.patt.703
// CHECK:STDOUT: %self.patt.loc9_9.2 => constants.%self.patt.16e
// CHECK:STDOUT: %other.param_patt.loc9_20.2 => constants.%other.param_patt.36d
// CHECK:STDOUT: %other.patt.loc9_20.2 => constants.%other.patt.760
// CHECK:STDOUT: %other.patt.loc9_20.2 => constants.%other.patt.8f0
// CHECK:STDOUT: %.loc9_31.1 => constants.%.9cb
// CHECK:STDOUT: %return.param_patt.loc9_31.2 => constants.%return.param_patt.903
// CHECK:STDOUT: %return.patt.loc9_28.2 => constants.%return.patt.930
@@ -739,7 +739,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
// CHECK:STDOUT: %Self.as_type.loc13_14.1 => Core.IntLiteral
// CHECK:STDOUT: %pattern_type.loc13_14 => constants.%pattern_type.dc0
// CHECK:STDOUT: %self.param_patt.loc13_14.2 => constants.%self.param_patt.1ca
// CHECK:STDOUT: %self.patt.loc13_14.2 => constants.%self.patt.cea
// CHECK:STDOUT: %self.patt.loc13_14.2 => constants.%self.patt.d07
// CHECK:STDOUT: %.loc13_23.1 => constants.%.9cb
// CHECK:STDOUT: %pattern_type.loc13_23 => constants.%pattern_type.956
// CHECK:STDOUT: %return.param_patt.loc13_23.2 => constants.%return.param_patt.903
@@ -784,7 +784,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
// CHECK:STDOUT: %Self.as_type.loc17_14.1 => Core.IntLiteral
// CHECK:STDOUT: %pattern_type.loc17_14 => constants.%pattern_type.dc0
// CHECK:STDOUT: %self.param_patt.loc17_14.2 => constants.%self.param_patt.1ca
// CHECK:STDOUT: %self.patt.loc17_14.2 => constants.%self.patt.cea
// CHECK:STDOUT: %self.patt.loc17_14.2 => constants.%self.patt.d07
// CHECK:STDOUT: %.loc17_23.1 => constants.%.9cb
// CHECK:STDOUT: %pattern_type.loc17_23 => constants.%pattern_type.956
// CHECK:STDOUT: %return.param_patt.loc17_23.2 => constants.%return.param_patt.903
@@ -829,7 +829,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
// CHECK:STDOUT: %Self.as_type.loc17_14.1 => constants.%i32.builtin
// CHECK:STDOUT: %pattern_type.loc17_14 => constants.%pattern_type.956
// CHECK:STDOUT: %self.param_patt.loc17_14.2 => constants.%self.param_patt.936
// CHECK:STDOUT: %self.patt.loc17_14.2 => constants.%self.patt.703
// CHECK:STDOUT: %self.patt.loc17_14.2 => constants.%self.patt.16e
// CHECK:STDOUT: %.loc17_23.1 => constants.%.f7d
// CHECK:STDOUT: %pattern_type.loc17_23 => constants.%pattern_type.dc0
// CHECK:STDOUT: %return.param_patt.loc17_23.2 => constants.%return.param_patt.eab
@@ -860,7 +860,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
// CHECK:STDOUT: %Self.as_type.d4a: type = facet_access_type %Self.37a [symbolic]
// CHECK:STDOUT: %pattern_type.e33: type = pattern_type %Self.as_type.d4a [symbolic]
// CHECK:STDOUT: %self.param_patt.9e9: %pattern_type.e33 = value_param_pattern [symbolic]
// CHECK:STDOUT: %self.patt.51c: %pattern_type.e33 = at_binding_pattern self, %self.param_patt.9e9 [symbolic]
// CHECK:STDOUT: %self.patt.f1a: %pattern_type.e33 = wrapper_binding_pattern self, %self.param_patt.9e9 [symbolic]
// CHECK:STDOUT: %.184: Core.Form = init_form %T [symbolic]
// CHECK:STDOUT: %As.type.dfb: type = facet_type <@As, @As(%i32.builtin)> [concrete]
// CHECK:STDOUT: %Self.256: %As.type.dfb = symbolic_binding Self, 1 [symbolic]
@@ -893,10 +893,10 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
// CHECK:STDOUT: %return.param_patt.7c8: %pattern_type.aed = out_param_pattern [symbolic]
// CHECK:STDOUT: %return.patt.1c8: %pattern_type.aed = return_slot_pattern %return.param_patt.7c8, invalid [symbolic]
// CHECK:STDOUT: %self.param_patt.aae: %pattern_type.aed = value_param_pattern [symbolic]
// CHECK:STDOUT: %self.patt.c4d: %pattern_type.aed = at_binding_pattern self, %self.param_patt.aae [symbolic]
// CHECK:STDOUT: %self.patt.f45: %pattern_type.aed = wrapper_binding_pattern self, %self.param_patt.aae [symbolic]
// CHECK:STDOUT: %.4cc: Core.Form = init_form %Self.as_type.331 [symbolic]
// CHECK:STDOUT: %other.param_patt.076: %pattern_type.aed = value_param_pattern [symbolic]
// CHECK:STDOUT: %other.patt.667: %pattern_type.aed = at_binding_pattern other, %other.param_patt.076 [symbolic]
// CHECK:STDOUT: %other.patt.f97: %pattern_type.aed = wrapper_binding_pattern other, %other.param_patt.076 [symbolic]
// CHECK:STDOUT: %AddWith.type.7c6: type = facet_type <@AddWith, @AddWith(%i32.builtin)> [concrete]
// CHECK:STDOUT: %Self.bd2: %AddWith.type.7c6 = symbolic_binding Self, 1 [symbolic]
// CHECK:STDOUT: %AddWith.WithSelf.Op.type.0ff: type = fn_type @AddWith.WithSelf.Op, @AddWith.WithSelf(%i32.builtin, %Self.96a) [symbolic]
@@ -923,7 +923,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
// CHECK:STDOUT: %Self.as_type.ef0: type = facet_access_type %Self.294 [symbolic]
// CHECK:STDOUT: %pattern_type.20e: type = pattern_type %Self.as_type.ef0 [symbolic]
// CHECK:STDOUT: %self.param_patt.360: %pattern_type.20e = value_param_pattern [symbolic]
// CHECK:STDOUT: %self.patt.25f: %pattern_type.20e = at_binding_pattern self, %self.param_patt.360 [symbolic]
// CHECK:STDOUT: %self.patt.04e: %pattern_type.20e = wrapper_binding_pattern self, %self.param_patt.360 [symbolic]
// CHECK:STDOUT: %ImplicitAs.type.7cb: type = facet_type <@ImplicitAs, @ImplicitAs(Core.IntLiteral)> [concrete]
// CHECK:STDOUT: %Self.f63: %ImplicitAs.type.7cb = symbolic_binding Self, 1 [symbolic]
// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.e70: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %Self.294) [symbolic]
@@ -1154,7 +1154,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
// CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self [symbolic = %Self.as_type (constants.%Self.as_type.d4a)]
// CHECK:STDOUT: %pattern_type.1: type = pattern_type %Self.as_type [symbolic = %pattern_type.1 (constants.%pattern_type.e33)]
// CHECK:STDOUT: %self.param_patt: @As.WithSelf.Convert.%pattern_type.1 (%pattern_type.e33) = value_param_pattern [symbolic = %self.param_patt (constants.%self.param_patt.9e9)]
// CHECK:STDOUT: %self.patt: @As.WithSelf.Convert.%pattern_type.1 (%pattern_type.e33) = at_binding_pattern self, %self.param_patt [symbolic = %self.patt (constants.%self.patt.51c)]
// CHECK:STDOUT: %self.patt: @As.WithSelf.Convert.%pattern_type.1 (%pattern_type.e33) = wrapper_binding_pattern self, %self.param_patt [symbolic = %self.patt (constants.%self.patt.f1a)]
// CHECK:STDOUT: %.1: Core.Form = init_form %T [symbolic = %.1 (constants.%.184)]
// CHECK:STDOUT: %pattern_type.2: type = pattern_type %T [symbolic = %pattern_type.2 (constants.%pattern_type.51d)]
// CHECK:STDOUT: %return.param_patt: @As.WithSelf.Convert.%pattern_type.2 (%pattern_type.51d) = out_param_pattern [symbolic = %return.param_patt (constants.%return.param_patt.41d)]
@@ -1172,9 +1172,9 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
// CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self [symbolic = %Self.as_type (constants.%Self.as_type.331)]
// CHECK:STDOUT: %pattern_type: type = pattern_type %Self.as_type [symbolic = %pattern_type (constants.%pattern_type.aed)]
// CHECK:STDOUT: %self.param_patt: @AddWith.WithSelf.Op.%pattern_type (%pattern_type.aed) = value_param_pattern [symbolic = %self.param_patt (constants.%self.param_patt.aae)]
// CHECK:STDOUT: %self.patt: @AddWith.WithSelf.Op.%pattern_type (%pattern_type.aed) = at_binding_pattern self, %self.param_patt [symbolic = %self.patt (constants.%self.patt.c4d)]
// CHECK:STDOUT: %self.patt: @AddWith.WithSelf.Op.%pattern_type (%pattern_type.aed) = wrapper_binding_pattern self, %self.param_patt [symbolic = %self.patt (constants.%self.patt.f45)]
// CHECK:STDOUT: %other.param_patt: @AddWith.WithSelf.Op.%pattern_type (%pattern_type.aed) = value_param_pattern [symbolic = %other.param_patt (constants.%other.param_patt.076)]
// CHECK:STDOUT: %other.patt: @AddWith.WithSelf.Op.%pattern_type (%pattern_type.aed) = at_binding_pattern other, %other.param_patt [symbolic = %other.patt (constants.%other.patt.667)]
// CHECK:STDOUT: %other.patt: @AddWith.WithSelf.Op.%pattern_type (%pattern_type.aed) = wrapper_binding_pattern other, %other.param_patt [symbolic = %other.patt (constants.%other.patt.f97)]
// CHECK:STDOUT: %.1: Core.Form = init_form %Self.as_type [symbolic = %.1 (constants.%.4cc)]
// CHECK:STDOUT: %return.param_patt: @AddWith.WithSelf.Op.%pattern_type (%pattern_type.aed) = out_param_pattern [symbolic = %return.param_patt (constants.%return.param_patt.7c8)]
// CHECK:STDOUT: %return.patt: @AddWith.WithSelf.Op.%pattern_type (%pattern_type.aed) = return_slot_pattern %return.param_patt, invalid [symbolic = %return.patt (constants.%return.patt.1c8)]
@@ -1191,7 +1191,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
// CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self [symbolic = %Self.as_type (constants.%Self.as_type.ef0)]
// CHECK:STDOUT: %pattern_type.1: type = pattern_type %Self.as_type [symbolic = %pattern_type.1 (constants.%pattern_type.20e)]
// CHECK:STDOUT: %self.param_patt: @ImplicitAs.WithSelf.Convert.%pattern_type.1 (%pattern_type.20e) = value_param_pattern [symbolic = %self.param_patt (constants.%self.param_patt.360)]
// CHECK:STDOUT: %self.patt: @ImplicitAs.WithSelf.Convert.%pattern_type.1 (%pattern_type.20e) = at_binding_pattern self, %self.param_patt [symbolic = %self.patt (constants.%self.patt.25f)]
// CHECK:STDOUT: %self.patt: @ImplicitAs.WithSelf.Convert.%pattern_type.1 (%pattern_type.20e) = wrapper_binding_pattern self, %self.param_patt [symbolic = %self.patt (constants.%self.patt.04e)]
// CHECK:STDOUT: %.1: Core.Form = init_form %T [symbolic = %.1 (constants.%.184)]
// CHECK:STDOUT: %pattern_type.2: type = pattern_type %T [symbolic = %pattern_type.2 (constants.%pattern_type.51d)]
// CHECK:STDOUT: %return.param_patt: @ImplicitAs.WithSelf.Convert.%pattern_type.2 (%pattern_type.51d) = out_param_pattern [symbolic = %return.param_patt (constants.%return.param_patt.41d)]
@@ -1263,7 +1263,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
// CHECK:STDOUT: %Self.as_type => constants.%Self.as_type.d4a
// CHECK:STDOUT: %pattern_type.1 => constants.%pattern_type.e33
// CHECK:STDOUT: %self.param_patt => constants.%self.param_patt.9e9
// CHECK:STDOUT: %self.patt => constants.%self.patt.51c
// CHECK:STDOUT: %self.patt => constants.%self.patt.f1a
// CHECK:STDOUT: %.1 => constants.%.184
// CHECK:STDOUT: %pattern_type.2 => constants.%pattern_type.51d
// CHECK:STDOUT: %return.param_patt => constants.%return.param_patt.41d
@@ -1315,9 +1315,9 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
// CHECK:STDOUT: %Self.as_type => constants.%Self.as_type.331
// CHECK:STDOUT: %pattern_type => constants.%pattern_type.aed
// CHECK:STDOUT: %self.param_patt => constants.%self.param_patt.aae
// CHECK:STDOUT: %self.patt => constants.%self.patt.c4d
// CHECK:STDOUT: %self.patt => constants.%self.patt.f45
// CHECK:STDOUT: %other.param_patt => constants.%other.param_patt.076
// CHECK:STDOUT: %other.patt => constants.%other.patt.667
// CHECK:STDOUT: %other.patt => constants.%other.patt.f97
// CHECK:STDOUT: %.1 => constants.%.4cc
// CHECK:STDOUT: %return.param_patt => constants.%return.param_patt.7c8
// CHECK:STDOUT: %return.patt => constants.%return.patt.1c8
@@ -1368,7 +1368,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
// CHECK:STDOUT: %Self.as_type => constants.%Self.as_type.ef0
// CHECK:STDOUT: %pattern_type.1 => constants.%pattern_type.20e
// CHECK:STDOUT: %self.param_patt => constants.%self.param_patt.360
// CHECK:STDOUT: %self.patt => constants.%self.patt.25f
// CHECK:STDOUT: %self.patt => constants.%self.patt.04e
// CHECK:STDOUT: %.1 => constants.%.184
// CHECK:STDOUT: %pattern_type.2 => constants.%pattern_type.51d
// CHECK:STDOUT: %return.param_patt => constants.%return.param_patt.41d
@@ -23,9 +23,9 @@ fn Add(a: i32, b: i32) -> i32 = "int.sadd";
// CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete]
// CHECK:STDOUT: %pattern_type.6b6: type = pattern_type %i32 [concrete]
// CHECK:STDOUT: %a.param_patt: %pattern_type.6b6 = value_param_pattern [concrete]
// CHECK:STDOUT: %a.patt: %pattern_type.6b6 = at_binding_pattern a, %a.param_patt [concrete]
// CHECK:STDOUT: %a.patt: %pattern_type.6b6 = wrapper_binding_pattern a, %a.param_patt [concrete]
// CHECK:STDOUT: %b.param_patt: %pattern_type.6b6 = value_param_pattern [concrete]
// CHECK:STDOUT: %b.patt: %pattern_type.6b6 = at_binding_pattern b, %b.param_patt [concrete]
// CHECK:STDOUT: %b.patt: %pattern_type.6b6 = wrapper_binding_pattern b, %b.param_patt [concrete]
// CHECK:STDOUT: %.795: Core.Form = init_form %i32 [concrete]
// CHECK:STDOUT: %return.param_patt: %pattern_type.6b6 = out_param_pattern [concrete]
// CHECK:STDOUT: %return.patt: %pattern_type.6b6 = return_slot_pattern %return.param_patt, %i32 [concrete]
@@ -50,9 +50,9 @@ fn Add(a: i32, b: i32) -> i32 = "int.sadd";
// CHECK:STDOUT: %Core.import = import Core
// CHECK:STDOUT: %Add.decl: %Add.type = fn_decl @Add [concrete = constants.%Add] {
// CHECK:STDOUT: %a.param_patt: %pattern_type.6b6 = value_param_pattern [concrete = constants.%a.param_patt]
// CHECK:STDOUT: %a.patt: %pattern_type.6b6 = at_binding_pattern a, %a.param_patt [concrete = constants.%a.patt]
// CHECK:STDOUT: %a.patt: %pattern_type.6b6 = wrapper_binding_pattern a, %a.param_patt [concrete = constants.%a.patt]
// CHECK:STDOUT: %b.param_patt: %pattern_type.6b6 = value_param_pattern [concrete = constants.%b.param_patt]
// CHECK:STDOUT: %b.patt: %pattern_type.6b6 = at_binding_pattern b, %b.param_patt [concrete = constants.%b.patt]
// CHECK:STDOUT: %b.patt: %pattern_type.6b6 = wrapper_binding_pattern b, %b.param_patt [concrete = constants.%b.patt]
// CHECK:STDOUT: %return.param_patt: %pattern_type.6b6 = out_param_pattern [concrete = constants.%return.param_patt]
// CHECK:STDOUT: %return.patt: %pattern_type.6b6 = return_slot_pattern %return.param_patt, %i32.loc15_27 [concrete = constants.%return.patt]
// CHECK:STDOUT: } {
@@ -52,9 +52,9 @@ fn C(n: i32, m: i32) -> i32 = "int.sadd";
// CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete]
// CHECK:STDOUT: %pattern_type.6b6: type = pattern_type %i32 [concrete]
// CHECK:STDOUT: %n.param_patt: %pattern_type.6b6 = value_param_pattern [concrete]
// CHECK:STDOUT: %n.patt: %pattern_type.6b6 = at_binding_pattern n, %n.param_patt [concrete]
// CHECK:STDOUT: %n.patt: %pattern_type.6b6 = wrapper_binding_pattern n, %n.param_patt [concrete]
// CHECK:STDOUT: %m.param_patt: %pattern_type.6b6 = value_param_pattern [concrete]
// CHECK:STDOUT: %m.patt: %pattern_type.6b6 = at_binding_pattern m, %m.param_patt [concrete]
// CHECK:STDOUT: %m.patt: %pattern_type.6b6 = wrapper_binding_pattern m, %m.param_patt [concrete]
// CHECK:STDOUT: %.795: Core.Form = init_form %i32 [concrete]
// CHECK:STDOUT: %return.param_patt.a9a: %pattern_type.6b6 = out_param_pattern [concrete]
// CHECK:STDOUT: %return.patt.e1b: %pattern_type.6b6 = return_slot_pattern %return.param_patt.a9a, %i32 [concrete]
@@ -105,9 +105,9 @@ fn C(n: i32, m: i32) -> i32 = "int.sadd";
// CHECK:STDOUT: %Core.import = import Core
// CHECK:STDOUT: %A.decl.loc15: %A.type.9f4a6d.1 = fn_decl @A.loc15 [concrete = constants.%A.921eb9.1] {
// CHECK:STDOUT: %n.param_patt: %pattern_type.6b6 = value_param_pattern [concrete = constants.%n.param_patt]
// CHECK:STDOUT: %n.patt: %pattern_type.6b6 = at_binding_pattern n, %n.param_patt [concrete = constants.%n.patt]
// CHECK:STDOUT: %n.patt: %pattern_type.6b6 = wrapper_binding_pattern n, %n.param_patt [concrete = constants.%n.patt]
// CHECK:STDOUT: %m.param_patt: %pattern_type.6b6 = value_param_pattern [concrete = constants.%m.param_patt]
// CHECK:STDOUT: %m.patt: %pattern_type.6b6 = at_binding_pattern m, %m.param_patt [concrete = constants.%m.patt]
// CHECK:STDOUT: %m.patt: %pattern_type.6b6 = wrapper_binding_pattern m, %m.param_patt [concrete = constants.%m.patt]
// CHECK:STDOUT: %return.param_patt: %pattern_type.6b6 = out_param_pattern [concrete = constants.%return.param_patt.a9a]
// CHECK:STDOUT: %return.patt: %pattern_type.6b6 = return_slot_pattern %return.param_patt, %i32.loc15_25 [concrete = constants.%return.patt.e1b]
// CHECK:STDOUT: } {
@@ -124,9 +124,9 @@ fn C(n: i32, m: i32) -> i32 = "int.sadd";
// CHECK:STDOUT: }
// CHECK:STDOUT: %A.decl.loc23: %A.type.9f4a6d.2 = fn_decl @A.loc23 [concrete = constants.%A.921eb9.2] {
// CHECK:STDOUT: %n.param_patt: %pattern_type.6b6 = value_param_pattern [concrete = constants.%n.param_patt]
// CHECK:STDOUT: %n.patt: %pattern_type.6b6 = at_binding_pattern n, %n.param_patt [concrete = constants.%n.patt]
// CHECK:STDOUT: %n.patt: %pattern_type.6b6 = wrapper_binding_pattern n, %n.param_patt [concrete = constants.%n.patt]
// CHECK:STDOUT: %m.param_patt: %pattern_type.6b6 = value_param_pattern [concrete = constants.%m.param_patt]
// CHECK:STDOUT: %m.patt: %pattern_type.6b6 = at_binding_pattern m, %m.param_patt [concrete = constants.%m.patt]
// CHECK:STDOUT: %m.patt: %pattern_type.6b6 = wrapper_binding_pattern m, %m.param_patt [concrete = constants.%m.patt]
// CHECK:STDOUT: %return.param_patt: %pattern_type.6b6 = out_param_pattern [concrete = constants.%return.param_patt.a9a]
// CHECK:STDOUT: %return.patt: %pattern_type.6b6 = return_slot_pattern %return.param_patt, %i32.loc23_32 [concrete = constants.%return.patt.e1b]
// CHECK:STDOUT: } {
@@ -143,9 +143,9 @@ fn C(n: i32, m: i32) -> i32 = "int.sadd";
// CHECK:STDOUT: }
// CHECK:STDOUT: %B.decl.loc25: %B.type.573c71.1 = fn_decl @B.loc25 [concrete = constants.%B.08ed21.1] {
// CHECK:STDOUT: %n.param_patt: %pattern_type.6b6 = value_param_pattern [concrete = constants.%n.param_patt]
// CHECK:STDOUT: %n.patt: %pattern_type.6b6 = at_binding_pattern n, %n.param_patt [concrete = constants.%n.patt]
// CHECK:STDOUT: %n.patt: %pattern_type.6b6 = wrapper_binding_pattern n, %n.param_patt [concrete = constants.%n.patt]
// CHECK:STDOUT: %m.param_patt: %pattern_type.6b6 = value_param_pattern [concrete = constants.%m.param_patt]
// CHECK:STDOUT: %m.patt: %pattern_type.6b6 = at_binding_pattern m, %m.param_patt [concrete = constants.%m.patt]
// CHECK:STDOUT: %m.patt: %pattern_type.6b6 = wrapper_binding_pattern m, %m.param_patt [concrete = constants.%m.patt]
// CHECK:STDOUT: %return.param_patt: %pattern_type.6b6 = out_param_pattern [concrete = constants.%return.param_patt.a9a]
// CHECK:STDOUT: %return.patt: %pattern_type.6b6 = return_slot_pattern %return.param_patt, %i32.loc25_32 [concrete = constants.%return.patt.e1b]
// CHECK:STDOUT: } {
@@ -162,9 +162,9 @@ fn C(n: i32, m: i32) -> i32 = "int.sadd";
// CHECK:STDOUT: }
// CHECK:STDOUT: %B.decl.loc33: %B.type.573c71.2 = fn_decl @B.loc33 [concrete = constants.%B.08ed21.2] {
// CHECK:STDOUT: %n.param_patt: %pattern_type.6b6 = value_param_pattern [concrete = constants.%n.param_patt]
// CHECK:STDOUT: %n.patt: %pattern_type.6b6 = at_binding_pattern n, %n.param_patt [concrete = constants.%n.patt]
// CHECK:STDOUT: %n.patt: %pattern_type.6b6 = wrapper_binding_pattern n, %n.param_patt [concrete = constants.%n.patt]
// CHECK:STDOUT: %m.param_patt: %pattern_type.6b6 = value_param_pattern [concrete = constants.%m.param_patt]
// CHECK:STDOUT: %m.patt: %pattern_type.6b6 = at_binding_pattern m, %m.param_patt [concrete = constants.%m.patt]
// CHECK:STDOUT: %m.patt: %pattern_type.6b6 = wrapper_binding_pattern m, %m.param_patt [concrete = constants.%m.patt]
// CHECK:STDOUT: %return.param_patt: %pattern_type.6b6 = out_param_pattern [concrete = constants.%return.param_patt.a9a]
// CHECK:STDOUT: %return.patt: %pattern_type.6b6 = return_slot_pattern %return.param_patt, %i32.loc33_25 [concrete = constants.%return.patt.e1b]
// CHECK:STDOUT: } {
@@ -181,9 +181,9 @@ fn C(n: i32, m: i32) -> i32 = "int.sadd";
// CHECK:STDOUT: }
// CHECK:STDOUT: %C.decl.loc35: %C.type.322e3b.1 = fn_decl @C.loc35 [concrete = constants.%C.010386.1] {
// CHECK:STDOUT: %n.param_patt: %pattern_type.6b6 = value_param_pattern [concrete = constants.%n.param_patt]
// CHECK:STDOUT: %n.patt: %pattern_type.6b6 = at_binding_pattern n, %n.param_patt [concrete = constants.%n.patt]
// CHECK:STDOUT: %n.patt: %pattern_type.6b6 = wrapper_binding_pattern n, %n.param_patt [concrete = constants.%n.patt]
// CHECK:STDOUT: %m.param_patt: %pattern_type.6b6 = value_param_pattern [concrete = constants.%m.param_patt]
// CHECK:STDOUT: %m.patt: %pattern_type.6b6 = at_binding_pattern m, %m.param_patt [concrete = constants.%m.patt]
// CHECK:STDOUT: %m.patt: %pattern_type.6b6 = wrapper_binding_pattern m, %m.param_patt [concrete = constants.%m.patt]
// CHECK:STDOUT: %return.param_patt: %pattern_type.6b6 = out_param_pattern [concrete = constants.%return.param_patt.a9a]
// CHECK:STDOUT: %return.patt: %pattern_type.6b6 = return_slot_pattern %return.param_patt, %i32.loc35_25 [concrete = constants.%return.patt.e1b]
// CHECK:STDOUT: } {
@@ -200,9 +200,9 @@ fn C(n: i32, m: i32) -> i32 = "int.sadd";
// CHECK:STDOUT: }
// CHECK:STDOUT: %C.decl.loc43: %C.type.322e3b.2 = fn_decl @C.loc43 [concrete = constants.%C.010386.2] {
// CHECK:STDOUT: %n.param_patt: %pattern_type.6b6 = value_param_pattern [concrete = constants.%n.param_patt]
// CHECK:STDOUT: %n.patt: %pattern_type.6b6 = at_binding_pattern n, %n.param_patt [concrete = constants.%n.patt]
// CHECK:STDOUT: %n.patt: %pattern_type.6b6 = wrapper_binding_pattern n, %n.param_patt [concrete = constants.%n.patt]
// CHECK:STDOUT: %m.param_patt: %pattern_type.6b6 = value_param_pattern [concrete = constants.%m.param_patt]
// CHECK:STDOUT: %m.patt: %pattern_type.6b6 = at_binding_pattern m, %m.param_patt [concrete = constants.%m.patt]
// CHECK:STDOUT: %m.patt: %pattern_type.6b6 = wrapper_binding_pattern m, %m.param_patt [concrete = constants.%m.patt]
// CHECK:STDOUT: %return.param_patt: %pattern_type.6b6 = out_param_pattern [concrete = constants.%return.param_patt.a9a]
// CHECK:STDOUT: %return.patt: %pattern_type.6b6 = return_slot_pattern %return.param_patt, %i32.loc43_25 [concrete = constants.%return.patt.e1b]
// CHECK:STDOUT: } {
+9 -9
View File
@@ -43,11 +43,11 @@ var arr: array(i32, Core.AsIntLiteral(Core.TestAdd(Core.AsI32(1), Core.AsI32(2))
// CHECK:STDOUT: %MakeIntLiteral: %MakeIntLiteral.type = struct_value () [concrete]
// CHECK:STDOUT: %pattern_type.dc0: type = pattern_type Core.IntLiteral [concrete]
// CHECK:STDOUT: %N.param_patt: %pattern_type.dc0 = value_param_pattern [concrete]
// CHECK:STDOUT: %N.patt: %pattern_type.dc0 = at_binding_pattern N, %N.param_patt [concrete]
// CHECK:STDOUT: %N.patt: %pattern_type.dc0 = wrapper_binding_pattern N, %N.param_patt [concrete]
// CHECK:STDOUT: %Int.type: type = fn_type @Int [concrete]
// CHECK:STDOUT: %Int: %Int.type = struct_value () [concrete]
// CHECK:STDOUT: %a.param_patt.ba0: %pattern_type.dc0 = value_param_pattern [concrete]
// CHECK:STDOUT: %a.patt.442: %pattern_type.dc0 = at_binding_pattern a, %a.param_patt.ba0 [concrete]
// CHECK:STDOUT: %a.patt.b6c: %pattern_type.dc0 = wrapper_binding_pattern a, %a.param_patt.ba0 [concrete]
// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete]
// CHECK:STDOUT: %i32.builtin: type = int_type signed, %int_32 [concrete]
// CHECK:STDOUT: %.9cb: Core.Form = init_form %i32.builtin [concrete]
@@ -57,14 +57,14 @@ var arr: array(i32, Core.AsIntLiteral(Core.TestAdd(Core.AsI32(1), Core.AsI32(2))
// CHECK:STDOUT: %AsI32.type: type = fn_type @AsI32 [concrete]
// CHECK:STDOUT: %AsI32: %AsI32.type = struct_value () [concrete]
// CHECK:STDOUT: %a.param_patt.b97: %pattern_type.956 = value_param_pattern [concrete]
// CHECK:STDOUT: %a.patt.9c9: %pattern_type.956 = at_binding_pattern a, %a.param_patt.b97 [concrete]
// CHECK:STDOUT: %a.patt.b6a: %pattern_type.956 = wrapper_binding_pattern a, %a.param_patt.b97 [concrete]
// CHECK:STDOUT: %.f7d: Core.Form = init_form Core.IntLiteral [concrete]
// CHECK:STDOUT: %return.param_patt.eab: %pattern_type.dc0 = out_param_pattern [concrete]
// CHECK:STDOUT: %return.patt.cd4: %pattern_type.dc0 = return_slot_pattern %return.param_patt.eab, Core.IntLiteral [concrete]
// CHECK:STDOUT: %AsIntLiteral.type: type = fn_type @AsIntLiteral [concrete]
// CHECK:STDOUT: %AsIntLiteral: %AsIntLiteral.type = struct_value () [concrete]
// CHECK:STDOUT: %b.param_patt: %pattern_type.956 = value_param_pattern [concrete]
// CHECK:STDOUT: %b.patt: %pattern_type.956 = at_binding_pattern b, %b.param_patt [concrete]
// CHECK:STDOUT: %b.patt: %pattern_type.956 = wrapper_binding_pattern b, %b.param_patt [concrete]
// CHECK:STDOUT: %TestAdd.type: type = fn_type @TestAdd [concrete]
// CHECK:STDOUT: %TestAdd: %TestAdd.type = struct_value () [concrete]
// CHECK:STDOUT: }
@@ -94,7 +94,7 @@ var arr: array(i32, Core.AsIntLiteral(Core.TestAdd(Core.AsI32(1), Core.AsI32(2))
// CHECK:STDOUT: %IntLiteral: type = alias_binding IntLiteral, %.loc6_35.2 [concrete = Core.IntLiteral]
// CHECK:STDOUT: %Int.decl: %Int.type = fn_decl @Int [concrete = constants.%Int] {
// CHECK:STDOUT: %N.param_patt: %pattern_type.dc0 = value_param_pattern [concrete = constants.%N.param_patt]
// CHECK:STDOUT: %N.patt: %pattern_type.dc0 = at_binding_pattern N, %N.param_patt [concrete = constants.%N.patt]
// CHECK:STDOUT: %N.patt: %pattern_type.dc0 = wrapper_binding_pattern N, %N.param_patt [concrete = constants.%N.patt]
// CHECK:STDOUT: %return.param_patt: %pattern_type.98f = out_param_pattern [concrete = constants.%return.param_patt.70e]
// CHECK:STDOUT: %return.patt: %pattern_type.98f = return_slot_pattern %return.param_patt, %.loc7_26.1 [concrete = constants.%return.patt.3ae]
// CHECK:STDOUT: } {
@@ -108,7 +108,7 @@ var arr: array(i32, Core.AsIntLiteral(Core.TestAdd(Core.AsI32(1), Core.AsI32(2))
// CHECK:STDOUT: }
// CHECK:STDOUT: %AsI32.decl: %AsI32.type = fn_decl @AsI32 [concrete = constants.%AsI32] {
// CHECK:STDOUT: %a.param_patt: %pattern_type.dc0 = value_param_pattern [concrete = constants.%a.param_patt.ba0]
// CHECK:STDOUT: %a.patt: %pattern_type.dc0 = at_binding_pattern a, %a.param_patt [concrete = constants.%a.patt.442]
// CHECK:STDOUT: %a.patt: %pattern_type.dc0 = wrapper_binding_pattern a, %a.param_patt [concrete = constants.%a.patt.b6c]
// CHECK:STDOUT: %return.param_patt: %pattern_type.956 = out_param_pattern [concrete = constants.%return.param_patt.903]
// CHECK:STDOUT: %return.patt: %pattern_type.956 = return_slot_pattern %return.param_patt, %.loc9_28.1 [concrete = constants.%return.patt.930]
// CHECK:STDOUT: } {
@@ -122,7 +122,7 @@ var arr: array(i32, Core.AsIntLiteral(Core.TestAdd(Core.AsI32(1), Core.AsI32(2))
// CHECK:STDOUT: }
// CHECK:STDOUT: %AsIntLiteral.decl: %AsIntLiteral.type = fn_decl @AsIntLiteral [concrete = constants.%AsIntLiteral] {
// CHECK:STDOUT: %a.param_patt: %pattern_type.956 = value_param_pattern [concrete = constants.%a.param_patt.b97]
// CHECK:STDOUT: %a.patt: %pattern_type.956 = at_binding_pattern a, %a.param_patt [concrete = constants.%a.patt.9c9]
// CHECK:STDOUT: %a.patt: %pattern_type.956 = wrapper_binding_pattern a, %a.param_patt [concrete = constants.%a.patt.b6a]
// CHECK:STDOUT: %return.param_patt: %pattern_type.dc0 = out_param_pattern [concrete = constants.%return.param_patt.eab]
// CHECK:STDOUT: %return.patt: %pattern_type.dc0 = return_slot_pattern %return.param_patt, %IntLiteral.ref [concrete = constants.%return.patt.cd4]
// CHECK:STDOUT: } {
@@ -136,9 +136,9 @@ var arr: array(i32, Core.AsIntLiteral(Core.TestAdd(Core.AsI32(1), Core.AsI32(2))
// CHECK:STDOUT: }
// CHECK:STDOUT: %TestAdd.decl: %TestAdd.type = fn_decl @TestAdd [concrete = constants.%TestAdd] {
// CHECK:STDOUT: %a.param_patt: %pattern_type.956 = value_param_pattern [concrete = constants.%a.param_patt.b97]
// CHECK:STDOUT: %a.patt: %pattern_type.956 = at_binding_pattern a, %a.param_patt [concrete = constants.%a.patt.9c9]
// CHECK:STDOUT: %a.patt: %pattern_type.956 = wrapper_binding_pattern a, %a.param_patt [concrete = constants.%a.patt.b6a]
// CHECK:STDOUT: %b.param_patt: %pattern_type.956 = value_param_pattern [concrete = constants.%b.param_patt]
// CHECK:STDOUT: %b.patt: %pattern_type.956 = at_binding_pattern b, %b.param_patt [concrete = constants.%b.patt]
// CHECK:STDOUT: %b.patt: %pattern_type.956 = wrapper_binding_pattern b, %b.param_patt [concrete = constants.%b.patt]
// CHECK:STDOUT: %return.param_patt: %pattern_type.956 = out_param_pattern [concrete = constants.%return.param_patt.903]
// CHECK:STDOUT: %return.patt: %pattern_type.956 = return_slot_pattern %return.param_patt, %.loc12_31.1 [concrete = constants.%return.patt.930]
// CHECK:STDOUT: } {
+14 -14
View File
@@ -31,9 +31,9 @@ var arr: array(i32, (1 as i32).(I.F)(2));
// CHECK:STDOUT: %Self.as_type.c84: type = facet_access_type %Self.37e [symbolic]
// CHECK:STDOUT: %pattern_type.c60: type = pattern_type %Self.as_type.c84 [symbolic]
// CHECK:STDOUT: %self.param_patt.a33: %pattern_type.c60 = value_param_pattern [symbolic]
// CHECK:STDOUT: %self.patt.696: %pattern_type.c60 = at_binding_pattern self, %self.param_patt.a33 [symbolic]
// CHECK:STDOUT: %self.patt.85e: %pattern_type.c60 = wrapper_binding_pattern self, %self.param_patt.a33 [symbolic]
// CHECK:STDOUT: %other.param_patt.03c: %pattern_type.c60 = value_param_pattern [symbolic]
// CHECK:STDOUT: %other.patt.852: %pattern_type.c60 = at_binding_pattern other, %other.param_patt.03c [symbolic]
// CHECK:STDOUT: %other.patt.1b9: %pattern_type.c60 = wrapper_binding_pattern other, %other.param_patt.03c [symbolic]
// CHECK:STDOUT: %.8fc: Core.Form = init_form %Self.as_type.c84 [symbolic]
// CHECK:STDOUT: %return.param_patt.434: %pattern_type.c60 = out_param_pattern [symbolic]
// CHECK:STDOUT: %return.patt.44a: %pattern_type.c60 = return_slot_pattern %return.param_patt.434, %Self.as_type.c84 [symbolic]
@@ -49,9 +49,9 @@ var arr: array(i32, (1 as i32).(I.F)(2));
// CHECK:STDOUT: %I.impl_witness: <witness> = impl_witness @i32.as.I.impl.%I.impl_witness_table [concrete]
// CHECK:STDOUT: %pattern_type.6b6: type = pattern_type %i32 [concrete]
// CHECK:STDOUT: %self.param_patt.049: %pattern_type.6b6 = value_param_pattern [concrete]
// CHECK:STDOUT: %self.patt.f6c: %pattern_type.6b6 = at_binding_pattern self, %self.param_patt.049 [concrete]
// CHECK:STDOUT: %self.patt.aab: %pattern_type.6b6 = wrapper_binding_pattern self, %self.param_patt.049 [concrete]
// CHECK:STDOUT: %other.param_patt.12c: %pattern_type.6b6 = value_param_pattern [concrete]
// CHECK:STDOUT: %other.patt.656: %pattern_type.6b6 = at_binding_pattern other, %other.param_patt.12c [concrete]
// CHECK:STDOUT: %other.patt.230: %pattern_type.6b6 = wrapper_binding_pattern other, %other.param_patt.12c [concrete]
// CHECK:STDOUT: %.795f: Core.Form = init_form %i32 [concrete]
// CHECK:STDOUT: %return.param_patt.a9a: %pattern_type.6b6 = out_param_pattern [concrete]
// CHECK:STDOUT: %return.patt.e1b: %pattern_type.6b6 = return_slot_pattern %return.param_patt.a9a, %i32 [concrete]
@@ -211,9 +211,9 @@ var arr: array(i32, (1 as i32).(I.F)(2));
// CHECK:STDOUT: !with Self:
// CHECK:STDOUT: %I.WithSelf.F.decl: @I.WithSelf.%I.WithSelf.F.type (%I.WithSelf.F.type.dcc) = fn_decl @I.WithSelf.F [symbolic = @I.WithSelf.%I.WithSelf.F (constants.%I.WithSelf.F.ec6)] {
// CHECK:STDOUT: %self.param_patt.loc16_8.1: @I.WithSelf.F.%pattern_type (%pattern_type.c60) = value_param_pattern [symbolic = %self.param_patt.loc16_8.2 (constants.%self.param_patt.a33)]
// CHECK:STDOUT: %self.patt.loc16_8.1: @I.WithSelf.F.%pattern_type (%pattern_type.c60) = at_binding_pattern self, %self.param_patt.loc16_8.1 [symbolic = %self.patt.loc16_8.2 (constants.%self.patt.696)]
// CHECK:STDOUT: %self.patt.loc16_8.1: @I.WithSelf.F.%pattern_type (%pattern_type.c60) = wrapper_binding_pattern self, %self.param_patt.loc16_8.1 [symbolic = %self.patt.loc16_8.2 (constants.%self.patt.85e)]
// CHECK:STDOUT: %other.param_patt.loc16_19.1: @I.WithSelf.F.%pattern_type (%pattern_type.c60) = value_param_pattern [symbolic = %other.param_patt.loc16_19.2 (constants.%other.param_patt.03c)]
// CHECK:STDOUT: %other.patt.loc16_19.1: @I.WithSelf.F.%pattern_type (%pattern_type.c60) = at_binding_pattern other, %other.param_patt.loc16_19.1 [symbolic = %other.patt.loc16_19.2 (constants.%other.patt.852)]
// CHECK:STDOUT: %other.patt.loc16_19.1: @I.WithSelf.F.%pattern_type (%pattern_type.c60) = wrapper_binding_pattern other, %other.param_patt.loc16_19.1 [symbolic = %other.patt.loc16_19.2 (constants.%other.patt.1b9)]
// CHECK:STDOUT: %return.param_patt.loc16_30.1: @I.WithSelf.F.%pattern_type (%pattern_type.c60) = out_param_pattern [symbolic = %return.param_patt.loc16_30.2 (constants.%return.param_patt.434)]
// CHECK:STDOUT: %return.patt.loc16_27.1: @I.WithSelf.F.%pattern_type (%pattern_type.c60) = return_slot_pattern %return.param_patt.loc16_30.1, %.loc16_30.2 [symbolic = %return.patt.loc16_27.2 (constants.%return.patt.44a)]
// CHECK:STDOUT: } {
@@ -251,9 +251,9 @@ var arr: array(i32, (1 as i32).(I.F)(2));
// CHECK:STDOUT: impl @i32.as.I.impl: %i32 as %I.ref {
// CHECK:STDOUT: %i32.as.I.impl.F.decl: %i32.as.I.impl.F.type = fn_decl @i32.as.I.impl.F [concrete = constants.%i32.as.I.impl.F] {
// CHECK:STDOUT: %self.param_patt: %pattern_type.6b6 = value_param_pattern [concrete = constants.%self.param_patt.049]
// CHECK:STDOUT: %self.patt: %pattern_type.6b6 = at_binding_pattern self, %self.param_patt [concrete = constants.%self.patt.f6c]
// CHECK:STDOUT: %self.patt: %pattern_type.6b6 = wrapper_binding_pattern self, %self.param_patt [concrete = constants.%self.patt.aab]
// CHECK:STDOUT: %other.param_patt: %pattern_type.6b6 = value_param_pattern [concrete = constants.%other.param_patt.12c]
// CHECK:STDOUT: %other.patt: %pattern_type.6b6 = at_binding_pattern other, %other.param_patt [concrete = constants.%other.patt.656]
// CHECK:STDOUT: %other.patt: %pattern_type.6b6 = wrapper_binding_pattern other, %other.param_patt [concrete = constants.%other.patt.230]
// CHECK:STDOUT: %return.param_patt: %pattern_type.6b6 = out_param_pattern [concrete = constants.%return.param_patt.a9a]
// CHECK:STDOUT: %return.patt: %pattern_type.6b6 = return_slot_pattern %return.param_patt, %i32.loc20_34 [concrete = constants.%return.patt.e1b]
// CHECK:STDOUT: } {
@@ -282,9 +282,9 @@ var arr: array(i32, (1 as i32).(I.F)(2));
// CHECK:STDOUT: %Self.as_type.loc16_8.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc16_8.1 (constants.%Self.as_type.c84)]
// CHECK:STDOUT: %pattern_type: type = pattern_type %Self.as_type.loc16_8.1 [symbolic = %pattern_type (constants.%pattern_type.c60)]
// CHECK:STDOUT: %self.param_patt.loc16_8.2: @I.WithSelf.F.%pattern_type (%pattern_type.c60) = value_param_pattern [symbolic = %self.param_patt.loc16_8.2 (constants.%self.param_patt.a33)]
// CHECK:STDOUT: %self.patt.loc16_8.2: @I.WithSelf.F.%pattern_type (%pattern_type.c60) = at_binding_pattern self, %self.param_patt.loc16_8.2 [symbolic = %self.patt.loc16_8.2 (constants.%self.patt.696)]
// CHECK:STDOUT: %self.patt.loc16_8.2: @I.WithSelf.F.%pattern_type (%pattern_type.c60) = wrapper_binding_pattern self, %self.param_patt.loc16_8.2 [symbolic = %self.patt.loc16_8.2 (constants.%self.patt.85e)]
// CHECK:STDOUT: %other.param_patt.loc16_19.2: @I.WithSelf.F.%pattern_type (%pattern_type.c60) = value_param_pattern [symbolic = %other.param_patt.loc16_19.2 (constants.%other.param_patt.03c)]
// CHECK:STDOUT: %other.patt.loc16_19.2: @I.WithSelf.F.%pattern_type (%pattern_type.c60) = at_binding_pattern other, %other.param_patt.loc16_19.2 [symbolic = %other.patt.loc16_19.2 (constants.%other.patt.852)]
// CHECK:STDOUT: %other.patt.loc16_19.2: @I.WithSelf.F.%pattern_type (%pattern_type.c60) = wrapper_binding_pattern other, %other.param_patt.loc16_19.2 [symbolic = %other.patt.loc16_19.2 (constants.%other.patt.1b9)]
// CHECK:STDOUT: %.loc16_30.1: Core.Form = init_form %Self.as_type.loc16_8.1 [symbolic = %.loc16_30.1 (constants.%.8fc)]
// CHECK:STDOUT: %return.param_patt.loc16_30.2: @I.WithSelf.F.%pattern_type (%pattern_type.c60) = out_param_pattern [symbolic = %return.param_patt.loc16_30.2 (constants.%return.param_patt.434)]
// CHECK:STDOUT: %return.patt.loc16_27.2: @I.WithSelf.F.%pattern_type (%pattern_type.c60) = return_slot_pattern %return.param_patt.loc16_30.2, %Self.as_type.loc16_8.1 [symbolic = %return.patt.loc16_27.2 (constants.%return.patt.44a)]
@@ -319,9 +319,9 @@ var arr: array(i32, (1 as i32).(I.F)(2));
// CHECK:STDOUT: %Self.as_type.loc16_8.1 => constants.%Self.as_type.c84
// CHECK:STDOUT: %pattern_type => constants.%pattern_type.c60
// CHECK:STDOUT: %self.param_patt.loc16_8.2 => constants.%self.param_patt.a33
// CHECK:STDOUT: %self.patt.loc16_8.2 => constants.%self.patt.696
// CHECK:STDOUT: %self.patt.loc16_8.2 => constants.%self.patt.85e
// CHECK:STDOUT: %other.param_patt.loc16_19.2 => constants.%other.param_patt.03c
// CHECK:STDOUT: %other.patt.loc16_19.2 => constants.%other.patt.852
// CHECK:STDOUT: %other.patt.loc16_19.2 => constants.%other.patt.1b9
// CHECK:STDOUT: %.loc16_30.1 => constants.%.8fc
// CHECK:STDOUT: %return.param_patt.loc16_30.2 => constants.%return.param_patt.434
// CHECK:STDOUT: %return.patt.loc16_27.2 => constants.%return.patt.44a
@@ -339,9 +339,9 @@ var arr: array(i32, (1 as i32).(I.F)(2));
// CHECK:STDOUT: %Self.as_type.loc16_8.1 => constants.%i32
// CHECK:STDOUT: %pattern_type => constants.%pattern_type.6b6
// CHECK:STDOUT: %self.param_patt.loc16_8.2 => constants.%self.param_patt.049
// CHECK:STDOUT: %self.patt.loc16_8.2 => constants.%self.patt.f6c
// CHECK:STDOUT: %self.patt.loc16_8.2 => constants.%self.patt.aab
// CHECK:STDOUT: %other.param_patt.loc16_19.2 => constants.%other.param_patt.12c
// CHECK:STDOUT: %other.patt.loc16_19.2 => constants.%other.patt.656
// CHECK:STDOUT: %other.patt.loc16_19.2 => constants.%other.patt.230
// CHECK:STDOUT: %.loc16_30.1 => constants.%.795f
// CHECK:STDOUT: %return.param_patt.loc16_30.2 => constants.%return.param_patt.a9a
// CHECK:STDOUT: %return.patt.loc16_27.2 => constants.%return.patt.e1b