|
|
@@ -128,11 +128,13 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) {
|
|
|
// CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete]
|
|
|
// CHECK:STDOUT: %i32.builtin: type = int_type signed, %int_32 [concrete]
|
|
|
// CHECK:STDOUT: %complete_type.f8a: <witness> = complete_type_witness %i32.builtin [concrete]
|
|
|
+// CHECK:STDOUT: %pattern_type.cdf: type = pattern_type %AdaptCopyable [concrete]
|
|
|
// CHECK:STDOUT: %F.type: type = fn_type @F [concrete]
|
|
|
// CHECK:STDOUT: %F: %F.type = struct_value () [concrete]
|
|
|
// CHECK:STDOUT: %u32: type = class_type @UInt, @UInt(%int_32) [concrete]
|
|
|
// CHECK:STDOUT: %tuple.type.24b: type = tuple_type (type, type) [concrete]
|
|
|
// CHECK:STDOUT: %tuple.type.2a3: type = tuple_type (%AdaptCopyable, %u32) [concrete]
|
|
|
+// CHECK:STDOUT: %pattern_type.813: type = pattern_type %tuple.type.2a3 [concrete]
|
|
|
// CHECK:STDOUT: %InTuple.type: type = fn_type @InTuple [concrete]
|
|
|
// CHECK:STDOUT: %InTuple: %InTuple.type = struct_value () [concrete]
|
|
|
// CHECK:STDOUT: }
|
|
|
@@ -156,10 +158,10 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) {
|
|
|
// CHECK:STDOUT: %Core.import = import Core
|
|
|
// CHECK:STDOUT: %AdaptCopyable.decl: type = class_decl @AdaptCopyable [concrete = constants.%AdaptCopyable] {} {}
|
|
|
// CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] {
|
|
|
-// CHECK:STDOUT: %c.patt: %AdaptCopyable = binding_pattern c
|
|
|
-// CHECK:STDOUT: %c.param_patt: %AdaptCopyable = value_param_pattern %c.patt, call_param0
|
|
|
-// CHECK:STDOUT: %return.patt: %AdaptCopyable = return_slot_pattern
|
|
|
-// CHECK:STDOUT: %return.param_patt: %AdaptCopyable = out_param_pattern %return.patt, call_param1
|
|
|
+// CHECK:STDOUT: %c.patt: %pattern_type.cdf = binding_pattern c
|
|
|
+// CHECK:STDOUT: %c.param_patt: %pattern_type.cdf = value_param_pattern %c.patt, call_param0
|
|
|
+// CHECK:STDOUT: %return.patt: %pattern_type.cdf = return_slot_pattern
|
|
|
+// CHECK:STDOUT: %return.param_patt: %pattern_type.cdf = out_param_pattern %return.patt, call_param1
|
|
|
// CHECK:STDOUT: } {
|
|
|
// CHECK:STDOUT: %AdaptCopyable.ref.loc10_27: type = name_ref AdaptCopyable, file.%AdaptCopyable.decl [concrete = constants.%AdaptCopyable]
|
|
|
// CHECK:STDOUT: %c.param: %AdaptCopyable = value_param call_param0
|
|
|
@@ -169,10 +171,10 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) {
|
|
|
// CHECK:STDOUT: %return: ref %AdaptCopyable = return_slot %return.param
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: %InTuple.decl: %InTuple.type = fn_decl @InTuple [concrete = constants.%InTuple] {
|
|
|
-// CHECK:STDOUT: %c.patt: %tuple.type.2a3 = binding_pattern c
|
|
|
-// CHECK:STDOUT: %c.param_patt: %tuple.type.2a3 = value_param_pattern %c.patt, call_param0
|
|
|
-// CHECK:STDOUT: %return.patt: %tuple.type.2a3 = return_slot_pattern
|
|
|
-// CHECK:STDOUT: %return.param_patt: %tuple.type.2a3 = out_param_pattern %return.patt, call_param1
|
|
|
+// CHECK:STDOUT: %c.patt: %pattern_type.813 = binding_pattern c
|
|
|
+// CHECK:STDOUT: %c.param_patt: %pattern_type.813 = value_param_pattern %c.patt, call_param0
|
|
|
+// CHECK:STDOUT: %return.patt: %pattern_type.813 = return_slot_pattern
|
|
|
+// CHECK:STDOUT: %return.param_patt: %pattern_type.813 = out_param_pattern %return.patt, call_param1
|
|
|
// CHECK:STDOUT: } {
|
|
|
// CHECK:STDOUT: %AdaptCopyable.ref.loc15_41: type = name_ref AdaptCopyable, file.%AdaptCopyable.decl [concrete = constants.%AdaptCopyable]
|
|
|
// CHECK:STDOUT: %int_32.loc15_56: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
|
|
@@ -207,8 +209,8 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) {
|
|
|
// CHECK:STDOUT: fn @F(%c.param: %AdaptCopyable) -> %AdaptCopyable {
|
|
|
// CHECK:STDOUT: !entry:
|
|
|
// CHECK:STDOUT: name_binding_decl {
|
|
|
-// CHECK:STDOUT: %d.patt: %AdaptCopyable = binding_pattern d
|
|
|
-// CHECK:STDOUT: %.loc11: %AdaptCopyable = var_pattern %d.patt
|
|
|
+// CHECK:STDOUT: %d.patt: %pattern_type.cdf = binding_pattern d
|
|
|
+// CHECK:STDOUT: %.loc11: %pattern_type.cdf = var_pattern %d.patt
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: %d.var: ref %AdaptCopyable = var d
|
|
|
// CHECK:STDOUT: %c.ref: %AdaptCopyable = name_ref c, %c
|
|
|
@@ -223,8 +225,8 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) {
|
|
|
// CHECK:STDOUT: fn @InTuple(%c.param: %tuple.type.2a3) -> %return.param: %tuple.type.2a3 {
|
|
|
// CHECK:STDOUT: !entry:
|
|
|
// CHECK:STDOUT: name_binding_decl {
|
|
|
-// CHECK:STDOUT: %d.patt: %tuple.type.2a3 = binding_pattern d
|
|
|
-// CHECK:STDOUT: %.loc16_3.1: %tuple.type.2a3 = var_pattern %d.patt
|
|
|
+// CHECK:STDOUT: %d.patt: %pattern_type.813 = binding_pattern d
|
|
|
+// CHECK:STDOUT: %.loc16_3.1: %pattern_type.813 = var_pattern %d.patt
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: %d.var: ref %tuple.type.2a3 = var d
|
|
|
// CHECK:STDOUT: %c.ref: %tuple.type.2a3 = name_ref c, %c
|
|
|
@@ -268,10 +270,12 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) {
|
|
|
// CHECK:STDOUT: %tuple.type.24b: type = tuple_type (type, type) [concrete]
|
|
|
// CHECK:STDOUT: %tuple.type.d07: type = tuple_type (%i32, %i32) [concrete]
|
|
|
// CHECK:STDOUT: %complete_type.65d: <witness> = complete_type_witness %tuple.type.d07 [concrete]
|
|
|
+// CHECK:STDOUT: %pattern_type.562: type = pattern_type %AdaptTuple [concrete]
|
|
|
// CHECK:STDOUT: %F.type: type = fn_type @F [concrete]
|
|
|
// CHECK:STDOUT: %F: %F.type = struct_value () [concrete]
|
|
|
// CHECK:STDOUT: %u32: type = class_type @UInt, @UInt(%int_32) [concrete]
|
|
|
// CHECK:STDOUT: %tuple.type.f69: type = tuple_type (%AdaptTuple, %u32) [concrete]
|
|
|
+// CHECK:STDOUT: %pattern_type.c9e: type = pattern_type %tuple.type.f69 [concrete]
|
|
|
// CHECK:STDOUT: %InTuple.type: type = fn_type @InTuple [concrete]
|
|
|
// CHECK:STDOUT: %InTuple: %InTuple.type = struct_value () [concrete]
|
|
|
// CHECK:STDOUT: }
|
|
|
@@ -295,10 +299,10 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) {
|
|
|
// CHECK:STDOUT: %Core.import = import Core
|
|
|
// CHECK:STDOUT: %AdaptTuple.decl: type = class_decl @AdaptTuple [concrete = constants.%AdaptTuple] {} {}
|
|
|
// CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] {
|
|
|
-// CHECK:STDOUT: %c.patt: %AdaptTuple = binding_pattern c
|
|
|
-// CHECK:STDOUT: %c.param_patt: %AdaptTuple = value_param_pattern %c.patt, call_param0
|
|
|
-// CHECK:STDOUT: %return.patt: %AdaptTuple = return_slot_pattern
|
|
|
-// CHECK:STDOUT: %return.param_patt: %AdaptTuple = out_param_pattern %return.patt, call_param1
|
|
|
+// CHECK:STDOUT: %c.patt: %pattern_type.562 = binding_pattern c
|
|
|
+// CHECK:STDOUT: %c.param_patt: %pattern_type.562 = value_param_pattern %c.patt, call_param0
|
|
|
+// CHECK:STDOUT: %return.patt: %pattern_type.562 = return_slot_pattern
|
|
|
+// CHECK:STDOUT: %return.param_patt: %pattern_type.562 = out_param_pattern %return.patt, call_param1
|
|
|
// CHECK:STDOUT: } {
|
|
|
// CHECK:STDOUT: %AdaptTuple.ref.loc8_24: type = name_ref AdaptTuple, file.%AdaptTuple.decl [concrete = constants.%AdaptTuple]
|
|
|
// CHECK:STDOUT: %c.param: %AdaptTuple = value_param call_param0
|
|
|
@@ -308,10 +312,10 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) {
|
|
|
// CHECK:STDOUT: %return: ref %AdaptTuple = return_slot %return.param
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: %InTuple.decl: %InTuple.type = fn_decl @InTuple [concrete = constants.%InTuple] {
|
|
|
-// CHECK:STDOUT: %c.patt: %tuple.type.f69 = binding_pattern c
|
|
|
-// CHECK:STDOUT: %c.param_patt: %tuple.type.f69 = value_param_pattern %c.patt, call_param0
|
|
|
-// CHECK:STDOUT: %return.patt: %tuple.type.f69 = return_slot_pattern
|
|
|
-// CHECK:STDOUT: %return.param_patt: %tuple.type.f69 = out_param_pattern %return.patt, call_param1
|
|
|
+// CHECK:STDOUT: %c.patt: %pattern_type.c9e = binding_pattern c
|
|
|
+// CHECK:STDOUT: %c.param_patt: %pattern_type.c9e = value_param_pattern %c.patt, call_param0
|
|
|
+// CHECK:STDOUT: %return.patt: %pattern_type.c9e = return_slot_pattern
|
|
|
+// CHECK:STDOUT: %return.param_patt: %pattern_type.c9e = out_param_pattern %return.patt, call_param1
|
|
|
// CHECK:STDOUT: } {
|
|
|
// CHECK:STDOUT: %AdaptTuple.ref.loc13_38: type = name_ref AdaptTuple, file.%AdaptTuple.decl [concrete = constants.%AdaptTuple]
|
|
|
// CHECK:STDOUT: %int_32.loc13_50: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
|
|
@@ -350,8 +354,8 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) {
|
|
|
// CHECK:STDOUT: fn @F(%c.param: %AdaptTuple) -> %return.param: %AdaptTuple {
|
|
|
// CHECK:STDOUT: !entry:
|
|
|
// CHECK:STDOUT: name_binding_decl {
|
|
|
-// CHECK:STDOUT: %d.patt: %AdaptTuple = binding_pattern d
|
|
|
-// CHECK:STDOUT: %.loc9_3.1: %AdaptTuple = var_pattern %d.patt
|
|
|
+// CHECK:STDOUT: %d.patt: %pattern_type.562 = binding_pattern d
|
|
|
+// CHECK:STDOUT: %.loc9_3.1: %pattern_type.562 = var_pattern %d.patt
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: %d.var: ref %AdaptTuple = var d
|
|
|
// CHECK:STDOUT: %c.ref: %AdaptTuple = name_ref c, %c
|
|
|
@@ -389,8 +393,8 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) {
|
|
|
// CHECK:STDOUT: fn @InTuple(%c.param: %tuple.type.f69) -> %return.param: %tuple.type.f69 {
|
|
|
// CHECK:STDOUT: !entry:
|
|
|
// CHECK:STDOUT: name_binding_decl {
|
|
|
-// CHECK:STDOUT: %d.patt: %tuple.type.f69 = binding_pattern d
|
|
|
-// CHECK:STDOUT: %.loc14_3.1: %tuple.type.f69 = var_pattern %d.patt
|
|
|
+// CHECK:STDOUT: %d.patt: %pattern_type.c9e = binding_pattern d
|
|
|
+// CHECK:STDOUT: %.loc14_3.1: %pattern_type.c9e = var_pattern %d.patt
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: %d.var: ref %tuple.type.f69 = var d
|
|
|
// CHECK:STDOUT: %c.ref: %tuple.type.f69 = name_ref c, %c
|
|
|
@@ -453,6 +457,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) {
|
|
|
// CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete]
|
|
|
// CHECK:STDOUT: %complete_type: <witness> = complete_type_witness %empty_struct_type [concrete]
|
|
|
// CHECK:STDOUT: %AdaptNoncopyable: type = class_type @AdaptNoncopyable [concrete]
|
|
|
+// CHECK:STDOUT: %pattern_type: type = pattern_type %AdaptNoncopyable [concrete]
|
|
|
// CHECK:STDOUT: %G.type: type = fn_type @G [concrete]
|
|
|
// CHECK:STDOUT: %G: %G.type = struct_value () [concrete]
|
|
|
// CHECK:STDOUT: }
|
|
|
@@ -475,10 +480,10 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) {
|
|
|
// CHECK:STDOUT: %Noncopyable.decl: type = class_decl @Noncopyable [concrete = constants.%Noncopyable] {} {}
|
|
|
// CHECK:STDOUT: %AdaptNoncopyable.decl: type = class_decl @AdaptNoncopyable [concrete = constants.%AdaptNoncopyable] {} {}
|
|
|
// CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [concrete = constants.%G] {
|
|
|
-// CHECK:STDOUT: %a.patt: %AdaptNoncopyable = binding_pattern a
|
|
|
-// CHECK:STDOUT: %a.param_patt: %AdaptNoncopyable = value_param_pattern %a.patt, call_param0
|
|
|
-// CHECK:STDOUT: %return.patt: %AdaptNoncopyable = return_slot_pattern
|
|
|
-// CHECK:STDOUT: %return.param_patt: %AdaptNoncopyable = out_param_pattern %return.patt, call_param1
|
|
|
+// CHECK:STDOUT: %a.patt: %pattern_type = binding_pattern a
|
|
|
+// CHECK:STDOUT: %a.param_patt: %pattern_type = value_param_pattern %a.patt, call_param0
|
|
|
+// CHECK:STDOUT: %return.patt: %pattern_type = return_slot_pattern
|
|
|
+// CHECK:STDOUT: %return.param_patt: %pattern_type = out_param_pattern %return.patt, call_param1
|
|
|
// CHECK:STDOUT: } {
|
|
|
// CHECK:STDOUT: %AdaptNoncopyable.ref.loc12_30: type = name_ref AdaptNoncopyable, file.%AdaptNoncopyable.decl [concrete = constants.%AdaptNoncopyable]
|
|
|
// CHECK:STDOUT: %a.param: %AdaptNoncopyable = value_param call_param0
|
|
|
@@ -512,8 +517,8 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) {
|
|
|
// CHECK:STDOUT: fn @G(%a.param: %AdaptNoncopyable) -> %return.param: %AdaptNoncopyable {
|
|
|
// CHECK:STDOUT: !entry:
|
|
|
// CHECK:STDOUT: name_binding_decl {
|
|
|
-// CHECK:STDOUT: %b.patt: %AdaptNoncopyable = binding_pattern b
|
|
|
-// CHECK:STDOUT: %.loc17: %AdaptNoncopyable = var_pattern %b.patt
|
|
|
+// CHECK:STDOUT: %b.patt: %pattern_type = binding_pattern b
|
|
|
+// CHECK:STDOUT: %.loc17: %pattern_type = var_pattern %b.patt
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: %b.var: ref %AdaptNoncopyable = var b
|
|
|
// CHECK:STDOUT: %a.ref: %AdaptNoncopyable = name_ref a, %a
|
|
|
@@ -537,6 +542,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) {
|
|
|
// CHECK:STDOUT: %tuple.type.ff9: type = tuple_type (type, type, type) [concrete]
|
|
|
// CHECK:STDOUT: %tuple.type.c9a: type = tuple_type (%i32, %Noncopyable, %i32) [concrete]
|
|
|
// CHECK:STDOUT: %complete_type.201: <witness> = complete_type_witness %tuple.type.c9a [concrete]
|
|
|
+// CHECK:STDOUT: %pattern_type.7e5: type = pattern_type %AdaptNoncopyableIndirect [concrete]
|
|
|
// CHECK:STDOUT: %H.type: type = fn_type @H [concrete]
|
|
|
// CHECK:STDOUT: %H: %H.type = struct_value () [concrete]
|
|
|
// CHECK:STDOUT: }
|
|
|
@@ -560,10 +566,10 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) {
|
|
|
// CHECK:STDOUT: %Noncopyable.decl: type = class_decl @Noncopyable [concrete = constants.%Noncopyable] {} {}
|
|
|
// CHECK:STDOUT: %AdaptNoncopyableIndirect.decl: type = class_decl @AdaptNoncopyableIndirect [concrete = constants.%AdaptNoncopyableIndirect] {} {}
|
|
|
// CHECK:STDOUT: %H.decl: %H.type = fn_decl @H [concrete = constants.%H] {
|
|
|
-// CHECK:STDOUT: %a.patt: %AdaptNoncopyableIndirect = binding_pattern a
|
|
|
-// CHECK:STDOUT: %a.param_patt: %AdaptNoncopyableIndirect = value_param_pattern %a.patt, call_param0
|
|
|
-// CHECK:STDOUT: %return.patt: %AdaptNoncopyableIndirect = return_slot_pattern
|
|
|
-// CHECK:STDOUT: %return.param_patt: %AdaptNoncopyableIndirect = out_param_pattern %return.patt, call_param1
|
|
|
+// CHECK:STDOUT: %a.patt: %pattern_type.7e5 = binding_pattern a
|
|
|
+// CHECK:STDOUT: %a.param_patt: %pattern_type.7e5 = value_param_pattern %a.patt, call_param0
|
|
|
+// CHECK:STDOUT: %return.patt: %pattern_type.7e5 = return_slot_pattern
|
|
|
+// CHECK:STDOUT: %return.param_patt: %pattern_type.7e5 = out_param_pattern %return.patt, call_param1
|
|
|
// CHECK:STDOUT: } {
|
|
|
// CHECK:STDOUT: %AdaptNoncopyableIndirect.ref.loc12_38: type = name_ref AdaptNoncopyableIndirect, file.%AdaptNoncopyableIndirect.decl [concrete = constants.%AdaptNoncopyableIndirect]
|
|
|
// CHECK:STDOUT: %a.param: %AdaptNoncopyableIndirect = value_param call_param0
|
|
|
@@ -603,8 +609,8 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) {
|
|
|
// CHECK:STDOUT: fn @H(%a.param: %AdaptNoncopyableIndirect) -> %return.param: %AdaptNoncopyableIndirect {
|
|
|
// CHECK:STDOUT: !entry:
|
|
|
// CHECK:STDOUT: name_binding_decl {
|
|
|
-// CHECK:STDOUT: %b.patt: %AdaptNoncopyableIndirect = binding_pattern b
|
|
|
-// CHECK:STDOUT: %.loc20_3.1: %AdaptNoncopyableIndirect = var_pattern %b.patt
|
|
|
+// CHECK:STDOUT: %b.patt: %pattern_type.7e5 = binding_pattern b
|
|
|
+// CHECK:STDOUT: %.loc20_3.1: %pattern_type.7e5 = var_pattern %b.patt
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: %b.var: ref %AdaptNoncopyableIndirect = var b
|
|
|
// CHECK:STDOUT: %a.ref: %AdaptNoncopyableIndirect = name_ref a, %a
|
|
|
@@ -637,11 +643,13 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) {
|
|
|
// CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete]
|
|
|
// CHECK:STDOUT: %struct_type.e.f: type = struct_type {.e: %i32, .f: %i32} [concrete]
|
|
|
// CHECK:STDOUT: %complete_type.511: <witness> = complete_type_witness %struct_type.e.f [concrete]
|
|
|
+// CHECK:STDOUT: %pattern_type.f45: type = pattern_type %AdaptStruct [concrete]
|
|
|
// CHECK:STDOUT: %I.type: type = fn_type @I [concrete]
|
|
|
// CHECK:STDOUT: %I: %I.type = struct_value () [concrete]
|
|
|
// CHECK:STDOUT: %u32: type = class_type @UInt, @UInt(%int_32) [concrete]
|
|
|
// CHECK:STDOUT: %tuple.type.24b: type = tuple_type (type, type) [concrete]
|
|
|
// CHECK:STDOUT: %tuple.type.80b: type = tuple_type (%AdaptStruct, %u32) [concrete]
|
|
|
+// CHECK:STDOUT: %pattern_type.31d: type = pattern_type %tuple.type.80b [concrete]
|
|
|
// CHECK:STDOUT: %InTuple.type: type = fn_type @InTuple [concrete]
|
|
|
// CHECK:STDOUT: %InTuple: %InTuple.type = struct_value () [concrete]
|
|
|
// CHECK:STDOUT: }
|
|
|
@@ -665,10 +673,10 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) {
|
|
|
// CHECK:STDOUT: %Core.import = import Core
|
|
|
// CHECK:STDOUT: %AdaptStruct.decl: type = class_decl @AdaptStruct [concrete = constants.%AdaptStruct] {} {}
|
|
|
// CHECK:STDOUT: %I.decl: %I.type = fn_decl @I [concrete = constants.%I] {
|
|
|
-// CHECK:STDOUT: %g.patt: %AdaptStruct = binding_pattern g
|
|
|
-// CHECK:STDOUT: %g.param_patt: %AdaptStruct = value_param_pattern %g.patt, call_param0
|
|
|
-// CHECK:STDOUT: %return.patt: %AdaptStruct = return_slot_pattern
|
|
|
-// CHECK:STDOUT: %return.param_patt: %AdaptStruct = out_param_pattern %return.patt, call_param1
|
|
|
+// CHECK:STDOUT: %g.patt: %pattern_type.f45 = binding_pattern g
|
|
|
+// CHECK:STDOUT: %g.param_patt: %pattern_type.f45 = value_param_pattern %g.patt, call_param0
|
|
|
+// CHECK:STDOUT: %return.patt: %pattern_type.f45 = return_slot_pattern
|
|
|
+// CHECK:STDOUT: %return.param_patt: %pattern_type.f45 = out_param_pattern %return.patt, call_param1
|
|
|
// CHECK:STDOUT: } {
|
|
|
// CHECK:STDOUT: %AdaptStruct.ref.loc8_25: type = name_ref AdaptStruct, file.%AdaptStruct.decl [concrete = constants.%AdaptStruct]
|
|
|
// CHECK:STDOUT: %g.param: %AdaptStruct = value_param call_param0
|
|
|
@@ -678,10 +686,10 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) {
|
|
|
// CHECK:STDOUT: %return: ref %AdaptStruct = return_slot %return.param
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: %InTuple.decl: %InTuple.type = fn_decl @InTuple [concrete = constants.%InTuple] {
|
|
|
-// CHECK:STDOUT: %c.patt: %tuple.type.80b = binding_pattern c
|
|
|
-// CHECK:STDOUT: %c.param_patt: %tuple.type.80b = value_param_pattern %c.patt, call_param0
|
|
|
-// CHECK:STDOUT: %return.patt: %tuple.type.80b = return_slot_pattern
|
|
|
-// CHECK:STDOUT: %return.param_patt: %tuple.type.80b = out_param_pattern %return.patt, call_param1
|
|
|
+// CHECK:STDOUT: %c.patt: %pattern_type.31d = binding_pattern c
|
|
|
+// CHECK:STDOUT: %c.param_patt: %pattern_type.31d = value_param_pattern %c.patt, call_param0
|
|
|
+// CHECK:STDOUT: %return.patt: %pattern_type.31d = return_slot_pattern
|
|
|
+// CHECK:STDOUT: %return.param_patt: %pattern_type.31d = out_param_pattern %return.patt, call_param1
|
|
|
// CHECK:STDOUT: } {
|
|
|
// CHECK:STDOUT: %AdaptStruct.ref.loc13_39: type = name_ref AdaptStruct, file.%AdaptStruct.decl [concrete = constants.%AdaptStruct]
|
|
|
// CHECK:STDOUT: %int_32.loc13_52: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
|
|
@@ -719,8 +727,8 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) {
|
|
|
// CHECK:STDOUT: fn @I(%g.param: %AdaptStruct) -> %return.param: %AdaptStruct {
|
|
|
// CHECK:STDOUT: !entry:
|
|
|
// CHECK:STDOUT: name_binding_decl {
|
|
|
-// CHECK:STDOUT: %h.patt: %AdaptStruct = binding_pattern h
|
|
|
-// CHECK:STDOUT: %.loc9_3.1: %AdaptStruct = var_pattern %h.patt
|
|
|
+// CHECK:STDOUT: %h.patt: %pattern_type.f45 = binding_pattern h
|
|
|
+// CHECK:STDOUT: %.loc9_3.1: %pattern_type.f45 = var_pattern %h.patt
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: %h.var: ref %AdaptStruct = var h
|
|
|
// CHECK:STDOUT: %g.ref: %AdaptStruct = name_ref g, %g
|
|
|
@@ -758,8 +766,8 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) {
|
|
|
// CHECK:STDOUT: fn @InTuple(%c.param: %tuple.type.80b) -> %return.param: %tuple.type.80b {
|
|
|
// CHECK:STDOUT: !entry:
|
|
|
// CHECK:STDOUT: name_binding_decl {
|
|
|
-// CHECK:STDOUT: %d.patt: %tuple.type.80b = binding_pattern d
|
|
|
-// CHECK:STDOUT: %.loc14_3.1: %tuple.type.80b = var_pattern %d.patt
|
|
|
+// CHECK:STDOUT: %d.patt: %pattern_type.31d = binding_pattern d
|
|
|
+// CHECK:STDOUT: %.loc14_3.1: %pattern_type.31d = var_pattern %d.patt
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: %d.var: ref %tuple.type.80b = var d
|
|
|
// CHECK:STDOUT: %c.ref: %tuple.type.80b = name_ref c, %c
|