|
|
@@ -295,12 +295,12 @@ fn Foo[T:! type](p: T*) -> (T*, ()) {
|
|
|
// CHECK:STDOUT: entity_name60: {name: name6, parent_scope: name_scope<none>, index: 2, is_template: 0, clang_decl_id: clang_decl_id<none>}
|
|
|
// CHECK:STDOUT: entity_name61: {name: name6, parent_scope: name_scope<none>, index: 2, is_template: 0, clang_decl_id: clang_decl_id<none>}
|
|
|
// CHECK:STDOUT: functions:
|
|
|
-// CHECK:STDOUT: function0: {name: name0, parent_scope: name_scope0, call_params_id: inst_block13, return_slot_pattern: inst60000030, body: [inst_block20]}
|
|
|
-// CHECK:STDOUT: function1: {name: name4, parent_scope: name_scope2, return_slot_pattern: inst60000055}
|
|
|
-// CHECK:STDOUT: function2: {name: name4, parent_scope: name_scope3, return_slot_pattern: inst60000073}
|
|
|
-// CHECK:STDOUT: function3: {name: name4, parent_scope: name_scope8, return_slot_pattern: inst600000AA}
|
|
|
-// CHECK:STDOUT: function4: {name: name4, parent_scope: name_scope11, return_slot_pattern: inst600000D5}
|
|
|
-// CHECK:STDOUT: function5: {name: name4, parent_scope: name_scope12, return_slot_pattern: inst60000111}
|
|
|
+// CHECK:STDOUT: function60000000: {name: name0, parent_scope: name_scope0, call_params_id: inst_block13, return_slot_pattern: inst60000030, body: [inst_block20]}
|
|
|
+// CHECK:STDOUT: function60000001: {name: name4, parent_scope: name_scope2, return_slot_pattern: inst60000055}
|
|
|
+// CHECK:STDOUT: function60000002: {name: name4, parent_scope: name_scope3, return_slot_pattern: inst60000073}
|
|
|
+// CHECK:STDOUT: function60000003: {name: name4, parent_scope: name_scope8, return_slot_pattern: inst600000AA}
|
|
|
+// CHECK:STDOUT: function60000004: {name: name4, parent_scope: name_scope11, return_slot_pattern: inst600000D5}
|
|
|
+// CHECK:STDOUT: function60000005: {name: name4, parent_scope: name_scope12, return_slot_pattern: inst60000111}
|
|
|
// CHECK:STDOUT: classes: {}
|
|
|
// CHECK:STDOUT: generics:
|
|
|
// CHECK:STDOUT: generic0: {decl: inst60000035, bindings: inst_block16}
|
|
|
@@ -418,8 +418,8 @@ fn Foo[T:! type](p: T*) -> (T*, ()) {
|
|
|
// CHECK:STDOUT: inst60000032: {kind: SpliceBlock, arg0: inst_block6, arg1: inst6000001A, type: type(TypeType)}
|
|
|
// CHECK:STDOUT: inst60000033: {kind: OutParam, arg0: call_param1, arg1: name(ReturnSlot), type: type(symbolic_constant8)}
|
|
|
// CHECK:STDOUT: inst60000034: {kind: ReturnSlot, arg0: inst6000002A, arg1: inst60000033, type: type(symbolic_constant8)}
|
|
|
-// CHECK:STDOUT: inst60000035: {kind: FunctionDecl, arg0: function0, arg1: inst_block15, type: type(inst60000036)}
|
|
|
-// CHECK:STDOUT: inst60000036: {kind: FunctionType, arg0: function0, arg1: specific<none>, type: type(TypeType)}
|
|
|
+// CHECK:STDOUT: inst60000035: {kind: FunctionDecl, arg0: function60000000, arg1: inst_block15, type: type(inst60000036)}
|
|
|
+// CHECK:STDOUT: inst60000036: {kind: FunctionType, arg0: function60000000, arg1: specific<none>, type: type(TypeType)}
|
|
|
// CHECK:STDOUT: inst60000037: {kind: StructValue, arg0: inst_block_empty, type: type(inst60000036)}
|
|
|
// CHECK:STDOUT: inst60000038: {kind: PointerType, arg0: inst6000002A, type: type(TypeType)}
|
|
|
// CHECK:STDOUT: inst60000039: {kind: RequireCompleteType, arg0: inst6000002A, type: type(inst(WitnessType))}
|
|
|
@@ -444,8 +444,8 @@ fn Foo[T:! type](p: T*) -> (T*, ()) {
|
|
|
// CHECK:STDOUT: inst6000004C: {kind: AssociatedEntityType, arg0: interface0, arg1: specific<none>, type: type(TypeType)}
|
|
|
// CHECK:STDOUT: inst6000004D: {kind: ImportRefLoaded, arg0: import_ir_inst5, arg1: entity_name<none>, type: type(inst60000050)}
|
|
|
// CHECK:STDOUT: inst6000004E: {kind: AssociatedEntity, arg0: element0, arg1: inst6000004D, type: type(inst6000004C)}
|
|
|
-// CHECK:STDOUT: inst6000004F: {kind: FunctionDecl, arg0: function1, arg1: inst_block_empty, type: type(inst60000050)}
|
|
|
-// CHECK:STDOUT: inst60000050: {kind: FunctionType, arg0: function1, arg1: specific<none>, type: type(TypeType)}
|
|
|
+// CHECK:STDOUT: inst6000004F: {kind: FunctionDecl, arg0: function60000001, arg1: inst_block_empty, type: type(inst60000050)}
|
|
|
+// CHECK:STDOUT: inst60000050: {kind: FunctionType, arg0: function60000001, arg1: specific<none>, type: type(TypeType)}
|
|
|
// CHECK:STDOUT: inst60000051: {kind: StructValue, arg0: inst_block_empty, type: type(inst60000050)}
|
|
|
// CHECK:STDOUT: inst60000052: {kind: SymbolicBindingType, arg0: entity_name4, arg1: inst60000048, type: type(TypeType)}
|
|
|
// CHECK:STDOUT: inst60000053: {kind: PatternType, arg0: inst60000052, type: type(TypeType)}
|
|
|
@@ -475,8 +475,8 @@ fn Foo[T:! type](p: T*) -> (T*, ()) {
|
|
|
// CHECK:STDOUT: inst6000006B: {kind: SymbolicBindingType, arg0: entity_name1, arg1: inst6000006A, type: type(TypeType)}
|
|
|
// CHECK:STDOUT: inst6000006C: {kind: ConstType, arg0: inst6000006B, type: type(TypeType)}
|
|
|
// CHECK:STDOUT: inst6000006D: {kind: ImplWitness, arg0: inst60000068, arg1: specific3, type: type(inst(WitnessType))}
|
|
|
-// CHECK:STDOUT: inst6000006E: {kind: FunctionDecl, arg0: function2, arg1: inst_block_empty, type: type(symbolic_constant38)}
|
|
|
-// CHECK:STDOUT: inst6000006F: {kind: FunctionType, arg0: function2, arg1: specific2, type: type(TypeType)}
|
|
|
+// CHECK:STDOUT: inst6000006E: {kind: FunctionDecl, arg0: function60000002, arg1: inst_block_empty, type: type(symbolic_constant38)}
|
|
|
+// CHECK:STDOUT: inst6000006F: {kind: FunctionType, arg0: function60000002, arg1: specific2, type: type(TypeType)}
|
|
|
// CHECK:STDOUT: inst60000070: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant38)}
|
|
|
// CHECK:STDOUT: inst60000071: {kind: PatternType, arg0: inst60000061, type: type(TypeType)}
|
|
|
// CHECK:STDOUT: inst60000072: {kind: ReturnSlotPattern, arg0: inst<none>, type: type(symbolic_constant43)}
|
|
|
@@ -484,7 +484,7 @@ fn Foo[T:! type](p: T*) -> (T*, ()) {
|
|
|
// CHECK:STDOUT: inst60000074: {kind: BindingPattern, arg0: entity_name17, type: type(symbolic_constant43)}
|
|
|
// CHECK:STDOUT: inst60000075: {kind: ValueParamPattern, arg0: inst60000074, arg1: call_param0, type: type(symbolic_constant43)}
|
|
|
// CHECK:STDOUT: inst60000076: {kind: ImportRefLoaded, arg0: import_ir_inst32, arg1: entity_name<none>, type: type(inst60000047)}
|
|
|
-// CHECK:STDOUT: inst60000077: {kind: FunctionType, arg0: function2, arg1: specific3, type: type(TypeType)}
|
|
|
+// CHECK:STDOUT: inst60000077: {kind: FunctionType, arg0: function60000002, arg1: specific3, type: type(TypeType)}
|
|
|
// CHECK:STDOUT: inst60000078: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant45)}
|
|
|
// CHECK:STDOUT: inst60000079: {kind: BindSymbolicName, arg0: entity_name1, arg1: inst<none>, type: type(inst60000047)}
|
|
|
// CHECK:STDOUT: inst6000007A: {kind: SymbolicBindingType, arg0: entity_name1, arg1: inst60000079, type: type(TypeType)}
|
|
|
@@ -531,15 +531,15 @@ fn Foo[T:! type](p: T*) -> (T*, ()) {
|
|
|
// CHECK:STDOUT: inst600000A3: {kind: BindSymbolicName, arg0: entity_name1, arg1: inst<none>, type: type(TypeType)}
|
|
|
// CHECK:STDOUT: inst600000A4: {kind: PointerType, arg0: inst600000A3, type: type(TypeType)}
|
|
|
// CHECK:STDOUT: inst600000A5: {kind: ImplWitness, arg0: inst600000A1, arg1: specific8, type: type(inst(WitnessType))}
|
|
|
-// CHECK:STDOUT: inst600000A6: {kind: FunctionDecl, arg0: function3, arg1: inst_block_empty, type: type(symbolic_constant81)}
|
|
|
-// CHECK:STDOUT: inst600000A7: {kind: FunctionType, arg0: function3, arg1: specific7, type: type(TypeType)}
|
|
|
+// CHECK:STDOUT: inst600000A6: {kind: FunctionDecl, arg0: function60000003, arg1: inst_block_empty, type: type(symbolic_constant81)}
|
|
|
+// CHECK:STDOUT: inst600000A7: {kind: FunctionType, arg0: function60000003, arg1: specific7, type: type(TypeType)}
|
|
|
// CHECK:STDOUT: inst600000A8: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant81)}
|
|
|
// CHECK:STDOUT: inst600000A9: {kind: ReturnSlotPattern, arg0: inst<none>, type: type(symbolic_constant85)}
|
|
|
// CHECK:STDOUT: inst600000AA: {kind: OutParamPattern, arg0: inst600000A9, arg1: call_param1, type: type(symbolic_constant85)}
|
|
|
// CHECK:STDOUT: inst600000AB: {kind: BindingPattern, arg0: entity_name24, type: type(symbolic_constant85)}
|
|
|
// CHECK:STDOUT: inst600000AC: {kind: ValueParamPattern, arg0: inst600000AB, arg1: call_param0, type: type(symbolic_constant85)}
|
|
|
// CHECK:STDOUT: inst600000AD: {kind: ImportRefLoaded, arg0: import_ir_inst77, arg1: entity_name<none>, type: type(TypeType)}
|
|
|
-// CHECK:STDOUT: inst600000AE: {kind: FunctionType, arg0: function3, arg1: specific8, type: type(TypeType)}
|
|
|
+// CHECK:STDOUT: inst600000AE: {kind: FunctionType, arg0: function60000003, arg1: specific8, type: type(TypeType)}
|
|
|
// CHECK:STDOUT: inst600000AF: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant88)}
|
|
|
// CHECK:STDOUT: inst600000B0: {kind: RequireCompleteType, arg0: inst600000A4, type: type(inst(WitnessType))}
|
|
|
// CHECK:STDOUT: inst600000B1: {kind: BindSymbolicName, arg0: entity_name1, arg1: inst<none>, type: type(TypeType)}
|
|
|
@@ -573,8 +573,8 @@ fn Foo[T:! type](p: T*) -> (T*, ()) {
|
|
|
// CHECK:STDOUT: inst600000CD: {kind: SymbolicBindingType, arg0: entity_name26, arg1: inst600000CB, type: type(TypeType)}
|
|
|
// CHECK:STDOUT: inst600000CE: {kind: TupleType, arg0: inst_block62, type: type(TypeType)}
|
|
|
// CHECK:STDOUT: inst600000CF: {kind: ImplWitness, arg0: inst600000C8, arg1: specific11, type: type(inst(WitnessType))}
|
|
|
-// CHECK:STDOUT: inst600000D0: {kind: FunctionDecl, arg0: function4, arg1: inst_block_empty, type: type(symbolic_constant114)}
|
|
|
-// CHECK:STDOUT: inst600000D1: {kind: FunctionType, arg0: function4, arg1: specific10, type: type(TypeType)}
|
|
|
+// CHECK:STDOUT: inst600000D0: {kind: FunctionDecl, arg0: function60000004, arg1: inst_block_empty, type: type(symbolic_constant114)}
|
|
|
+// CHECK:STDOUT: inst600000D1: {kind: FunctionType, arg0: function60000004, arg1: specific10, type: type(TypeType)}
|
|
|
// CHECK:STDOUT: inst600000D2: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant114)}
|
|
|
// CHECK:STDOUT: inst600000D3: {kind: PatternType, arg0: inst600000C0, type: type(TypeType)}
|
|
|
// CHECK:STDOUT: inst600000D4: {kind: ReturnSlotPattern, arg0: inst<none>, type: type(symbolic_constant119)}
|
|
|
@@ -583,7 +583,7 @@ fn Foo[T:! type](p: T*) -> (T*, ()) {
|
|
|
// CHECK:STDOUT: inst600000D7: {kind: ValueParamPattern, arg0: inst600000D6, arg1: call_param0, type: type(symbolic_constant119)}
|
|
|
// CHECK:STDOUT: inst600000D8: {kind: ImportRefLoaded, arg0: import_ir_inst113, arg1: entity_name<none>, type: type(inst60000047)}
|
|
|
// CHECK:STDOUT: inst600000D9: {kind: ImportRefLoaded, arg0: import_ir_inst114, arg1: entity_name<none>, type: type(inst60000047)}
|
|
|
-// CHECK:STDOUT: inst600000DA: {kind: FunctionType, arg0: function4, arg1: specific11, type: type(TypeType)}
|
|
|
+// CHECK:STDOUT: inst600000DA: {kind: FunctionType, arg0: function60000004, arg1: specific11, type: type(TypeType)}
|
|
|
// CHECK:STDOUT: inst600000DB: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant121)}
|
|
|
// CHECK:STDOUT: inst600000DC: {kind: BindSymbolicName, arg0: entity_name1, arg1: inst<none>, type: type(inst60000047)}
|
|
|
// CHECK:STDOUT: inst600000DD: {kind: SymbolicBindingType, arg0: entity_name1, arg1: inst600000DC, type: type(TypeType)}
|
|
|
@@ -633,8 +633,8 @@ fn Foo[T:! type](p: T*) -> (T*, ()) {
|
|
|
// CHECK:STDOUT: inst60000109: {kind: SymbolicBindingType, arg0: entity_name41, arg1: inst60000106, type: type(TypeType)}
|
|
|
// CHECK:STDOUT: inst6000010A: {kind: TupleType, arg0: inst_block84, type: type(TypeType)}
|
|
|
// CHECK:STDOUT: inst6000010B: {kind: ImplWitness, arg0: inst60000102, arg1: specific17, type: type(inst(WitnessType))}
|
|
|
-// CHECK:STDOUT: inst6000010C: {kind: FunctionDecl, arg0: function5, arg1: inst_block_empty, type: type(symbolic_constant186)}
|
|
|
-// CHECK:STDOUT: inst6000010D: {kind: FunctionType, arg0: function5, arg1: specific16, type: type(TypeType)}
|
|
|
+// CHECK:STDOUT: inst6000010C: {kind: FunctionDecl, arg0: function60000005, arg1: inst_block_empty, type: type(symbolic_constant186)}
|
|
|
+// CHECK:STDOUT: inst6000010D: {kind: FunctionType, arg0: function60000005, arg1: specific16, type: type(TypeType)}
|
|
|
// CHECK:STDOUT: inst6000010E: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant186)}
|
|
|
// CHECK:STDOUT: inst6000010F: {kind: PatternType, arg0: inst600000F8, type: type(TypeType)}
|
|
|
// CHECK:STDOUT: inst60000110: {kind: ReturnSlotPattern, arg0: inst<none>, type: type(symbolic_constant191)}
|
|
|
@@ -644,7 +644,7 @@ fn Foo[T:! type](p: T*) -> (T*, ()) {
|
|
|
// CHECK:STDOUT: inst60000114: {kind: ImportRefLoaded, arg0: import_ir_inst159, arg1: entity_name<none>, type: type(inst60000047)}
|
|
|
// CHECK:STDOUT: inst60000115: {kind: ImportRefLoaded, arg0: import_ir_inst160, arg1: entity_name<none>, type: type(inst60000047)}
|
|
|
// CHECK:STDOUT: inst60000116: {kind: ImportRefLoaded, arg0: import_ir_inst161, arg1: entity_name<none>, type: type(inst60000047)}
|
|
|
-// CHECK:STDOUT: inst60000117: {kind: FunctionType, arg0: function5, arg1: specific17, type: type(TypeType)}
|
|
|
+// CHECK:STDOUT: inst60000117: {kind: FunctionType, arg0: function60000005, arg1: specific17, type: type(TypeType)}
|
|
|
// CHECK:STDOUT: inst60000118: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant193)}
|
|
|
// CHECK:STDOUT: inst60000119: {kind: BindSymbolicName, arg0: entity_name1, arg1: inst<none>, type: type(inst60000047)}
|
|
|
// CHECK:STDOUT: inst6000011A: {kind: SymbolicBindingType, arg0: entity_name1, arg1: inst60000119, type: type(TypeType)}
|