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
@@ -145,7 +145,7 @@ void G() {
// 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: %.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]
@@ -159,7 +159,7 @@ void G() {
// CHECK:STDOUT: %I.impl_witness.ca2: <witness> = impl_witness @A.as.I.impl.%I.impl_witness_table [concrete]
// CHECK:STDOUT: %pattern_type.9ef: type = pattern_type %A [concrete]
// CHECK:STDOUT: %self.param_patt.04e: %pattern_type.9ef = value_param_pattern [concrete]
// CHECK:STDOUT: %self.patt.312: %pattern_type.9ef = at_binding_pattern self, %self.param_patt.04e [concrete]
// CHECK:STDOUT: %self.patt.7cd: %pattern_type.9ef = wrapper_binding_pattern self, %self.param_patt.04e [concrete]
// CHECK:STDOUT: %.cbf: Core.Form = init_form %A [concrete]
// CHECK:STDOUT: %return.param_patt.f0c: %pattern_type.9ef = out_param_pattern [concrete]
// CHECK:STDOUT: %return.patt.a6d: %pattern_type.9ef = return_slot_pattern %return.param_patt.f0c, %A [concrete]
@@ -177,7 +177,7 @@ void G() {
// CHECK:STDOUT: %I.impl_witness.b14: <witness> = impl_witness @B.as.I.impl.%I.impl_witness_table [concrete]
// CHECK:STDOUT: %pattern_type.e39: type = pattern_type %B [concrete]
// CHECK:STDOUT: %self.param_patt.f1f: %pattern_type.e39 = value_param_pattern [concrete]
// CHECK:STDOUT: %self.patt.4eb: %pattern_type.e39 = at_binding_pattern self, %self.param_patt.f1f [concrete]
// CHECK:STDOUT: %self.patt.4c3: %pattern_type.e39 = wrapper_binding_pattern self, %self.param_patt.f1f [concrete]
// CHECK:STDOUT: %.d83: Core.Form = init_form %B [concrete]
// CHECK:STDOUT: %return.param_patt.934: %pattern_type.e39 = out_param_pattern [concrete]
// CHECK:STDOUT: %return.patt.911: %pattern_type.e39 = return_slot_pattern %return.param_patt.934, %B [concrete]
@@ -195,7 +195,7 @@ void G() {
// CHECK:STDOUT: %T.as_type: type = facet_access_type %T [symbolic]
// CHECK:STDOUT: %pattern_type.b3a: type = pattern_type %T.as_type [symbolic]
// CHECK:STDOUT: %t.param_patt.5db: %pattern_type.b3a = value_param_pattern [symbolic]
// CHECK:STDOUT: %t.patt.030: %pattern_type.b3a = at_binding_pattern t, %t.param_patt.5db [symbolic]
// CHECK:STDOUT: %t.patt.d48: %pattern_type.b3a = wrapper_binding_pattern t, %t.param_patt.5db [symbolic]
// CHECK:STDOUT: %.0ce: Core.Form = init_form %T.as_type [symbolic]
// CHECK:STDOUT: %return.param_patt.b82: %pattern_type.b3a = out_param_pattern [symbolic]
// CHECK:STDOUT: %return.patt.2e6: %pattern_type.b3a = return_slot_pattern %return.param_patt.b82, %T.as_type [symbolic]
@@ -208,7 +208,7 @@ void G() {
// CHECK:STDOUT: %.8a9: type = fn_type_with_self_type %I.WithSelf.Doit.type.860, %T [symbolic]
// CHECK:STDOUT: %impl.elem0: %.8a9 = impl_witness_access %I.lookup_impl_witness, element0 [symbolic]
// CHECK:STDOUT: %self.param_patt.58e: %pattern_type.b3a = value_param_pattern [symbolic]
// CHECK:STDOUT: %self.patt.300: %pattern_type.b3a = at_binding_pattern self, %self.param_patt.58e [symbolic]
// CHECK:STDOUT: %self.patt.b4c: %pattern_type.b3a = wrapper_binding_pattern self, %self.param_patt.58e [symbolic]
// CHECK:STDOUT: %specific_impl_fn: <specific function> = specific_impl_function %impl.elem0, @I.WithSelf.Doit(%T) [symbolic]
// CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete]
// CHECK:STDOUT: %Destroy.Op.type.1d8f74.2: type = fn_type @Destroy.Op.loc16_9.2 [concrete]
@@ -224,10 +224,10 @@ void G() {
// CHECK:STDOUT: %Destroy.WithSelf.Op.type.09e: type = fn_type @Destroy.WithSelf.Op, @Destroy.WithSelf(%Destroy.facet.6e5) [concrete]
// CHECK:STDOUT: %.dca: type = fn_type_with_self_type %Destroy.WithSelf.Op.type.09e, %Destroy.facet.6e5 [concrete]
// CHECK:STDOUT: %t.param_patt.169: %pattern_type.9ef = value_param_pattern [concrete]
// CHECK:STDOUT: %t.patt.ee8: %pattern_type.9ef = at_binding_pattern t, %t.param_patt.169 [concrete]
// CHECK:STDOUT: %t.patt.490: %pattern_type.9ef = wrapper_binding_pattern t, %t.param_patt.169 [concrete]
// CHECK:STDOUT: %F.specific_fn.9d8: <specific function> = specific_function %F, @F(%I.facet.f31) [concrete]
// CHECK:STDOUT: %t.param_patt.267: %pattern_type.e39 = value_param_pattern [concrete]
// CHECK:STDOUT: %t.patt.062: %pattern_type.e39 = at_binding_pattern t, %t.param_patt.267 [concrete]
// CHECK:STDOUT: %t.patt.614: %pattern_type.e39 = wrapper_binding_pattern t, %t.param_patt.267 [concrete]
// CHECK:STDOUT: %F.specific_fn.480: <specific function> = specific_function %F, @F(%I.facet.a68) [concrete]
// CHECK:STDOUT: %.760: type = fn_type_with_self_type %I.WithSelf.Doit.type.808, %I.facet.f31 [concrete]
// CHECK:STDOUT: %.10f: type = fn_type_with_self_type %I.WithSelf.Doit.type.a07, %I.facet.a68 [concrete]
@@ -246,7 +246,7 @@ void G() {
// CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] {
// CHECK:STDOUT: %T.patt.loc24_7.1: %pattern_type.6cb = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc24_7.2 (constants.%T.patt)]
// CHECK:STDOUT: %t.param_patt.loc24_13.1: @F.%pattern_type (%pattern_type.b3a) = value_param_pattern [symbolic = %t.param_patt.loc24_13.2 (constants.%t.param_patt.5db)]
// CHECK:STDOUT: %t.patt.loc24_13.1: @F.%pattern_type (%pattern_type.b3a) = at_binding_pattern t, %t.param_patt.loc24_13.1 [symbolic = %t.patt.loc24_13.2 (constants.%t.patt.030)]
// CHECK:STDOUT: %t.patt.loc24_13.1: @F.%pattern_type (%pattern_type.b3a) = wrapper_binding_pattern t, %t.param_patt.loc24_13.1 [symbolic = %t.patt.loc24_13.2 (constants.%t.patt.d48)]
// CHECK:STDOUT: %return.param_patt.loc24_21.1: @F.%pattern_type (%pattern_type.b3a) = out_param_pattern [symbolic = %return.param_patt.loc24_21.2 (constants.%return.param_patt.b82)]
// CHECK:STDOUT: %return.patt.loc24_18.1: @F.%pattern_type (%pattern_type.b3a) = return_slot_pattern %return.param_patt.loc24_21.1, %.loc24_21.3 [symbolic = %return.patt.loc24_18.2 (constants.%return.patt.2e6)]
// CHECK:STDOUT: } {
@@ -284,7 +284,7 @@ void G() {
// CHECK:STDOUT: !with Self:
// CHECK:STDOUT: %I.WithSelf.Doit.decl: @I.WithSelf.%I.WithSelf.Doit.type (%I.WithSelf.Doit.type.26f) = fn_decl @I.WithSelf.Doit [symbolic = @I.WithSelf.%I.WithSelf.Doit (constants.%I.WithSelf.Doit.11f)] {
// CHECK:STDOUT: %self.param_patt.loc6_11.1: @I.WithSelf.Doit.%pattern_type (%pattern_type.c60) = value_param_pattern [symbolic = %self.param_patt.loc6_11.2 (constants.%self.param_patt.a33)]
// CHECK:STDOUT: %self.patt.loc6_11.1: @I.WithSelf.Doit.%pattern_type (%pattern_type.c60) = at_binding_pattern self, %self.param_patt.loc6_11.1 [symbolic = %self.patt.loc6_11.2 (constants.%self.patt.696)]
// CHECK:STDOUT: %self.patt.loc6_11.1: @I.WithSelf.Doit.%pattern_type (%pattern_type.c60) = wrapper_binding_pattern self, %self.param_patt.loc6_11.1 [symbolic = %self.patt.loc6_11.2 (constants.%self.patt.85e)]
// CHECK:STDOUT: %return.param_patt.loc6_20.1: @I.WithSelf.Doit.%pattern_type (%pattern_type.c60) = out_param_pattern [symbolic = %return.param_patt.loc6_20.2 (constants.%return.param_patt.434)]
// CHECK:STDOUT: %return.patt.loc6_17.1: @I.WithSelf.Doit.%pattern_type (%pattern_type.c60) = return_slot_pattern %return.param_patt.loc6_20.1, %.loc6_20.2 [symbolic = %return.patt.loc6_17.2 (constants.%return.patt.44a)]
// CHECK:STDOUT: } {
@@ -315,7 +315,7 @@ void G() {
// CHECK:STDOUT: impl @A.as.I.impl: %Self.ref as %I.ref {
// CHECK:STDOUT: %A.as.I.impl.Doit.decl: %A.as.I.impl.Doit.type = fn_decl @A.as.I.impl.Doit [concrete = constants.%A.as.I.impl.Doit] {
// CHECK:STDOUT: %self.param_patt: %pattern_type.9ef = value_param_pattern [concrete = constants.%self.param_patt.04e]
// CHECK:STDOUT: %self.patt: %pattern_type.9ef = at_binding_pattern self, %self.param_patt [concrete = constants.%self.patt.312]
// CHECK:STDOUT: %self.patt: %pattern_type.9ef = wrapper_binding_pattern self, %self.param_patt [concrete = constants.%self.patt.7cd]
// CHECK:STDOUT: %return.param_patt: %pattern_type.9ef = out_param_pattern [concrete = constants.%return.param_patt.f0c]
// CHECK:STDOUT: %return.patt: %pattern_type.9ef = return_slot_pattern %return.param_patt, %Self.ref.loc11_29 [concrete = constants.%return.patt.a6d]
// CHECK:STDOUT: } {
@@ -339,7 +339,7 @@ void G() {
// CHECK:STDOUT: impl @B.as.I.impl: %Self.ref as %I.ref {
// CHECK:STDOUT: %B.as.I.impl.Doit.decl: %B.as.I.impl.Doit.type = fn_decl @B.as.I.impl.Doit [concrete = constants.%B.as.I.impl.Doit] {
// CHECK:STDOUT: %self.param_patt: %pattern_type.e39 = value_param_pattern [concrete = constants.%self.param_patt.f1f]
// CHECK:STDOUT: %self.patt: %pattern_type.e39 = at_binding_pattern self, %self.param_patt [concrete = constants.%self.patt.4eb]
// CHECK:STDOUT: %self.patt: %pattern_type.e39 = wrapper_binding_pattern self, %self.param_patt [concrete = constants.%self.patt.4c3]
// CHECK:STDOUT: %return.param_patt: %pattern_type.e39 = out_param_pattern [concrete = constants.%return.param_patt.934]
// CHECK:STDOUT: %return.patt: %pattern_type.e39 = return_slot_pattern %return.param_patt, %Self.ref.loc18_29 [concrete = constants.%return.patt.911]
// CHECK:STDOUT: } {
@@ -395,7 +395,7 @@ void G() {
// CHECK:STDOUT: %Self.as_type.loc6_11.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc6_11.1 (constants.%Self.as_type.c84)]
// CHECK:STDOUT: %pattern_type: type = pattern_type %Self.as_type.loc6_11.1 [symbolic = %pattern_type (constants.%pattern_type.c60)]
// CHECK:STDOUT: %self.param_patt.loc6_11.2: @I.WithSelf.Doit.%pattern_type (%pattern_type.c60) = value_param_pattern [symbolic = %self.param_patt.loc6_11.2 (constants.%self.param_patt.a33)]
// CHECK:STDOUT: %self.patt.loc6_11.2: @I.WithSelf.Doit.%pattern_type (%pattern_type.c60) = at_binding_pattern self, %self.param_patt.loc6_11.2 [symbolic = %self.patt.loc6_11.2 (constants.%self.patt.696)]
// CHECK:STDOUT: %self.patt.loc6_11.2: @I.WithSelf.Doit.%pattern_type (%pattern_type.c60) = wrapper_binding_pattern self, %self.param_patt.loc6_11.2 [symbolic = %self.patt.loc6_11.2 (constants.%self.patt.85e)]
// CHECK:STDOUT: %.loc6_20.1: Core.Form = init_form %Self.as_type.loc6_11.1 [symbolic = %.loc6_20.1 (constants.%.8fc)]
// CHECK:STDOUT: %return.param_patt.loc6_20.2: @I.WithSelf.Doit.%pattern_type (%pattern_type.c60) = out_param_pattern [symbolic = %return.param_patt.loc6_20.2 (constants.%return.param_patt.434)]
// CHECK:STDOUT: %return.patt.loc6_17.2: @I.WithSelf.Doit.%pattern_type (%pattern_type.c60) = return_slot_pattern %return.param_patt.loc6_20.2, %Self.as_type.loc6_11.1 [symbolic = %return.patt.loc6_17.2 (constants.%return.patt.44a)]
@@ -425,7 +425,7 @@ void G() {
// CHECK:STDOUT: %T.as_type.loc24_15.1: type = facet_access_type %T.loc24_7.1 [symbolic = %T.as_type.loc24_15.1 (constants.%T.as_type)]
// CHECK:STDOUT: %pattern_type: type = pattern_type %T.as_type.loc24_15.1 [symbolic = %pattern_type (constants.%pattern_type.b3a)]
// CHECK:STDOUT: %t.param_patt.loc24_13.2: @F.%pattern_type (%pattern_type.b3a) = value_param_pattern [symbolic = %t.param_patt.loc24_13.2 (constants.%t.param_patt.5db)]
// CHECK:STDOUT: %t.patt.loc24_13.2: @F.%pattern_type (%pattern_type.b3a) = at_binding_pattern t, %t.param_patt.loc24_13.2 [symbolic = %t.patt.loc24_13.2 (constants.%t.patt.030)]
// CHECK:STDOUT: %t.patt.loc24_13.2: @F.%pattern_type (%pattern_type.b3a) = wrapper_binding_pattern t, %t.param_patt.loc24_13.2 [symbolic = %t.patt.loc24_13.2 (constants.%t.patt.d48)]
// CHECK:STDOUT: %.loc24_21.2: Core.Form = init_form %T.as_type.loc24_15.1 [symbolic = %.loc24_21.2 (constants.%.0ce)]
// CHECK:STDOUT: %return.param_patt.loc24_21.2: @F.%pattern_type (%pattern_type.b3a) = out_param_pattern [symbolic = %return.param_patt.loc24_21.2 (constants.%return.param_patt.b82)]
// CHECK:STDOUT: %return.patt.loc24_18.2: @F.%pattern_type (%pattern_type.b3a) = return_slot_pattern %return.param_patt.loc24_21.2, %T.as_type.loc24_15.1 [symbolic = %return.patt.loc24_18.2 (constants.%return.patt.2e6)]
@@ -524,7 +524,7 @@ void G() {
// CHECK:STDOUT: %Self.as_type.loc6_11.1 => constants.%Self.as_type.c84
// CHECK:STDOUT: %pattern_type => constants.%pattern_type.c60
// CHECK:STDOUT: %self.param_patt.loc6_11.2 => constants.%self.param_patt.a33
// CHECK:STDOUT: %self.patt.loc6_11.2 => constants.%self.patt.696
// CHECK:STDOUT: %self.patt.loc6_11.2 => constants.%self.patt.85e
// CHECK:STDOUT: %.loc6_20.1 => constants.%.8fc
// CHECK:STDOUT: %return.param_patt.loc6_20.2 => constants.%return.param_patt.434
// CHECK:STDOUT: %return.patt.loc6_17.2 => constants.%return.patt.44a
@@ -542,7 +542,7 @@ void G() {
// CHECK:STDOUT: %Self.as_type.loc6_11.1 => constants.%A
// CHECK:STDOUT: %pattern_type => constants.%pattern_type.9ef
// CHECK:STDOUT: %self.param_patt.loc6_11.2 => constants.%self.param_patt.04e
// CHECK:STDOUT: %self.patt.loc6_11.2 => constants.%self.patt.312
// CHECK:STDOUT: %self.patt.loc6_11.2 => constants.%self.patt.7cd
// CHECK:STDOUT: %.loc6_20.1 => constants.%.cbf
// CHECK:STDOUT: %return.param_patt.loc6_20.2 => constants.%return.param_patt.f0c
// CHECK:STDOUT: %return.patt.loc6_17.2 => constants.%return.patt.a6d
@@ -560,7 +560,7 @@ void G() {
// CHECK:STDOUT: %Self.as_type.loc6_11.1 => constants.%B
// CHECK:STDOUT: %pattern_type => constants.%pattern_type.e39
// CHECK:STDOUT: %self.param_patt.loc6_11.2 => constants.%self.param_patt.f1f
// CHECK:STDOUT: %self.patt.loc6_11.2 => constants.%self.patt.4eb
// CHECK:STDOUT: %self.patt.loc6_11.2 => constants.%self.patt.4c3
// CHECK:STDOUT: %.loc6_20.1 => constants.%.d83
// CHECK:STDOUT: %return.param_patt.loc6_20.2 => constants.%return.param_patt.934
// CHECK:STDOUT: %return.patt.loc6_17.2 => constants.%return.patt.911
@@ -572,7 +572,7 @@ void G() {
// CHECK:STDOUT: %T.as_type.loc24_15.1 => constants.%T.as_type
// CHECK:STDOUT: %pattern_type => constants.%pattern_type.b3a
// CHECK:STDOUT: %t.param_patt.loc24_13.2 => constants.%t.param_patt.5db
// CHECK:STDOUT: %t.patt.loc24_13.2 => constants.%t.patt.030
// CHECK:STDOUT: %t.patt.loc24_13.2 => constants.%t.patt.d48
// CHECK:STDOUT: %.loc24_21.2 => constants.%.0ce
// CHECK:STDOUT: %return.param_patt.loc24_21.2 => constants.%return.param_patt.b82
// CHECK:STDOUT: %return.patt.loc24_18.2 => constants.%return.patt.2e6
@@ -590,7 +590,7 @@ void G() {
// CHECK:STDOUT: %Self.as_type.loc6_11.1 => constants.%T.as_type
// CHECK:STDOUT: %pattern_type => constants.%pattern_type.b3a
// CHECK:STDOUT: %self.param_patt.loc6_11.2 => constants.%self.param_patt.58e
// CHECK:STDOUT: %self.patt.loc6_11.2 => constants.%self.patt.300
// CHECK:STDOUT: %self.patt.loc6_11.2 => constants.%self.patt.b4c
// CHECK:STDOUT: %.loc6_20.1 => constants.%.0ce
// CHECK:STDOUT: %return.param_patt.loc6_20.2 => constants.%return.param_patt.b82
// CHECK:STDOUT: %return.patt.loc6_17.2 => constants.%return.patt.2e6
@@ -602,7 +602,7 @@ void G() {
// CHECK:STDOUT: %T.as_type.loc24_15.1 => constants.%A
// CHECK:STDOUT: %pattern_type => constants.%pattern_type.9ef
// CHECK:STDOUT: %t.param_patt.loc24_13.2 => constants.%t.param_patt.169
// CHECK:STDOUT: %t.patt.loc24_13.2 => constants.%t.patt.ee8
// CHECK:STDOUT: %t.patt.loc24_13.2 => constants.%t.patt.490
// CHECK:STDOUT: %.loc24_21.2 => constants.%.cbf
// CHECK:STDOUT: %return.param_patt.loc24_21.2 => constants.%return.param_patt.f0c
// CHECK:STDOUT: %return.patt.loc24_18.2 => constants.%return.patt.a6d
@@ -614,7 +614,7 @@ void G() {
// CHECK:STDOUT: %T.as_type.loc24_15.1 => constants.%A
// CHECK:STDOUT: %pattern_type => constants.%pattern_type.9ef
// CHECK:STDOUT: %t.param_patt.loc24_13.2 => constants.%t.param_patt.169
// CHECK:STDOUT: %t.patt.loc24_13.2 => constants.%t.patt.ee8
// CHECK:STDOUT: %t.patt.loc24_13.2 => constants.%t.patt.490
// CHECK:STDOUT: %.loc24_21.2 => constants.%.cbf
// CHECK:STDOUT: %return.param_patt.loc24_21.2 => constants.%return.param_patt.f0c
// CHECK:STDOUT: %return.patt.loc24_18.2 => constants.%return.patt.a6d
@@ -634,7 +634,7 @@ void G() {
// CHECK:STDOUT: %T.as_type.loc24_15.1 => constants.%B
// CHECK:STDOUT: %pattern_type => constants.%pattern_type.e39
// CHECK:STDOUT: %t.param_patt.loc24_13.2 => constants.%t.param_patt.267
// CHECK:STDOUT: %t.patt.loc24_13.2 => constants.%t.patt.062
// CHECK:STDOUT: %t.patt.loc24_13.2 => constants.%t.patt.614
// CHECK:STDOUT: %.loc24_21.2 => constants.%.d83
// CHECK:STDOUT: %return.param_patt.loc24_21.2 => constants.%return.param_patt.934
// CHECK:STDOUT: %return.patt.loc24_18.2 => constants.%return.patt.911
@@ -646,7 +646,7 @@ void G() {
// CHECK:STDOUT: %T.as_type.loc24_15.1 => constants.%B
// CHECK:STDOUT: %pattern_type => constants.%pattern_type.e39
// CHECK:STDOUT: %t.param_patt.loc24_13.2 => constants.%t.param_patt.267
// CHECK:STDOUT: %t.patt.loc24_13.2 => constants.%t.patt.062
// CHECK:STDOUT: %t.patt.loc24_13.2 => constants.%t.patt.614
// CHECK:STDOUT: %.loc24_21.2 => constants.%.d83
// CHECK:STDOUT: %return.param_patt.loc24_21.2 => constants.%return.param_patt.934
// CHECK:STDOUT: %return.patt.loc24_18.2 => constants.%return.patt.911
@@ -426,9 +426,9 @@ fn Call() {
// 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: %GlobalNoReturn__carbon_thunk.type.b46fe2.1: type = fn_type @GlobalNoReturn__carbon_thunk.1 [concrete]
// CHECK:STDOUT: %GlobalNoReturn__carbon_thunk.4bc5a6.1: %GlobalNoReturn__carbon_thunk.type.b46fe2.1 = struct_value () [concrete]
// CHECK:STDOUT: %ImplicitAs.type.0ff: type = generic_interface_type @ImplicitAs [concrete]
@@ -459,7 +459,7 @@ fn Call() {
// CHECK:STDOUT: %GlobalReturnInt__carbon_thunk: %GlobalReturnInt__carbon_thunk.type = struct_value () [concrete]
// CHECK:STDOUT: %int_3.1ba: Core.IntLiteral = int_value 3 [concrete]
// CHECK:STDOUT: %c.param_patt: %pattern_type.6b6 = value_param_pattern [concrete]
// CHECK:STDOUT: %c.patt: %pattern_type.6b6 = at_binding_pattern c, %c.param_patt [concrete]
// CHECK:STDOUT: %c.patt: %pattern_type.6b6 = wrapper_binding_pattern c, %c.param_patt [concrete]
// CHECK:STDOUT: %GlobalNoReturn__carbon_thunk.type.b46fe2.2: type = fn_type @GlobalNoReturn__carbon_thunk.2 [concrete]
// CHECK:STDOUT: %GlobalNoReturn__carbon_thunk.4bc5a6.2: %GlobalNoReturn__carbon_thunk.type.b46fe2.2 = struct_value () [concrete]
// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.485: <bound method> = bound_method %int_3.1ba, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete]
@@ -476,7 +476,7 @@ fn Call() {
// CHECK:STDOUT: %bound_method.f8c: <bound method> = bound_method %.414, %X.B.cpp_overload_set.value [concrete]
// CHECK:STDOUT: %pattern_type.fa7: type = pattern_type %X [concrete]
// CHECK:STDOUT: %this.param_patt: %pattern_type.fa7 = value_param_pattern [concrete]
// CHECK:STDOUT: %this.patt: %pattern_type.fa7 = at_binding_pattern this, %this.param_patt [concrete]
// CHECK:STDOUT: %this.patt: %pattern_type.fa7 = wrapper_binding_pattern this, %this.param_patt [concrete]
// CHECK:STDOUT: %B__carbon_thunk.type: type = fn_type @B__carbon_thunk [concrete]
// CHECK:STDOUT: %B__carbon_thunk: %B__carbon_thunk.type = struct_value () [concrete]
// CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete]
@@ -484,7 +484,7 @@ fn Call() {
// CHECK:STDOUT: %Destroy.WithSelf.Op.type.d3e: type = fn_type @Destroy.WithSelf.Op, @Destroy.WithSelf(%Self.0e7) [symbolic]
// CHECK:STDOUT: %Destroy.WithSelf.Op.42b: %Destroy.WithSelf.Op.type.d3e = struct_value () [symbolic]
// CHECK:STDOUT: %self.param_patt.a14: %pattern_type.fa7 = ref_param_pattern [concrete]
// CHECK:STDOUT: %self.patt.37b: %pattern_type.fa7 = at_binding_pattern self, %self.param_patt.a14 [concrete]
// CHECK:STDOUT: %self.patt.3ab: %pattern_type.fa7 = wrapper_binding_pattern self, %self.param_patt.a14 [concrete]
// CHECK:STDOUT: %X.cpp_destructor.type: type = fn_type @X.cpp_destructor [concrete]
// CHECK:STDOUT: %X.cpp_destructor: %X.cpp_destructor.type = struct_value () [concrete]
// CHECK:STDOUT: %custom_witness.c5a: <witness> = custom_witness (), @Destroy [concrete]
@@ -501,7 +501,7 @@ fn Call() {
// CHECK:STDOUT: %ptr.ca1: type = ptr_type %X [concrete]
// CHECK:STDOUT: %pattern_type.cf1: type = pattern_type %ptr.ca1 [concrete]
// CHECK:STDOUT: %_.param_patt: %pattern_type.cf1 = value_param_pattern [concrete]
// CHECK:STDOUT: %_.patt: %pattern_type.cf1 = at_binding_pattern _, %_.param_patt [concrete]
// CHECK:STDOUT: %_.patt: %pattern_type.cf1 = wrapper_binding_pattern _, %_.param_patt [concrete]
// CHECK:STDOUT: %D__carbon_thunk.type: type = fn_type @D__carbon_thunk [concrete]
// CHECK:STDOUT: %D__carbon_thunk: %D__carbon_thunk.type = struct_value () [concrete]
// CHECK:STDOUT: }
@@ -524,9 +524,9 @@ fn Call() {
// CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic]
// CHECK:STDOUT: %GlobalNoReturn__carbon_thunk.decl.04a738.1: %GlobalNoReturn__carbon_thunk.type.b46fe2.1 = fn_decl @GlobalNoReturn__carbon_thunk.1 [concrete = constants.%GlobalNoReturn__carbon_thunk.4bc5a6.1] {
// 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: } {
// CHECK:STDOUT: %a.param: %i32 = value_param call_param0
// CHECK:STDOUT: %.1: type = splice_block %i32.4 [concrete = constants.%i32] {
@@ -549,9 +549,9 @@ fn Call() {
// CHECK:STDOUT: %GlobalReturnInt.cpp_overload_set.value: %GlobalReturnInt.cpp_overload_set.type = cpp_overload_set_value @GlobalReturnInt.cpp_overload_set [concrete = constants.%GlobalReturnInt.cpp_overload_set.value]
// CHECK:STDOUT: %GlobalReturnInt__carbon_thunk.decl: %GlobalReturnInt__carbon_thunk.type = fn_decl @GlobalReturnInt__carbon_thunk [concrete = constants.%GlobalReturnInt__carbon_thunk] {
// 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.2 [concrete = constants.%return.patt.e1b]
// CHECK:STDOUT: } {
@@ -577,11 +577,11 @@ fn Call() {
// CHECK:STDOUT: }
// CHECK:STDOUT: %GlobalNoReturn__carbon_thunk.decl.04a738.2: %GlobalNoReturn__carbon_thunk.type.b46fe2.2 = fn_decl @GlobalNoReturn__carbon_thunk.2 [concrete = constants.%GlobalNoReturn__carbon_thunk.4bc5a6.2] {
// 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: %c.param_patt: %pattern_type.6b6 = value_param_pattern [concrete = constants.%c.param_patt]
// CHECK:STDOUT: %c.patt: %pattern_type.6b6 = at_binding_pattern c, %c.param_patt [concrete = constants.%c.patt]
// CHECK:STDOUT: %c.patt: %pattern_type.6b6 = wrapper_binding_pattern c, %c.param_patt [concrete = constants.%c.patt]
// CHECK:STDOUT: } {
// CHECK:STDOUT: %a.param: %i32 = value_param call_param0
// CHECK:STDOUT: %.1: type = splice_block %i32.6 [concrete = constants.%i32] {
@@ -609,9 +609,9 @@ fn Call() {
// CHECK:STDOUT: %X.B.cpp_overload_set.value: %X.B.cpp_overload_set.type = cpp_overload_set_value @X.B.cpp_overload_set [concrete = constants.%X.B.cpp_overload_set.value]
// CHECK:STDOUT: %B__carbon_thunk.decl: %B__carbon_thunk.type = fn_decl @B__carbon_thunk [concrete = constants.%B__carbon_thunk] {
// CHECK:STDOUT: %this.param_patt: %pattern_type.fa7 = value_param_pattern [concrete = constants.%this.param_patt]
// CHECK:STDOUT: %this.patt: %pattern_type.fa7 = at_binding_pattern this, %this.param_patt [concrete = constants.%this.patt]
// CHECK:STDOUT: %this.patt: %pattern_type.fa7 = wrapper_binding_pattern this, %this.param_patt [concrete = constants.%this.patt]
// 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: } {
// CHECK:STDOUT: %this.param: %X = value_param call_param0
// CHECK:STDOUT: %this: %X = wrapper_binding this, %this.param
@@ -627,7 +627,7 @@ fn Call() {
// CHECK:STDOUT: %Destroy.WithSelf.Op.decl: %Destroy.WithSelf.Op.type.d3e = fn_decl @Destroy.WithSelf.Op [symbolic = @Destroy.WithSelf.%Destroy.WithSelf.Op (constants.%Destroy.WithSelf.Op.42b)] {} {}
// CHECK:STDOUT: %X.cpp_destructor.decl: %X.cpp_destructor.type = fn_decl @X.cpp_destructor [concrete = constants.%X.cpp_destructor] {
// CHECK:STDOUT: %self.param_patt: %pattern_type.fa7 = ref_param_pattern [concrete = constants.%self.param_patt.a14]
// CHECK:STDOUT: %self.patt: %pattern_type.fa7 = at_binding_pattern self, %self.param_patt [concrete = constants.%self.patt.37b]
// CHECK:STDOUT: %self.patt: %pattern_type.fa7 = wrapper_binding_pattern self, %self.param_patt [concrete = constants.%self.patt.3ab]
// CHECK:STDOUT: } {
// CHECK:STDOUT: %self.param: ref %X = ref_param call_param0
// CHECK:STDOUT: %self: ref %X = wrapper_binding self, %self.param
@@ -635,7 +635,7 @@ fn Call() {
// CHECK:STDOUT: %X.C.cpp_overload_set.value: %X.C.cpp_overload_set.type = cpp_overload_set_value @X.C.cpp_overload_set [concrete = constants.%X.C.cpp_overload_set.value]
// CHECK:STDOUT: %C__carbon_thunk.decl: %C__carbon_thunk.type = fn_decl @C__carbon_thunk [concrete = constants.%C__carbon_thunk] {
// 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: } {
// CHECK:STDOUT: %a.param: %i32 = value_param call_param0
// CHECK:STDOUT: %.1: type = splice_block %i32.2 [concrete = constants.%i32] {
@@ -648,9 +648,9 @@ fn Call() {
// CHECK:STDOUT: %X.D.cpp_overload_set.value: %X.D.cpp_overload_set.type = cpp_overload_set_value @X.D.cpp_overload_set [concrete = constants.%X.D.cpp_overload_set.value]
// CHECK:STDOUT: %D__carbon_thunk.decl: %D__carbon_thunk.type = fn_decl @D__carbon_thunk [concrete = constants.%D__carbon_thunk] {
// CHECK:STDOUT: %_.param_patt: %pattern_type.cf1 = value_param_pattern [concrete = constants.%_.param_patt]
// CHECK:STDOUT: %_.patt: %pattern_type.cf1 = at_binding_pattern _, %_.param_patt [concrete = constants.%_.patt]
// CHECK:STDOUT: %_.patt: %pattern_type.cf1 = wrapper_binding_pattern _, %_.param_patt [concrete = constants.%_.patt]
// 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: } {
// CHECK:STDOUT: %_.param: %ptr.ca1 = value_param call_param0
// CHECK:STDOUT: %_: %ptr.ca1 = wrapper_binding _, %_.param
@@ -784,7 +784,7 @@ fn Call() {
// CHECK:STDOUT: %B__carbon_thunk.call: init %empty_tuple.type = call imports.%B__carbon_thunk.decl(%.loc11_7.3, %.loc11_19.2)
// CHECK:STDOUT: %X.Op.decl: %X.Op.type = fn_decl @X.Op [concrete = constants.%X.Op] {
// CHECK:STDOUT: %.1: %pattern_type.fa7 = specific_constant constants.%self.param_patt.a14, @Destroy.WithSelf.Op(constants.%Destroy.facet.761) [concrete = constants.%self.param_patt.a14]
// CHECK:STDOUT: %self.patt: %pattern_type.fa7 = at_binding_pattern self, %.1 [concrete = constants.%self.patt.37b]
// CHECK:STDOUT: %self.patt: %pattern_type.fa7 = wrapper_binding_pattern self, %.1 [concrete = constants.%self.patt.3ab]
// CHECK:STDOUT: } {
// CHECK:STDOUT: %self.param: ref %X = ref_param call_param0
// CHECK:STDOUT: %self: ref %X = wrapper_binding self, %self.param
@@ -99,7 +99,7 @@ fn F() {
// CHECK:STDOUT: %ptr.686: type = ptr_type %i16 [concrete]
// CHECK:STDOUT: %pattern_type.f71: type = pattern_type %ptr.686 [concrete]
// CHECK:STDOUT: %a.param_patt.58a: %pattern_type.f71 = value_param_pattern [concrete]
// CHECK:STDOUT: %a.patt.da1: %pattern_type.f71 = at_binding_pattern a, %a.param_patt.58a [concrete]
// CHECK:STDOUT: %a.patt.3be: %pattern_type.f71 = wrapper_binding_pattern a, %a.param_patt.58a [concrete]
// CHECK:STDOUT: %foo__carbon_thunk.type: type = fn_type @foo__carbon_thunk [concrete]
// CHECK:STDOUT: %foo__carbon_thunk: %foo__carbon_thunk.type = struct_value () [concrete]
// CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete]
@@ -142,7 +142,7 @@ fn F() {
// CHECK:STDOUT: %As.impl_witness_table.d22 = impl_witness_table (%Core.import_ref.64b), @Core.IntLiteral.as.As.impl [concrete]
// CHECK:STDOUT: %foo__carbon_thunk.decl: %foo__carbon_thunk.type = fn_decl @foo__carbon_thunk [concrete = constants.%foo__carbon_thunk] {
// CHECK:STDOUT: %a.param_patt: %pattern_type.f71 = value_param_pattern [concrete = constants.%a.param_patt.58a]
// CHECK:STDOUT: %a.patt: %pattern_type.f71 = at_binding_pattern a, %a.param_patt [concrete = constants.%a.patt.da1]
// CHECK:STDOUT: %a.patt: %pattern_type.f71 = wrapper_binding_pattern a, %a.param_patt [concrete = constants.%a.patt.3be]
// CHECK:STDOUT: } {
// CHECK:STDOUT: %a.param: %ptr.686 = value_param call_param0
// CHECK:STDOUT: %.1: type = splice_block constants.%ptr.686 [concrete = constants.%ptr.686] {
@@ -223,7 +223,7 @@ fn F() {
// 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: %foo.type: type = fn_type @foo [concrete]
// CHECK:STDOUT: %foo: %foo.type = struct_value () [concrete]
// CHECK:STDOUT: %ImplicitAs.type.0ff: type = generic_interface_type @ImplicitAs [concrete]
@@ -259,7 +259,7 @@ fn F() {
// CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic]
// CHECK:STDOUT: %foo.decl: %foo.type = fn_decl @foo [concrete = constants.%foo] {
// 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: } {
// CHECK:STDOUT: %a.param: %i32 = value_param call_param0
// CHECK:STDOUT: %.1: type = splice_block %i32.2 [concrete = constants.%i32] {
@@ -323,7 +323,7 @@ fn F() {
// CHECK:STDOUT: %ptr: type = ptr_type %i16 [concrete]
// CHECK:STDOUT: %pattern_type.f71: type = pattern_type %ptr [concrete]
// CHECK:STDOUT: %return.param_patt.667: %pattern_type.f71 = value_param_pattern [concrete]
// CHECK:STDOUT: %return.patt.4ab: %pattern_type.f71 = at_binding_pattern r#return, %return.param_patt.667 [concrete]
// CHECK:STDOUT: %return.patt.f57: %pattern_type.f71 = wrapper_binding_pattern r#return, %return.param_patt.667 [concrete]
// CHECK:STDOUT: %foo_short__carbon_thunk.type: type = fn_type @foo_short__carbon_thunk [concrete]
// CHECK:STDOUT: %foo_short__carbon_thunk: %foo_short__carbon_thunk.type = struct_value () [concrete]
// CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete]
@@ -346,7 +346,7 @@ fn F() {
// CHECK:STDOUT: %foo_short.cpp_overload_set.value: %foo_short.cpp_overload_set.type = cpp_overload_set_value @foo_short.cpp_overload_set [concrete = constants.%foo_short.cpp_overload_set.value]
// CHECK:STDOUT: %foo_short__carbon_thunk.decl: %foo_short__carbon_thunk.type = fn_decl @foo_short__carbon_thunk [concrete = constants.%foo_short__carbon_thunk] {
// CHECK:STDOUT: %return.param_patt: %pattern_type.f71 = value_param_pattern [concrete = constants.%return.param_patt.667]
// CHECK:STDOUT: %return.patt: %pattern_type.f71 = at_binding_pattern r#return, %return.param_patt [concrete = constants.%return.patt.4ab]
// CHECK:STDOUT: %return.patt: %pattern_type.f71 = wrapper_binding_pattern r#return, %return.param_patt [concrete = constants.%return.patt.f57]
// CHECK:STDOUT: } {
// CHECK:STDOUT: %return.param: %ptr = value_param call_param0
// CHECK:STDOUT: %.1: type = splice_block constants.%ptr [concrete = constants.%ptr] {
@@ -281,7 +281,7 @@ fn Var() {
// CHECK:STDOUT: %ptr: type = ptr_type %u8 [concrete]
// CHECK:STDOUT: %pattern_type.015: type = pattern_type %ptr [concrete]
// CHECK:STDOUT: %return.param_patt.d05: %pattern_type.015 = value_param_pattern [concrete]
// CHECK:STDOUT: %return.patt.cb2: %pattern_type.015 = at_binding_pattern r#return, %return.param_patt.d05 [concrete]
// CHECK:STDOUT: %return.patt.f47: %pattern_type.015 = wrapper_binding_pattern r#return, %return.param_patt.d05 [concrete]
// CHECK:STDOUT: %ReturnU8__carbon_thunk.type: type = fn_type @ReturnU8__carbon_thunk [concrete]
// CHECK:STDOUT: %ReturnU8__carbon_thunk: %ReturnU8__carbon_thunk.type = struct_value () [concrete]
// CHECK:STDOUT: }
@@ -300,7 +300,7 @@ fn Var() {
// CHECK:STDOUT: %ReturnU8.cpp_overload_set.value: %ReturnU8.cpp_overload_set.type = cpp_overload_set_value @ReturnU8.cpp_overload_set [concrete = constants.%ReturnU8.cpp_overload_set.value]
// CHECK:STDOUT: %ReturnU8__carbon_thunk.decl: %ReturnU8__carbon_thunk.type = fn_decl @ReturnU8__carbon_thunk [concrete = constants.%ReturnU8__carbon_thunk] {
// CHECK:STDOUT: %return.param_patt: %pattern_type.015 = value_param_pattern [concrete = constants.%return.param_patt.d05]
// CHECK:STDOUT: %return.patt: %pattern_type.015 = at_binding_pattern r#return, %return.param_patt [concrete = constants.%return.patt.cb2]
// CHECK:STDOUT: %return.patt: %pattern_type.015 = wrapper_binding_pattern r#return, %return.param_patt [concrete = constants.%return.patt.f47]
// CHECK:STDOUT: } {
// CHECK:STDOUT: %return.param: %ptr = value_param call_param0
// CHECK:STDOUT: %.1: type = splice_block constants.%ptr [concrete = constants.%ptr] {