From be487bbeda32f4fa99c616fc28999c8778149f32 Mon Sep 17 00:00:00 2001 From: Jon Ross-Perkins Date: Mon, 14 Jul 2025 16:27:03 -0700 Subject: [PATCH] Use declaration locations for formatting entities (#5799) This is just trying to address the location TODO. --- toolchain/check/testdata/as/basics.carbon | 2 +- .../testdata/builtins/int/snegate.carbon | 2 +- .../testdata/builtins/int/unegate.carbon | 2 +- .../check/testdata/builtins/print/char.carbon | 4 +- .../check/testdata/builtins/print/int.carbon | 4 +- .../check/testdata/builtins/read/char.carbon | 4 +- .../check/testdata/class/adapter/adapt.carbon | 12 +- .../class/adapter/extend_adapt.carbon | 12 +- .../class/base_method_qualified.carbon | 24 +- .../testdata/class/base_method_shadow.carbon | 18 +- .../check/testdata/class/destroy_calls.carbon | 48 +-- .../testdata/class/fail_addr_self.carbon | 12 +- .../generic/complete_in_conversion.carbon | 12 +- .../testdata/class/generic/import.carbon | 32 +- .../class/generic/member_out_of_line.carbon | 66 +-- .../testdata/class/generic/member_type.carbon | 114 +++--- .../testdata/class/generic/redeclare.carbon | 94 ++--- .../testdata/class/generic_vs_params.carbon | 36 +- .../testdata/class/implicit_import.carbon | 6 +- .../testdata/class/inheritance_access.carbon | 12 +- toolchain/check/testdata/class/nested.carbon | 12 +- .../check/testdata/class/raw_self_type.carbon | 14 +- toolchain/check/testdata/class/scope.carbon | 12 +- .../testdata/class/syntactic_merge.carbon | 102 ++--- .../class/syntactic_merge_literal.carbon | 18 +- .../testdata/class/virtual_modifiers.carbon | 246 ++++++------ .../facet/call_combined_impl_witness.carbon | 56 +-- ...t_class_type_to_generic_facet_value.carbon | 40 +- ..._value_to_generic_facet_value_value.carbon | 32 +- ...t_value_as_type_knows_original_type.carbon | 16 +- ...t_class_type_to_generic_facet_value.carbon | 20 +- ...uction_uses_runtime_type_conversion.carbon | 6 +- toolchain/check/testdata/for/actual.carbon | 168 ++++---- toolchain/check/testdata/for/basic.carbon | 6 +- .../builtin/call_from_operator.carbon | 158 ++++---- .../function/builtin/fail_redefined.carbon | 36 +- .../testdata/function/builtin/method.carbon | 42 +- .../function/declaration/fail_redecl.carbon | 24 +- .../fail_decl_param_mismatch.carbon | 72 ++-- .../definition/fail_local_decl.carbon | 12 +- .../function/definition/fail_redef.carbon | 12 +- .../definition/implicit_import.carbon | 6 +- .../function/definition/import.carbon | 6 +- .../definition/syntactic_merge.carbon | 76 ++-- .../call_method_on_generic_facet.carbon | 54 +-- .../fail_deduce_imported_function.carbon | 32 +- .../function/generic/redeclare.carbon | 108 ++--- .../testdata/generic/template/convert.carbon | 6 +- .../generic/template/member_access.carbon | 38 +- .../testdata/impl/assoc_const_self.carbon | 6 +- toolchain/check/testdata/impl/basic.carbon | 16 +- toolchain/check/testdata/impl/compound.carbon | 100 ++--- .../check/testdata/impl/extend_impl.carbon | 6 +- .../testdata/impl/extend_impl_generic.carbon | 96 ++--- .../testdata/impl/fail_call_invalid.carbon | 32 +- .../impl/fail_extend_impl_forall.carbon | 40 +- .../impl/fail_extend_impl_scope.carbon | 26 +- .../testdata/impl/fail_impl_as_scope.carbon | 88 ++-- .../impl/fail_impl_bad_assoc_fn.carbon | 200 +++++----- .../impl/fail_self_type_mismatch.carbon | 40 +- .../check/testdata/impl/forward_decls.carbon | 16 +- toolchain/check/testdata/impl/impl_as.carbon | 16 +- .../check/testdata/impl/impl_forall.carbon | 20 +- .../check/testdata/impl/impl_thunk.carbon | 162 ++++---- .../impl/impl_thunk_min_prelude.carbon | 8 +- .../testdata/impl/import_builtin_call.carbon | 94 ++--- .../testdata/impl/import_compound.carbon | 42 +- .../testdata/impl/import_extend_impl.carbon | 16 +- .../impl/import_interface_assoc_const.carbon | 6 +- .../check/testdata/impl/import_self.carbon | 12 +- .../check/testdata/impl/import_thunk.carbon | 62 +-- .../testdata/impl/import_use_generic.carbon | 20 +- .../check/testdata/impl/interface_args.carbon | 110 ++--- .../check/testdata/impl/lookup/alias.carbon | 16 +- .../impl/lookup/canonical_query_self.carbon | 60 +-- .../lookup/fail_alias_impl_not_found.carbon | 14 +- .../lookup/fail_todo_undefined_impl.carbon | 22 +- .../check/testdata/impl/lookup/generic.carbon | 298 +++++++------- .../testdata/impl/lookup/impl_forall.carbon | 98 ++--- .../check/testdata/impl/lookup/import.carbon | 130 +++--- .../impl/lookup/instance_method.carbon | 32 +- .../testdata/impl/lookup/specific_args.carbon | 12 +- .../testdata/impl/lookup/transitive.carbon | 6 +- .../testdata/impl/multiple_extend.carbon | 146 +++---- .../check/testdata/impl/self_in_class.carbon | 26 +- .../testdata/impl/self_in_signature.carbon | 88 ++-- .../impl/todo_impl_with_unrelated_fn.carbon | 16 +- .../testdata/impl/use_assoc_const.carbon | 376 +++++++++--------- .../interface/compound_member_access.carbon | 32 +- .../testdata/interface/default_fn.carbon | 26 +- .../fail_add_member_outside_definition.carbon | 26 +- .../interface/fail_definition_imported.carbon | 6 +- .../testdata/interface/fail_duplicate.carbon | 62 +-- .../fail_generic_redeclaration.carbon | 60 +-- .../interface/fail_member_lookup.carbon | 14 +- .../interface/fail_redeclare_member.carbon | 16 +- ..._todo_define_default_fn_out_of_line.carbon | 32 +- .../fail_todo_generic_default_fn.carbon | 76 ++-- .../check/testdata/interface/generic.carbon | 20 +- .../testdata/interface/generic_import.carbon | 6 +- .../testdata/interface/generic_method.carbon | 208 +++++----- .../interface/generic_vs_params.carbon | 48 +-- .../check/testdata/interface/import.carbon | 16 +- .../check/testdata/interface/local.carbon | 26 +- .../testdata/interface/syntactic_merge.carbon | 168 ++++---- .../fail_conflict_after_merge.carbon | 12 +- .../testdata/namespace/fail_duplicate.carbon | 12 +- .../namespace/fail_not_top_level.carbon | 32 +- .../testdata/namespace/fail_params.carbon | 14 +- .../check/testdata/namespace/function.carbon | 12 +- .../check/testdata/namespace/shadow.carbon | 12 +- .../testdata/operators/overloaded/add.carbon | 6 +- .../operators/overloaded/bit_and.carbon | 6 +- .../overloaded/bit_complement.carbon | 2 +- .../operators/overloaded/bit_or.carbon | 6 +- .../operators/overloaded/bit_xor.carbon | 6 +- .../testdata/operators/overloaded/dec.carbon | 2 +- .../testdata/operators/overloaded/div.carbon | 6 +- .../testdata/operators/overloaded/eq.carbon | 24 +- .../overloaded/fail_assign_non_ref.carbon | 22 +- .../operators/overloaded/implicit_as.carbon | 12 +- .../testdata/operators/overloaded/inc.carbon | 2 +- .../operators/overloaded/index.carbon | 6 +- .../overloaded/index_with_prelude.carbon | 18 +- .../operators/overloaded/left_shift.carbon | 6 +- .../testdata/operators/overloaded/mod.carbon | 6 +- .../testdata/operators/overloaded/mul.carbon | 6 +- .../operators/overloaded/negate.carbon | 2 +- .../operators/overloaded/ordered.carbon | 24 +- .../operators/overloaded/right_shift.carbon | 6 +- .../testdata/operators/overloaded/sub.carbon | 6 +- .../packages/cross_package_import.carbon | 6 +- .../return/import_convert_function.carbon | 48 +-- toolchain/sem_ir/inst_namer.cpp | 13 +- 134 files changed, 2846 insertions(+), 2851 deletions(-) diff --git a/toolchain/check/testdata/as/basics.carbon b/toolchain/check/testdata/as/basics.carbon index c7cf05b3a442..ca70a36b69b1 100644 --- a/toolchain/check/testdata/as/basics.carbon +++ b/toolchain/check/testdata/as/basics.carbon @@ -394,7 +394,7 @@ let n: {.x: ()} = {.x = ()} as {.x = ()}; // CHECK:STDOUT: %As.type.bdd: type = facet_type <@As, @As(%Y)> [concrete] // CHECK:STDOUT: %Convert.type.d2d: type = fn_type @Convert.1, @As(%Y) [concrete] // CHECK:STDOUT: %As.impl_witness.06e: = impl_witness file.%As.impl_witness_table.loc14 [concrete] -// CHECK:STDOUT: %Convert.type.dbe: type = fn_type @Convert.3 [concrete] +// CHECK:STDOUT: %Convert.type.dbe: type = fn_type @Convert.loc15 [concrete] // CHECK:STDOUT: %Convert.9cb: %Convert.type.dbe = struct_value () [concrete] // CHECK:STDOUT: %As.facet.8d1: %As.type.bdd = facet_value %X, (%As.impl_witness.06e) [concrete] // CHECK:STDOUT: %.1fc: type = fn_type_with_self_type %Convert.type.d2d, %As.facet.8d1 [concrete] diff --git a/toolchain/check/testdata/builtins/int/snegate.carbon b/toolchain/check/testdata/builtins/int/snegate.carbon index 982905e62d35..be35a9272f24 100644 --- a/toolchain/check/testdata/builtins/int/snegate.carbon +++ b/toolchain/check/testdata/builtins/int/snegate.carbon @@ -140,7 +140,7 @@ let b: i32 = Negate(-0x8000_0000); // CHECK:STDOUT: constants { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] -// CHECK:STDOUT: %Negate.type.15b: type = fn_type @Negate.1 [concrete] +// CHECK:STDOUT: %Negate.type.15b: type = fn_type @Negate.loc4 [concrete] // CHECK:STDOUT: %Negate: %Negate.type.15b = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/builtins/int/unegate.carbon b/toolchain/check/testdata/builtins/int/unegate.carbon index bc8a8f159199..29999d7d8349 100644 --- a/toolchain/check/testdata/builtins/int/unegate.carbon +++ b/toolchain/check/testdata/builtins/int/unegate.carbon @@ -125,7 +125,7 @@ fn F() { // CHECK:STDOUT: constants { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %u32: type = class_type @UInt, @UInt(%int_32) [concrete] -// CHECK:STDOUT: %Negate.type.15b: type = fn_type @Negate.1 [concrete] +// CHECK:STDOUT: %Negate.type.15b: type = fn_type @Negate.loc4 [concrete] // CHECK:STDOUT: %Negate: %Negate.type.15b = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/builtins/print/char.carbon b/toolchain/check/testdata/builtins/print/char.carbon index d163865bb273..1ebf8b1046b6 100644 --- a/toolchain/check/testdata/builtins/print/char.carbon +++ b/toolchain/check/testdata/builtins/print/char.carbon @@ -26,7 +26,7 @@ fn Main() { // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] -// CHECK:STDOUT: %PrintChar.type.c95: type = fn_type @PrintChar.1 [concrete] +// CHECK:STDOUT: %PrintChar.type.c95: type = fn_type @PrintChar.loc13 [concrete] // CHECK:STDOUT: %PrintChar.843: %PrintChar.type.c95 = struct_value () [concrete] // CHECK:STDOUT: %int_1.5b8: Core.IntLiteral = int_value 1 [concrete] // CHECK:STDOUT: %ImplicitAs.type.cc7: type = generic_interface_type @ImplicitAs [concrete] @@ -45,7 +45,7 @@ fn Main() { // CHECK:STDOUT: %Convert.specific_fn: = specific_function %Convert.956, @Convert.3(%int_32) [concrete] // CHECK:STDOUT: %bound_method.9a1: = bound_method %int_1.5b8, %Convert.specific_fn [concrete] // CHECK:STDOUT: %int_1.5d2: %i32 = int_value 1 [concrete] -// CHECK:STDOUT: %PrintChar.type.089: type = fn_type @PrintChar.2 [concrete] +// CHECK:STDOUT: %PrintChar.type.089: type = fn_type @PrintChar.1 [concrete] // CHECK:STDOUT: %PrintChar.d75: %PrintChar.type.089 = struct_value () [concrete] // CHECK:STDOUT: %int_2.ecc: Core.IntLiteral = int_value 2 [concrete] // CHECK:STDOUT: %Convert.bound.ef9: = bound_method %int_2.ecc, %Convert.956 [concrete] diff --git a/toolchain/check/testdata/builtins/print/int.carbon b/toolchain/check/testdata/builtins/print/int.carbon index 38fea2d19656..b0db7eacce2b 100644 --- a/toolchain/check/testdata/builtins/print/int.carbon +++ b/toolchain/check/testdata/builtins/print/int.carbon @@ -27,7 +27,7 @@ fn Main() { // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] -// CHECK:STDOUT: %Print.type.980: type = fn_type @Print.1 [concrete] +// CHECK:STDOUT: %Print.type.980: type = fn_type @Print.loc13 [concrete] // CHECK:STDOUT: %Print.b7c: %Print.type.980 = struct_value () [concrete] // CHECK:STDOUT: %int_1.5b8: Core.IntLiteral = int_value 1 [concrete] // CHECK:STDOUT: %ImplicitAs.type.cc7: type = generic_interface_type @ImplicitAs [concrete] @@ -46,7 +46,7 @@ fn Main() { // CHECK:STDOUT: %Convert.specific_fn: = specific_function %Convert.956, @Convert.3(%int_32) [concrete] // CHECK:STDOUT: %bound_method.9a1: = bound_method %int_1.5b8, %Convert.specific_fn [concrete] // CHECK:STDOUT: %int_1.5d2: %i32 = int_value 1 [concrete] -// CHECK:STDOUT: %Print.type.6ed: type = fn_type @Print.2 [concrete] +// CHECK:STDOUT: %Print.type.6ed: type = fn_type @Print.1 [concrete] // CHECK:STDOUT: %Print.723: %Print.type.6ed = struct_value () [concrete] // CHECK:STDOUT: %int_2.ecc: Core.IntLiteral = int_value 2 [concrete] // CHECK:STDOUT: %Convert.bound.ef9: = bound_method %int_2.ecc, %Convert.956 [concrete] diff --git a/toolchain/check/testdata/builtins/read/char.carbon b/toolchain/check/testdata/builtins/read/char.carbon index c13ead7d4c93..b4380d92f268 100644 --- a/toolchain/check/testdata/builtins/read/char.carbon +++ b/toolchain/check/testdata/builtins/read/char.carbon @@ -29,9 +29,9 @@ fn Main() { // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %pattern_type.7ce: type = pattern_type %i32 [concrete] -// CHECK:STDOUT: %ReadChar.type.fa8: type = fn_type @ReadChar.1 [concrete] +// CHECK:STDOUT: %ReadChar.type.fa8: type = fn_type @ReadChar.loc4 [concrete] // CHECK:STDOUT: %ReadChar.7f4: %ReadChar.type.fa8 = struct_value () [concrete] -// CHECK:STDOUT: %ReadChar.type.9f3: type = fn_type @ReadChar.2 [concrete] +// CHECK:STDOUT: %ReadChar.type.9f3: type = fn_type @ReadChar.1 [concrete] // CHECK:STDOUT: %ReadChar.01f: %ReadChar.type.9f3 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/class/adapter/adapt.carbon b/toolchain/check/testdata/class/adapter/adapt.carbon index f07314bec1cb..29ab9afe8a33 100644 --- a/toolchain/check/testdata/class/adapter/adapt.carbon +++ b/toolchain/check/testdata/class/adapter/adapt.carbon @@ -151,13 +151,13 @@ interface I { // CHECK:STDOUT: // CHECK:STDOUT: constants { // CHECK:STDOUT: %Adapted: type = class_type @Adapted [concrete] -// CHECK:STDOUT: %F.type.967: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.967: type = fn_type @F.loc5 [concrete] // CHECK:STDOUT: %F.9eb: %F.type.967 = struct_value () [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %AdaptNotExtend: type = class_type @AdaptNotExtend [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %AdaptNotExtend [concrete] -// CHECK:STDOUT: %F.type.b25: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.b25: type = fn_type @F.loc12 [concrete] // CHECK:STDOUT: %F.c41: %F.type.b25 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -178,7 +178,7 @@ interface I { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Adapted.decl: type = class_decl @Adapted [concrete = constants.%Adapted] {} {} // CHECK:STDOUT: %AdaptNotExtend.decl: type = class_decl @AdaptNotExtend [concrete = constants.%AdaptNotExtend] {} {} -// CHECK:STDOUT: %F.decl: %F.type.b25 = fn_decl @F.2 [concrete = constants.%F.c41] { +// CHECK:STDOUT: %F.decl: %F.type.b25 = fn_decl @F.loc12 [concrete = constants.%F.c41] { // CHECK:STDOUT: %a.patt: %pattern_type = binding_pattern a [concrete] // CHECK:STDOUT: %a.param_patt: %pattern_type = value_param_pattern %a.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -189,7 +189,7 @@ interface I { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @Adapted { -// CHECK:STDOUT: %F.decl: %F.type.967 = fn_decl @F.1 [concrete = constants.%F.9eb] {} {} +// CHECK:STDOUT: %F.decl: %F.type.967 = fn_decl @F.loc5 [concrete = constants.%F.9eb] {} {} // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete = constants.%empty_struct_type] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete = constants.%complete_type] // CHECK:STDOUT: complete_type_witness = %complete_type @@ -211,9 +211,9 @@ interface I { // CHECK:STDOUT: .F = // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.1(); +// CHECK:STDOUT: fn @F.loc5(); // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2(%a.param: %AdaptNotExtend) { +// CHECK:STDOUT: fn @F.loc12(%a.param: %AdaptNotExtend) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.ref: %AdaptNotExtend = name_ref a, %a // CHECK:STDOUT: %F.ref: = name_ref F, [concrete = ] diff --git a/toolchain/check/testdata/class/adapter/extend_adapt.carbon b/toolchain/check/testdata/class/adapter/extend_adapt.carbon index 7281865aad27..14a95bfc57ee 100644 --- a/toolchain/check/testdata/class/adapter/extend_adapt.carbon +++ b/toolchain/check/testdata/class/adapter/extend_adapt.carbon @@ -274,14 +274,14 @@ fn F(a: IntAdapter) -> i32 { // CHECK:STDOUT: constants { // CHECK:STDOUT: %SomeClass: type = class_type @SomeClass [concrete] // CHECK:STDOUT: %pattern_type.3eb: type = pattern_type %SomeClass [concrete] -// CHECK:STDOUT: %F.type.633: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.633: type = fn_type @F.loc5 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %F.e19: %F.type.633 = struct_value () [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %SomeClassAdapter: type = class_type @SomeClassAdapter [concrete] // CHECK:STDOUT: %pattern_type.080: type = pattern_type %SomeClassAdapter [concrete] -// CHECK:STDOUT: %F.type.b25: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.b25: type = fn_type @F.loc12 [concrete] // CHECK:STDOUT: %F.c41: %F.type.b25 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.type.cc7: type = generic_interface_type @ImplicitAs [concrete] // CHECK:STDOUT: %ImplicitAs.generic: %ImplicitAs.type.cc7 = struct_value () [concrete] @@ -306,7 +306,7 @@ fn F(a: IntAdapter) -> i32 { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %SomeClass.decl: type = class_decl @SomeClass [concrete = constants.%SomeClass] {} {} // CHECK:STDOUT: %SomeClassAdapter.decl: type = class_decl @SomeClassAdapter [concrete = constants.%SomeClassAdapter] {} {} -// CHECK:STDOUT: %F.decl: %F.type.b25 = fn_decl @F.2 [concrete = constants.%F.c41] { +// CHECK:STDOUT: %F.decl: %F.type.b25 = fn_decl @F.loc12 [concrete = constants.%F.c41] { // CHECK:STDOUT: %a.patt: %pattern_type.080 = binding_pattern a [concrete] // CHECK:STDOUT: %a.param_patt: %pattern_type.080 = value_param_pattern %a.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -317,7 +317,7 @@ fn F(a: IntAdapter) -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @SomeClass { -// CHECK:STDOUT: %F.decl: %F.type.633 = fn_decl @F.1 [concrete = constants.%F.e19] { +// CHECK:STDOUT: %F.decl: %F.type.633 = fn_decl @F.loc5 [concrete = constants.%F.e19] { // CHECK:STDOUT: %self.patt: %pattern_type.3eb = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.3eb = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -347,9 +347,9 @@ fn F(a: IntAdapter) -> i32 { // CHECK:STDOUT: extend %SomeClass.ref // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.1(%self.param: %SomeClass); +// CHECK:STDOUT: fn @F.loc5(%self.param: %SomeClass); // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2(%a.param: %SomeClassAdapter) { +// CHECK:STDOUT: fn @F.loc12(%a.param: %SomeClassAdapter) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.ref: %SomeClassAdapter = name_ref a, %a // CHECK:STDOUT: %F.ref: %F.type.633 = name_ref F, @SomeClass.%F.decl [concrete = constants.%F.e19] diff --git a/toolchain/check/testdata/class/base_method_qualified.carbon b/toolchain/check/testdata/class/base_method_qualified.carbon index a9ca9723a24d..a937cbadfd17 100644 --- a/toolchain/check/testdata/class/base_method_qualified.carbon +++ b/toolchain/check/testdata/class/base_method_qualified.carbon @@ -53,17 +53,17 @@ fn PassDerivedToBaseIndirect(p: Derived*) -> i32 { // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %pattern_type.7ce: type = pattern_type %i32 [concrete] -// CHECK:STDOUT: %F.type.7c6: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.7c6: type = fn_type @F.loc18 [concrete] // CHECK:STDOUT: %F.d17: %F.type.7c6 = struct_value () [concrete] // CHECK:STDOUT: %pattern_type.fb9: type = pattern_type %Derived [concrete] -// CHECK:STDOUT: %G.type.6ee: type = fn_type @G.1 [concrete] +// CHECK:STDOUT: %G.type.6ee: type = fn_type @G.loc19 [concrete] // CHECK:STDOUT: %G.663: %G.type.6ee = struct_value () [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type.357: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %Derived.elem: type = unbound_element_type %Derived, %Base [concrete] -// CHECK:STDOUT: %F.type.5da: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.5da: type = fn_type @F.loc25 [concrete] // CHECK:STDOUT: %F.fa3: %F.type.5da = struct_value () [concrete] -// CHECK:STDOUT: %G.type.04c: type = fn_type @G.2 [concrete] +// CHECK:STDOUT: %G.type.04c: type = fn_type @G.loc26 [concrete] // CHECK:STDOUT: %G.07e: %G.type.04c = struct_value () [concrete] // CHECK:STDOUT: %struct_type.base.b1e: type = struct_type {.base: %Base} [concrete] // CHECK:STDOUT: %complete_type.15c: = complete_type_witness %struct_type.base.b1e [concrete] @@ -169,7 +169,7 @@ fn PassDerivedToBaseIndirect(p: Derived*) -> i32 { // CHECK:STDOUT: class @Derived { // CHECK:STDOUT: %Base.ref: type = name_ref Base, file.%Base.decl [concrete = constants.%Base] // CHECK:STDOUT: %.loc23: %Derived.elem = base_decl %Base.ref, element0 [concrete] -// CHECK:STDOUT: %F.decl: %F.type.5da = fn_decl @F.2 [concrete = constants.%F.fa3] { +// CHECK:STDOUT: %F.decl: %F.type.5da = fn_decl @F.loc25 [concrete = constants.%F.fa3] { // CHECK:STDOUT: %self.patt: %pattern_type.fb9 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.fb9 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -177,7 +177,7 @@ fn PassDerivedToBaseIndirect(p: Derived*) -> i32 { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%Derived [concrete = constants.%Derived] // CHECK:STDOUT: %self: %Derived = bind_name self, %self.param // CHECK:STDOUT: } -// CHECK:STDOUT: %G.decl: %G.type.04c = fn_decl @G.2 [concrete = constants.%G.07e] { +// CHECK:STDOUT: %G.decl: %G.type.04c = fn_decl @G.loc26 [concrete = constants.%G.07e] { // CHECK:STDOUT: %self.patt: %pattern_type.fb9 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.fb9 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -199,7 +199,7 @@ fn PassDerivedToBaseIndirect(p: Derived*) -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @Base { -// CHECK:STDOUT: %F.decl: %F.type.7c6 = fn_decl @F.1 [concrete = constants.%F.d17] { +// CHECK:STDOUT: %F.decl: %F.type.7c6 = fn_decl @F.loc18 [concrete = constants.%F.d17] { // CHECK:STDOUT: %self.patt: %pattern_type.bcc = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.bcc = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] @@ -213,7 +213,7 @@ fn PassDerivedToBaseIndirect(p: Derived*) -> i32 { // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param1 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %G.decl: %G.type.6ee = fn_decl @G.1 [concrete = constants.%G.663] { +// CHECK:STDOUT: %G.decl: %G.type.6ee = fn_decl @G.loc19 [concrete = constants.%G.663] { // CHECK:STDOUT: %self.patt: %pattern_type.fb9 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.fb9 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] @@ -238,13 +238,13 @@ fn PassDerivedToBaseIndirect(p: Derived*) -> i32 { // CHECK:STDOUT: .G = %G.decl // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.1(%self.param: %Base) -> %i32; +// CHECK:STDOUT: fn @F.loc18(%self.param: %Base) -> %i32; // CHECK:STDOUT: -// CHECK:STDOUT: fn @G.1(%self.param: %Derived) -> %i32; +// CHECK:STDOUT: fn @G.loc19(%self.param: %Derived) -> %i32; // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2(%self.param: %Derived); +// CHECK:STDOUT: fn @F.loc25(%self.param: %Derived); // CHECK:STDOUT: -// CHECK:STDOUT: fn @G.2(%self.param: %Derived); +// CHECK:STDOUT: fn @G.loc26(%self.param: %Derived); // CHECK:STDOUT: // CHECK:STDOUT: fn @Call(%a.param: %Derived) -> %i32 { // CHECK:STDOUT: !entry: diff --git a/toolchain/check/testdata/class/base_method_shadow.carbon b/toolchain/check/testdata/class/base_method_shadow.carbon index 438c2b584555..369728573f2e 100644 --- a/toolchain/check/testdata/class/base_method_shadow.carbon +++ b/toolchain/check/testdata/class/base_method_shadow.carbon @@ -44,7 +44,7 @@ fn Call(a: A*, b: B*, c: C*, d: D*) { // CHECK:STDOUT: %ptr.6db: type = ptr_type %A [concrete] // CHECK:STDOUT: %pattern_type.5f8: type = pattern_type %ptr.6db [concrete] // CHECK:STDOUT: %pattern_type.f6d: type = pattern_type auto [concrete] -// CHECK:STDOUT: %F.type.649: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.649: type = fn_type @F.loc16 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %F.485: %F.type.649 = struct_value () [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] @@ -53,7 +53,7 @@ fn Call(a: A*, b: B*, c: C*, d: D*) { // CHECK:STDOUT: %B.elem: type = unbound_element_type %B, %A [concrete] // CHECK:STDOUT: %ptr.e79: type = ptr_type %B [concrete] // CHECK:STDOUT: %pattern_type.960: type = pattern_type %ptr.e79 [concrete] -// CHECK:STDOUT: %F.type.8c6: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.8c6: type = fn_type @F.loc21 [concrete] // CHECK:STDOUT: %F.92a: %F.type.8c6 = struct_value () [concrete] // CHECK:STDOUT: %struct_type.base.953: type = struct_type {.base: %A} [concrete] // CHECK:STDOUT: %complete_type.020: = complete_type_witness %struct_type.base.953 [concrete] @@ -61,7 +61,7 @@ fn Call(a: A*, b: B*, c: C*, d: D*) { // CHECK:STDOUT: %C.elem: type = unbound_element_type %C, %B [concrete] // CHECK:STDOUT: %ptr.019: type = ptr_type %C [concrete] // CHECK:STDOUT: %pattern_type.44a: type = pattern_type %ptr.019 [concrete] -// CHECK:STDOUT: %F.type.c29: type = fn_type @F.3 [concrete] +// CHECK:STDOUT: %F.type.c29: type = fn_type @F.loc26 [concrete] // CHECK:STDOUT: %F.437: %F.type.c29 = struct_value () [concrete] // CHECK:STDOUT: %struct_type.base.0ff: type = struct_type {.base: %B} [concrete] // CHECK:STDOUT: %complete_type.98e: = complete_type_witness %struct_type.base.0ff [concrete] @@ -132,7 +132,7 @@ fn Call(a: A*, b: B*, c: C*, d: D*) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @A { -// CHECK:STDOUT: %F.decl: %F.type.649 = fn_decl @F.1 [concrete = constants.%F.485] { +// CHECK:STDOUT: %F.decl: %F.type.649 = fn_decl @F.loc16 [concrete = constants.%F.485] { // CHECK:STDOUT: %self.patt: %pattern_type.5f8 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.5f8 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %.loc16_8: %pattern_type.f6d = addr_pattern %self.param_patt [concrete] @@ -156,7 +156,7 @@ fn Call(a: A*, b: B*, c: C*, d: D*) { // CHECK:STDOUT: class @B { // CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [concrete = constants.%A] // CHECK:STDOUT: %.loc20: %B.elem = base_decl %A.ref, element0 [concrete] -// CHECK:STDOUT: %F.decl: %F.type.8c6 = fn_decl @F.2 [concrete = constants.%F.92a] { +// CHECK:STDOUT: %F.decl: %F.type.8c6 = fn_decl @F.loc21 [concrete = constants.%F.92a] { // CHECK:STDOUT: %self.patt: %pattern_type.960 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.960 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %.loc21_8: %pattern_type.f6d = addr_pattern %self.param_patt [concrete] @@ -183,7 +183,7 @@ fn Call(a: A*, b: B*, c: C*, d: D*) { // CHECK:STDOUT: class @C { // CHECK:STDOUT: %B.ref: type = name_ref B, file.%B.decl [concrete = constants.%B] // CHECK:STDOUT: %.loc25: %C.elem = base_decl %B.ref, element0 [concrete] -// CHECK:STDOUT: %F.decl: %F.type.c29 = fn_decl @F.3 [concrete = constants.%F.437] { +// CHECK:STDOUT: %F.decl: %F.type.c29 = fn_decl @F.loc26 [concrete = constants.%F.437] { // CHECK:STDOUT: %self.patt: %pattern_type.44a = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.44a = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %.loc26_8: %pattern_type.f6d = addr_pattern %self.param_patt [concrete] @@ -222,11 +222,11 @@ fn Call(a: A*, b: B*, c: C*, d: D*) { // CHECK:STDOUT: extend %B.ref // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.1(%self.param: %ptr.6db); +// CHECK:STDOUT: fn @F.loc16(%self.param: %ptr.6db); // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2(%self.param: %ptr.e79); +// CHECK:STDOUT: fn @F.loc21(%self.param: %ptr.e79); // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.3(%self.param: %ptr.019); +// CHECK:STDOUT: fn @F.loc26(%self.param: %ptr.019); // CHECK:STDOUT: // CHECK:STDOUT: fn @Call(%a.param: %ptr.6db, %b.param: %ptr.e79, %c.param: %ptr.019, %d.param: %ptr.19c) { // CHECK:STDOUT: !entry: diff --git a/toolchain/check/testdata/class/destroy_calls.carbon b/toolchain/check/testdata/class/destroy_calls.carbon index e59c33342aca..f31c078bbaf6 100644 --- a/toolchain/check/testdata/class/destroy_calls.carbon +++ b/toolchain/check/testdata/class/destroy_calls.carbon @@ -110,28 +110,28 @@ fn G() { F({}); } // CHECK:STDOUT: constants { // CHECK:STDOUT: %NoAddr: type = class_type @NoAddr [concrete] // CHECK:STDOUT: %pattern_type.88f: type = pattern_type %NoAddr [concrete] -// CHECK:STDOUT: %Make.type.bc9: type = fn_type @Make.1 [concrete] +// CHECK:STDOUT: %Make.type.bc9: type = fn_type @Make.loc5 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Make.1be: %Make.type.bc9 = struct_value () [concrete] -// CHECK:STDOUT: %destroy.type.bc5: type = fn_type @destroy.1 [concrete] +// CHECK:STDOUT: %destroy.type.bc5: type = fn_type @destroy.loc6 [concrete] // CHECK:STDOUT: %destroy.60f: %destroy.type.bc5 = struct_value () [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %ExplicitReturn: type = class_type @ExplicitReturn [concrete] // CHECK:STDOUT: %pattern_type.611: type = pattern_type %ExplicitReturn [concrete] -// CHECK:STDOUT: %Make.type.378: type = fn_type @Make.2 [concrete] +// CHECK:STDOUT: %Make.type.378: type = fn_type @Make.loc10 [concrete] // CHECK:STDOUT: %Make.960: %Make.type.378 = struct_value () [concrete] // CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] -// CHECK:STDOUT: %destroy.type.dfa: type = fn_type @destroy.2 [concrete] +// CHECK:STDOUT: %destroy.type.dfa: type = fn_type @destroy.loc11 [concrete] // CHECK:STDOUT: %destroy.539: %destroy.type.dfa = struct_value () [concrete] // CHECK:STDOUT: %WithAddr: type = class_type @WithAddr [concrete] // CHECK:STDOUT: %pattern_type.f93: type = pattern_type %WithAddr [concrete] -// CHECK:STDOUT: %Make.type.e14: type = fn_type @Make.3 [concrete] +// CHECK:STDOUT: %Make.type.e14: type = fn_type @Make.loc15 [concrete] // CHECK:STDOUT: %Make.b0a: %Make.type.e14 = struct_value () [concrete] // CHECK:STDOUT: %ptr: type = ptr_type %WithAddr [concrete] // CHECK:STDOUT: %pattern_type.4a0: type = pattern_type %ptr [concrete] // CHECK:STDOUT: %pattern_type.f6d: type = pattern_type auto [concrete] -// CHECK:STDOUT: %destroy.type.02f: type = fn_type @destroy.3 [concrete] +// CHECK:STDOUT: %destroy.type.02f: type = fn_type @destroy.loc16 [concrete] // CHECK:STDOUT: %destroy.8d0: %destroy.type.02f = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -156,7 +156,7 @@ fn G() { F({}); } // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @NoAddr { -// CHECK:STDOUT: %Make.decl: %Make.type.bc9 = fn_decl @Make.1 [concrete = constants.%Make.1be] { +// CHECK:STDOUT: %Make.decl: %Make.type.bc9 = fn_decl @Make.loc5 [concrete = constants.%Make.1be] { // CHECK:STDOUT: %return.patt: %pattern_type.88f = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.88f = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -164,7 +164,7 @@ fn G() { F({}); } // CHECK:STDOUT: %return.param: ref %NoAddr = out_param call_param0 // CHECK:STDOUT: %return: ref %NoAddr = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %destroy.decl: %destroy.type.bc5 = fn_decl @destroy.1 [concrete = constants.%destroy.60f] { +// CHECK:STDOUT: %destroy.decl: %destroy.type.bc5 = fn_decl @destroy.loc6 [concrete = constants.%destroy.60f] { // CHECK:STDOUT: %self.patt: %pattern_type.88f = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.88f = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -184,7 +184,7 @@ fn G() { F({}); } // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @ExplicitReturn { -// CHECK:STDOUT: %Make.decl: %Make.type.378 = fn_decl @Make.2 [concrete = constants.%Make.960] { +// CHECK:STDOUT: %Make.decl: %Make.type.378 = fn_decl @Make.loc10 [concrete = constants.%Make.960] { // CHECK:STDOUT: %return.patt: %pattern_type.611 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.611 = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -192,7 +192,7 @@ fn G() { F({}); } // CHECK:STDOUT: %return.param: ref %ExplicitReturn = out_param call_param0 // CHECK:STDOUT: %return: ref %ExplicitReturn = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %destroy.decl: %destroy.type.dfa = fn_decl @destroy.2 [concrete = constants.%destroy.539] { +// CHECK:STDOUT: %destroy.decl: %destroy.type.dfa = fn_decl @destroy.loc11 [concrete = constants.%destroy.539] { // CHECK:STDOUT: %self.patt: %pattern_type.611 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.611 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %return.patt: %pattern_type.cb1 = return_slot_pattern [concrete] @@ -218,7 +218,7 @@ fn G() { F({}); } // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @WithAddr { -// CHECK:STDOUT: %Make.decl: %Make.type.e14 = fn_decl @Make.3 [concrete = constants.%Make.b0a] { +// CHECK:STDOUT: %Make.decl: %Make.type.e14 = fn_decl @Make.loc15 [concrete = constants.%Make.b0a] { // CHECK:STDOUT: %return.patt: %pattern_type.f93 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.f93 = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -226,7 +226,7 @@ fn G() { F({}); } // CHECK:STDOUT: %return.param: ref %WithAddr = out_param call_param0 // CHECK:STDOUT: %return: ref %WithAddr = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %destroy.decl: %destroy.type.02f = fn_decl @destroy.3 [concrete = constants.%destroy.8d0] { +// CHECK:STDOUT: %destroy.decl: %destroy.type.02f = fn_decl @destroy.loc16 [concrete = constants.%destroy.8d0] { // CHECK:STDOUT: %self.patt: %pattern_type.4a0 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.4a0 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %.loc16_14: %pattern_type.f6d = addr_pattern %self.param_patt [concrete] @@ -249,17 +249,17 @@ fn G() { F({}); } // CHECK:STDOUT: .destroy = %destroy.decl // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Make.1() -> %NoAddr; +// CHECK:STDOUT: fn @Make.loc5() -> %NoAddr; // CHECK:STDOUT: -// CHECK:STDOUT: fn @destroy.1(%self.param: %NoAddr); +// CHECK:STDOUT: fn @destroy.loc6(%self.param: %NoAddr); // CHECK:STDOUT: -// CHECK:STDOUT: fn @Make.2() -> %ExplicitReturn; +// CHECK:STDOUT: fn @Make.loc10() -> %ExplicitReturn; // CHECK:STDOUT: -// CHECK:STDOUT: fn @destroy.2(%self.param: %ExplicitReturn) -> %empty_tuple.type; +// CHECK:STDOUT: fn @destroy.loc11(%self.param: %ExplicitReturn) -> %empty_tuple.type; // CHECK:STDOUT: -// CHECK:STDOUT: fn @Make.3() -> %WithAddr; +// CHECK:STDOUT: fn @Make.loc15() -> %WithAddr; // CHECK:STDOUT: -// CHECK:STDOUT: fn @destroy.3(%self.param: %ptr); +// CHECK:STDOUT: fn @destroy.loc16(%self.param: %ptr); // CHECK:STDOUT: // CHECK:STDOUT: --- implicit_return.carbon // CHECK:STDOUT: @@ -690,7 +690,7 @@ fn G() { F({}); } // CHECK:STDOUT: // CHECK:STDOUT: constants { // CHECK:STDOUT: %NoSelf: type = class_type @NoSelf [concrete] -// CHECK:STDOUT: %destroy.type.d69: type = fn_type @destroy.1 [concrete] +// CHECK:STDOUT: %destroy.type.d69: type = fn_type @destroy.loc9 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %destroy.ab7: %destroy.type.d69 = struct_value () [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] @@ -698,7 +698,7 @@ fn G() { F({}); } // CHECK:STDOUT: %Args: type = class_type @Args [concrete] // CHECK:STDOUT: %pattern_type.a81: type = pattern_type %Args [concrete] // CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] -// CHECK:STDOUT: %destroy.type.ba0: type = fn_type @destroy.2 [concrete] +// CHECK:STDOUT: %destroy.type.ba0: type = fn_type @destroy.loc17 [concrete] // CHECK:STDOUT: %destroy.723: %destroy.type.ba0 = struct_value () [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] @@ -737,7 +737,7 @@ fn G() { F({}); } // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @NoSelf { -// CHECK:STDOUT: %destroy.decl: %destroy.type.d69 = fn_decl @destroy.1 [concrete = constants.%destroy.ab7] {} {} +// CHECK:STDOUT: %destroy.decl: %destroy.type.d69 = fn_decl @destroy.loc9 [concrete = constants.%destroy.ab7] {} {} // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete = constants.%empty_struct_type] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete = constants.%complete_type.357] // CHECK:STDOUT: complete_type_witness = %complete_type @@ -748,7 +748,7 @@ fn G() { F({}); } // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @Args { -// CHECK:STDOUT: %destroy.decl: %destroy.type.ba0 = fn_decl @destroy.2 [concrete = constants.%destroy.723] { +// CHECK:STDOUT: %destroy.decl: %destroy.type.ba0 = fn_decl @destroy.loc17 [concrete = constants.%destroy.723] { // CHECK:STDOUT: %self.patt: %pattern_type.a81 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.a81 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %x.patt: %pattern_type.cb1 = binding_pattern x [concrete] @@ -773,9 +773,9 @@ fn G() { F({}); } // CHECK:STDOUT: .destroy = %destroy.decl // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @destroy.1(); +// CHECK:STDOUT: fn @destroy.loc9(); // CHECK:STDOUT: -// CHECK:STDOUT: fn @destroy.2(%self.param: %Args, %x.param: %empty_tuple.type); +// CHECK:STDOUT: fn @destroy.loc17(%self.param: %Args, %x.param: %empty_tuple.type); // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { // CHECK:STDOUT: !entry: diff --git a/toolchain/check/testdata/class/fail_addr_self.carbon b/toolchain/check/testdata/class/fail_addr_self.carbon index 20954c83c74d..207ae76e41af 100644 --- a/toolchain/check/testdata/class/fail_addr_self.carbon +++ b/toolchain/check/testdata/class/fail_addr_self.carbon @@ -46,7 +46,7 @@ fn F(c: Class, p: Class*) { // CHECK:STDOUT: %ptr.e71: type = ptr_type %Class [concrete] // CHECK:STDOUT: %pattern_type.796: type = pattern_type %ptr.e71 [concrete] // CHECK:STDOUT: %pattern_type.f6d: type = pattern_type auto [concrete] -// CHECK:STDOUT: %F.type.f1b: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.f1b: type = fn_type @F.loc16 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %F.1f2: %F.type.f1b = struct_value () [concrete] // CHECK:STDOUT: %pattern_type.761: type = pattern_type %Class [concrete] @@ -54,7 +54,7 @@ fn F(c: Class, p: Class*) { // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type.357: = complete_type_witness %empty_struct_type [concrete] -// CHECK:STDOUT: %F.type.b25: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.b25: type = fn_type @F.loc24 [concrete] // CHECK:STDOUT: %F.c41: %F.type.b25 = struct_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %Op.type.7de: type = fn_type @Op.2, @Destroy.impl(%Class) [concrete] @@ -79,7 +79,7 @@ fn F(c: Class, p: Class*) { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Class.decl: type = class_decl @Class [concrete = constants.%Class] {} {} -// CHECK:STDOUT: %F.decl: %F.type.b25 = fn_decl @F.2 [concrete = constants.%F.c41] { +// CHECK:STDOUT: %F.decl: %F.type.b25 = fn_decl @F.loc24 [concrete = constants.%F.c41] { // CHECK:STDOUT: %c.patt: %pattern_type.761 = binding_pattern c [concrete] // CHECK:STDOUT: %c.param_patt: %pattern_type.761 = value_param_pattern %c.patt, call_param0 [concrete] // CHECK:STDOUT: %p.patt: %pattern_type.796 = binding_pattern p [concrete] @@ -98,7 +98,7 @@ fn F(c: Class, p: Class*) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @Class { -// CHECK:STDOUT: %F.decl: %F.type.f1b = fn_decl @F.1 [concrete = constants.%F.1f2] { +// CHECK:STDOUT: %F.decl: %F.type.f1b = fn_decl @F.loc16 [concrete = constants.%F.1f2] { // CHECK:STDOUT: %self.patt: %pattern_type.796 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.796 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %.loc16_8: %pattern_type.f6d = addr_pattern %self.param_patt [concrete] @@ -129,11 +129,11 @@ fn F(c: Class, p: Class*) { // CHECK:STDOUT: .G = %G.decl // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.1(%self.param: %ptr.e71); +// CHECK:STDOUT: fn @F.loc16(%self.param: %ptr.e71); // CHECK:STDOUT: // CHECK:STDOUT: fn @G(%self.param: %Class); // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2(%c.param: %Class, %p.param: %ptr.e71) { +// CHECK:STDOUT: fn @F.loc24(%c.param: %Class, %p.param: %ptr.e71) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %c.ref.loc32: %Class = name_ref c, %c // CHECK:STDOUT: %F.ref.loc32: %F.type.f1b = name_ref F, @Class.%F.decl [concrete = constants.%F.1f2] diff --git a/toolchain/check/testdata/class/generic/complete_in_conversion.carbon b/toolchain/check/testdata/class/generic/complete_in_conversion.carbon index 346208437bec..bb51dcc355ae 100644 --- a/toolchain/check/testdata/class/generic/complete_in_conversion.carbon +++ b/toolchain/check/testdata/class/generic/complete_in_conversion.carbon @@ -42,15 +42,15 @@ fn F(a: A(0)*) { // CHECK:STDOUT: %IntLiteral: %IntLiteral.type = struct_value () [concrete] // CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] // CHECK:STDOUT: %pattern_type.dc0: type = pattern_type Core.IntLiteral [concrete] -// CHECK:STDOUT: %Int.type.913: type = fn_type @Int.1 [concrete] +// CHECK:STDOUT: %Int.type.913: type = fn_type @Int.loc2 [concrete] // CHECK:STDOUT: %Int.779: %Int.type.913 = struct_value () [concrete] // CHECK:STDOUT: %B: type = class_type @B [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type.357: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] -// CHECK:STDOUT: %Int.type.878: type = generic_class_type @Int.2 [concrete] +// CHECK:STDOUT: %Int.type.878: type = generic_class_type @Int.1 [concrete] // CHECK:STDOUT: %Int.generic: %Int.type.878 = struct_value () [concrete] -// CHECK:STDOUT: %i32: type = class_type @Int.2, @Int.2(%int_32) [concrete] +// CHECK:STDOUT: %i32: type = class_type @Int.1, @Int.1(%int_32) [concrete] // CHECK:STDOUT: %N.51e: %i32 = bind_symbolic_name N, 0 [symbolic] // CHECK:STDOUT: %pattern_type.7ce: type = pattern_type %i32 [concrete] // CHECK:STDOUT: %A.type: type = generic_class_type @A [concrete] @@ -131,7 +131,7 @@ fn F(a: A(0)*) { // CHECK:STDOUT: .F = %F.decl // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core -// CHECK:STDOUT: %Int.decl: %Int.type.913 = fn_decl @Int.1 [concrete = constants.%Int.779] { +// CHECK:STDOUT: %Int.decl: %Int.type.913 = fn_decl @Int.loc2 [concrete = constants.%Int.779] { // CHECK:STDOUT: %N.patt: %pattern_type.dc0 = binding_pattern N [concrete] // CHECK:STDOUT: %N.param_patt: %pattern_type.dc0 = value_param_pattern %N.patt, call_param0 [concrete] // CHECK:STDOUT: %return.patt: %pattern_type.98f = return_slot_pattern [concrete] @@ -155,7 +155,7 @@ fn F(a: A(0)*) { // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc6: type = splice_block %i32 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int.2, @Int.2(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = class_type @Int.1, @Int.1(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %N.loc6_9.1: %i32 = bind_symbolic_name N, 0 [symbolic = %N.loc6_9.2 (constants.%N.51e)] // CHECK:STDOUT: } @@ -238,7 +238,7 @@ fn F(a: A(0)*) { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Int.1(%N.param: Core.IntLiteral) -> type = "int.make_type_signed"; +// CHECK:STDOUT: fn @Int.loc2(%N.param: Core.IntLiteral) -> type = "int.make_type_signed"; // CHECK:STDOUT: // CHECK:STDOUT: fn @F(%a.param: %ptr.b65) { // CHECK:STDOUT: !entry: diff --git a/toolchain/check/testdata/class/generic/import.carbon b/toolchain/check/testdata/class/generic/import.carbon index 42ffb491f2f1..e8c5b1c994b6 100644 --- a/toolchain/check/testdata/class/generic/import.carbon +++ b/toolchain/check/testdata/class/generic/import.carbon @@ -105,7 +105,7 @@ class Class(U:! type) { // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %CompleteClass.elem: type = unbound_element_type %CompleteClass.f97, %i32 [symbolic] // CHECK:STDOUT: %pattern_type.7ce: type = pattern_type %i32 [concrete] -// CHECK:STDOUT: %F.type.14f: type = fn_type @F.1, @CompleteClass(%T) [symbolic] +// CHECK:STDOUT: %F.type.14f: type = fn_type @F.loc8, @CompleteClass(%T) [symbolic] // CHECK:STDOUT: %F.874: %F.type.14f = struct_value () [symbolic] // CHECK:STDOUT: %struct_type.n: type = struct_type {.n: %i32} [concrete] // CHECK:STDOUT: %complete_type.54b: = complete_type_witness %struct_type.n [concrete] @@ -128,7 +128,7 @@ class Class(U:! type) { // CHECK:STDOUT: %int_0.6a9: %i32 = int_value 0 [concrete] // CHECK:STDOUT: %CompleteClass.e9e: type = class_type @CompleteClass, @CompleteClass(%i32) [concrete] // CHECK:STDOUT: %pattern_type.0b0: type = pattern_type %CompleteClass.e9e [concrete] -// CHECK:STDOUT: %F.type.b25: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.b25: type = fn_type @F.loc11 [concrete] // CHECK:STDOUT: %F.c41: %F.type.b25 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -163,7 +163,7 @@ class Class(U:! type) { // CHECK:STDOUT: } { // CHECK:STDOUT: %T.loc6_21.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc6_21.2 (constants.%T)] // CHECK:STDOUT: } -// CHECK:STDOUT: %F.decl: %F.type.b25 = fn_decl @F.2 [concrete = constants.%F.c41] { +// CHECK:STDOUT: %F.decl: %F.type.b25 = fn_decl @F.loc11 [concrete = constants.%F.c41] { // CHECK:STDOUT: %return.patt: %pattern_type.0b0 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.0b0 = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -188,14 +188,14 @@ class Class(U:! type) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %CompleteClass: type = class_type @CompleteClass, @CompleteClass(%T.loc6_21.2) [symbolic = %CompleteClass (constants.%CompleteClass.f97)] // CHECK:STDOUT: %CompleteClass.elem: type = unbound_element_type %CompleteClass, constants.%i32 [symbolic = %CompleteClass.elem (constants.%CompleteClass.elem)] -// CHECK:STDOUT: %F.type: type = fn_type @F.1, @CompleteClass(%T.loc6_21.2) [symbolic = %F.type (constants.%F.type.14f)] +// CHECK:STDOUT: %F.type: type = fn_type @F.loc8, @CompleteClass(%T.loc6_21.2) [symbolic = %F.type (constants.%F.type.14f)] // CHECK:STDOUT: %F: @CompleteClass.%F.type (%F.type.14f) = struct_value () [symbolic = %F (constants.%F.874)] // CHECK:STDOUT: // CHECK:STDOUT: class { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %.loc7: @CompleteClass.%CompleteClass.elem (%CompleteClass.elem) = field_decl n, element0 [concrete] -// CHECK:STDOUT: %F.decl: @CompleteClass.%F.type (%F.type.14f) = fn_decl @F.1 [symbolic = @CompleteClass.%F (constants.%F.874)] { +// CHECK:STDOUT: %F.decl: @CompleteClass.%F.type (%F.type.14f) = fn_decl @F.loc8 [symbolic = @CompleteClass.%F (constants.%F.874)] { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -215,7 +215,7 @@ class Class(U:! type) { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.1(@CompleteClass.%T.loc6_21.1: type) { +// CHECK:STDOUT: generic fn @F.loc8(@CompleteClass.%T.loc6_21.1: type) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: // CHECK:STDOUT: fn() -> %i32 { @@ -232,7 +232,7 @@ class Class(U:! type) { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2() -> %CompleteClass.e9e; +// CHECK:STDOUT: fn @F.loc11() -> %CompleteClass.e9e; // CHECK:STDOUT: // CHECK:STDOUT: specific @Class(constants.%T) { // CHECK:STDOUT: %T.loc4_13.2 => constants.%T @@ -248,7 +248,7 @@ class Class(U:! type) { // CHECK:STDOUT: %F => constants.%F.874 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%T) {} +// CHECK:STDOUT: specific @F.loc8(constants.%T) {} // CHECK:STDOUT: // CHECK:STDOUT: specific @CompleteClass(constants.%i32) { // CHECK:STDOUT: %T.loc6_21.2 => constants.%i32 @@ -285,7 +285,7 @@ class Class(U:! type) { // CHECK:STDOUT: %F.874: %F.type.14f = struct_value () [symbolic] // CHECK:STDOUT: %CompleteClass.a06: type = class_type @CompleteClass, @CompleteClass(%i32) [concrete] // CHECK:STDOUT: %pattern_type.84b: type = pattern_type %CompleteClass.a06 [concrete] -// CHECK:STDOUT: %F.type.b25: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.b25: type = fn_type @F.loc8 [concrete] // CHECK:STDOUT: %F.c41: %F.type.b25 = struct_value () [concrete] // CHECK:STDOUT: %CompleteClass.elem.426: type = unbound_element_type %CompleteClass.a06, %i32 [concrete] // CHECK:STDOUT: %F.type.0aa: type = fn_type @F.1, @CompleteClass(%i32) [concrete] @@ -342,7 +342,7 @@ class Class(U:! type) { // CHECK:STDOUT: } { // CHECK:STDOUT: %T.loc4: type = bind_symbolic_name T, 0 [symbolic = %T.1 (constants.%T)] // CHECK:STDOUT: } -// CHECK:STDOUT: %F.decl: %F.type.b25 = fn_decl @F.2 [concrete = constants.%F.c41] { +// CHECK:STDOUT: %F.decl: %F.type.b25 = fn_decl @F.loc8 [concrete = constants.%F.c41] { // CHECK:STDOUT: %return.patt: %pattern_type.84b = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.84b = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -404,7 +404,7 @@ class Class(U:! type) { // CHECK:STDOUT: fn; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2() -> %return.param: %CompleteClass.a06 [from "foo.carbon"] { +// CHECK:STDOUT: fn @F.loc8() -> %return.param: %CompleteClass.a06 [from "foo.carbon"] { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %.loc9_17.1: %struct_type.n.44a = struct_literal (%int_1) @@ -841,9 +841,9 @@ class Class(U:! type) { // CHECK:STDOUT: %Class.type.cf06d9.1: type = generic_class_type @Class.1 [concrete] // CHECK:STDOUT: %Class.generic.9545f5.1: %Class.type.cf06d9.1 = struct_value () [concrete] // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic] -// CHECK:STDOUT: %Class.type.cf06d9.2: type = generic_class_type @Class.2 [concrete] +// CHECK:STDOUT: %Class.type.cf06d9.2: type = generic_class_type @Class.loc12 [concrete] // CHECK:STDOUT: %Class.generic.9545f5.2: %Class.type.cf06d9.2 = struct_value () [concrete] -// CHECK:STDOUT: %Class.fe1b2d.2: type = class_type @Class.2, @Class.2(%U) [symbolic] +// CHECK:STDOUT: %Class.fe1b2d.2: type = class_type @Class.loc12, @Class.loc12(%U) [symbolic] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -868,7 +868,7 @@ class Class(U:! type) { // CHECK:STDOUT: %default.import.loc2_19.1 = import // CHECK:STDOUT: %default.import.loc2_19.2 = import // CHECK:STDOUT: %Core.import = import Core -// CHECK:STDOUT: %Class.decl: %Class.type.cf06d9.2 = class_decl @Class.2 [concrete = constants.%Class.generic.9545f5.2] { +// CHECK:STDOUT: %Class.decl: %Class.type.cf06d9.2 = class_decl @Class.loc12 [concrete = constants.%Class.generic.9545f5.2] { // CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %U.loc12_13.1: type = bind_symbolic_name U, 0 [symbolic = %U.loc12_13.2 (constants.%U)] @@ -881,7 +881,7 @@ class Class(U:! type) { // CHECK:STDOUT: class; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic class @Class.2(%U.loc12_13.1: type) { +// CHECK:STDOUT: generic class @Class.loc12(%U.loc12_13.1: type) { // CHECK:STDOUT: %U.loc12_13.2: type = bind_symbolic_name U, 0 [symbolic = %U.loc12_13.2 (constants.%U)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -904,7 +904,7 @@ class Class(U:! type) { // CHECK:STDOUT: %T => constants.%T // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Class.2(constants.%U) { +// CHECK:STDOUT: specific @Class.loc12(constants.%U) { // CHECK:STDOUT: %U.loc12_13.2 => constants.%U // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/class/generic/member_out_of_line.carbon b/toolchain/check/testdata/class/generic/member_out_of_line.carbon index 4246d561230f..9540bd7e0abf 100644 --- a/toolchain/check/testdata/class/generic/member_out_of_line.carbon +++ b/toolchain/check/testdata/class/generic/member_out_of_line.carbon @@ -473,12 +473,12 @@ fn Generic(T:! ()).WrongType() {} // CHECK:STDOUT: // CHECK:STDOUT: constants { // CHECK:STDOUT: %NotGeneric: type = class_type @NotGeneric [concrete] -// CHECK:STDOUT: %F.type.065: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.065: type = fn_type @F.loc5 [concrete] // CHECK:STDOUT: %F.fdb: %F.type.065 = struct_value () [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic] -// CHECK:STDOUT: %F.type.b25: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.b25: type = fn_type @F.loc15 [concrete] // CHECK:STDOUT: %F.c41: %F.type.b25 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -496,13 +496,13 @@ fn Generic(T:! ()).WrongType() {} // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %NotGeneric.decl: type = class_decl @NotGeneric [concrete = constants.%NotGeneric] {} {} -// CHECK:STDOUT: %F.decl: %F.type.b25 = fn_decl @F.2 [concrete = constants.%F.c41] {} { +// CHECK:STDOUT: %F.decl: %F.type.b25 = fn_decl @F.loc15 [concrete = constants.%F.c41] {} { // CHECK:STDOUT: %T.loc15_15.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc15_15.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @NotGeneric { -// CHECK:STDOUT: %F.decl: %F.type.065 = fn_decl @F.1 [concrete = constants.%F.fdb] {} {} +// CHECK:STDOUT: %F.decl: %F.type.065 = fn_decl @F.loc5 [concrete = constants.%F.fdb] {} {} // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete = constants.%empty_struct_type] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete = constants.%complete_type] // CHECK:STDOUT: complete_type_witness = %complete_type @@ -512,9 +512,9 @@ fn Generic(T:! ()).WrongType() {} // CHECK:STDOUT: .F = %F.decl // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.1(); +// CHECK:STDOUT: fn @F.loc5(); // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.2(%T.loc15_15.1: type) { +// CHECK:STDOUT: generic fn @F.loc15(%T.loc15_15.1: type) { // CHECK:STDOUT: %T.loc15_15.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc15_15.2 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -525,7 +525,7 @@ fn Generic(T:! ()).WrongType() {} // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.2(constants.%T) { +// CHECK:STDOUT: specific @F.loc15(constants.%T) { // CHECK:STDOUT: %T.loc15_15.2 => constants.%T // CHECK:STDOUT: } // CHECK:STDOUT: @@ -537,11 +537,11 @@ fn Generic(T:! ()).WrongType() {} // CHECK:STDOUT: %Generic.type: type = generic_class_type @Generic [concrete] // CHECK:STDOUT: %Generic.generic: %Generic.type = struct_value () [concrete] // CHECK:STDOUT: %Generic: type = class_type @Generic, @Generic(%T) [symbolic] -// CHECK:STDOUT: %TooFew.type.dac: type = fn_type @TooFew.1, @Generic(%T) [symbolic] +// CHECK:STDOUT: %TooFew.type.dac: type = fn_type @TooFew.loc5, @Generic(%T) [symbolic] // CHECK:STDOUT: %TooFew.840: %TooFew.type.dac = struct_value () [symbolic] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] -// CHECK:STDOUT: %TooFew.type.e89: type = fn_type @TooFew.2 [concrete] +// CHECK:STDOUT: %TooFew.type.e89: type = fn_type @TooFew.loc15 [concrete] // CHECK:STDOUT: %TooFew.7c3: %TooFew.type.e89 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -563,18 +563,18 @@ fn Generic(T:! ()).WrongType() {} // CHECK:STDOUT: } { // CHECK:STDOUT: %T.loc4_15.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc4_15.2 (constants.%T)] // CHECK:STDOUT: } -// CHECK:STDOUT: %TooFew.decl: %TooFew.type.e89 = fn_decl @TooFew.2 [concrete = constants.%TooFew.7c3] {} {} +// CHECK:STDOUT: %TooFew.decl: %TooFew.type.e89 = fn_decl @TooFew.loc15 [concrete = constants.%TooFew.7c3] {} {} // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @Generic(%T.loc4_15.1: type) { // CHECK:STDOUT: %T.loc4_15.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc4_15.2 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %TooFew.type: type = fn_type @TooFew.1, @Generic(%T.loc4_15.2) [symbolic = %TooFew.type (constants.%TooFew.type.dac)] +// CHECK:STDOUT: %TooFew.type: type = fn_type @TooFew.loc5, @Generic(%T.loc4_15.2) [symbolic = %TooFew.type (constants.%TooFew.type.dac)] // CHECK:STDOUT: %TooFew: @Generic.%TooFew.type (%TooFew.type.dac) = struct_value () [symbolic = %TooFew (constants.%TooFew.840)] // CHECK:STDOUT: // CHECK:STDOUT: class { -// CHECK:STDOUT: %TooFew.decl: @Generic.%TooFew.type (%TooFew.type.dac) = fn_decl @TooFew.1 [symbolic = @Generic.%TooFew (constants.%TooFew.840)] {} {} +// CHECK:STDOUT: %TooFew.decl: @Generic.%TooFew.type (%TooFew.type.dac) = fn_decl @TooFew.loc5 [symbolic = @Generic.%TooFew (constants.%TooFew.840)] {} {} // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete = constants.%empty_struct_type] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete = constants.%complete_type] // CHECK:STDOUT: complete_type_witness = %complete_type @@ -585,11 +585,11 @@ fn Generic(T:! ()).WrongType() {} // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @TooFew.1(@Generic.%T.loc4_15.1: type) { +// CHECK:STDOUT: generic fn @TooFew.loc5(@Generic.%T.loc4_15.1: type) { // CHECK:STDOUT: fn(); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @TooFew.2() { +// CHECK:STDOUT: fn @TooFew.loc15() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -598,7 +598,7 @@ fn Generic(T:! ()).WrongType() {} // CHECK:STDOUT: %T.loc4_15.2 => constants.%T // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @TooFew.1(constants.%T) {} +// CHECK:STDOUT: specific @TooFew.loc5(constants.%T) {} // CHECK:STDOUT: // CHECK:STDOUT: --- fail_mismatched_too_many_args.carbon // CHECK:STDOUT: @@ -608,12 +608,12 @@ fn Generic(T:! ()).WrongType() {} // CHECK:STDOUT: %Generic.type: type = generic_class_type @Generic [concrete] // CHECK:STDOUT: %Generic.generic: %Generic.type = struct_value () [concrete] // CHECK:STDOUT: %Generic: type = class_type @Generic, @Generic(%T) [symbolic] -// CHECK:STDOUT: %TooMany.type.cc8: type = fn_type @TooMany.1, @Generic(%T) [symbolic] +// CHECK:STDOUT: %TooMany.type.cc8: type = fn_type @TooMany.loc5, @Generic(%T) [symbolic] // CHECK:STDOUT: %TooMany.dc4: %TooMany.type.cc8 = struct_value () [symbolic] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %U: type = bind_symbolic_name U, 1 [symbolic] -// CHECK:STDOUT: %TooMany.type.c84: type = fn_type @TooMany.2 [concrete] +// CHECK:STDOUT: %TooMany.type.c84: type = fn_type @TooMany.loc15 [concrete] // CHECK:STDOUT: %TooMany.1dc: %TooMany.type.c84 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -635,7 +635,7 @@ fn Generic(T:! ()).WrongType() {} // CHECK:STDOUT: } { // CHECK:STDOUT: %T.loc4_15.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc4_15.2 (constants.%T)] // CHECK:STDOUT: } -// CHECK:STDOUT: %TooMany.decl: %TooMany.type.c84 = fn_decl @TooMany.2 [concrete = constants.%TooMany.1dc] {} { +// CHECK:STDOUT: %TooMany.decl: %TooMany.type.c84 = fn_decl @TooMany.loc15 [concrete = constants.%TooMany.1dc] {} { // CHECK:STDOUT: %T.loc15_12.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc15_12.2 (constants.%T)] // CHECK:STDOUT: %U.loc15_22.1: type = bind_symbolic_name U, 1 [symbolic = %U.loc15_22.2 (constants.%U)] // CHECK:STDOUT: } @@ -645,11 +645,11 @@ fn Generic(T:! ()).WrongType() {} // CHECK:STDOUT: %T.loc4_15.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc4_15.2 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %TooMany.type: type = fn_type @TooMany.1, @Generic(%T.loc4_15.2) [symbolic = %TooMany.type (constants.%TooMany.type.cc8)] +// CHECK:STDOUT: %TooMany.type: type = fn_type @TooMany.loc5, @Generic(%T.loc4_15.2) [symbolic = %TooMany.type (constants.%TooMany.type.cc8)] // CHECK:STDOUT: %TooMany: @Generic.%TooMany.type (%TooMany.type.cc8) = struct_value () [symbolic = %TooMany (constants.%TooMany.dc4)] // CHECK:STDOUT: // CHECK:STDOUT: class { -// CHECK:STDOUT: %TooMany.decl: @Generic.%TooMany.type (%TooMany.type.cc8) = fn_decl @TooMany.1 [symbolic = @Generic.%TooMany (constants.%TooMany.dc4)] {} {} +// CHECK:STDOUT: %TooMany.decl: @Generic.%TooMany.type (%TooMany.type.cc8) = fn_decl @TooMany.loc5 [symbolic = @Generic.%TooMany (constants.%TooMany.dc4)] {} {} // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete = constants.%empty_struct_type] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete = constants.%complete_type] // CHECK:STDOUT: complete_type_witness = %complete_type @@ -660,11 +660,11 @@ fn Generic(T:! ()).WrongType() {} // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @TooMany.1(@Generic.%T.loc4_15.1: type) { +// CHECK:STDOUT: generic fn @TooMany.loc5(@Generic.%T.loc4_15.1: type) { // CHECK:STDOUT: fn(); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @TooMany.2(%T.loc15_12.1: type, %U.loc15_22.1: type) { +// CHECK:STDOUT: generic fn @TooMany.loc15(%T.loc15_12.1: type, %U.loc15_22.1: type) { // CHECK:STDOUT: %T.loc15_12.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc15_12.2 (constants.%T)] // CHECK:STDOUT: %U.loc15_22.2: type = bind_symbolic_name U, 1 [symbolic = %U.loc15_22.2 (constants.%U)] // CHECK:STDOUT: @@ -680,9 +680,9 @@ fn Generic(T:! ()).WrongType() {} // CHECK:STDOUT: %T.loc4_15.2 => constants.%T // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @TooMany.1(constants.%T) {} +// CHECK:STDOUT: specific @TooMany.loc5(constants.%T) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @TooMany.2(constants.%T, constants.%U) { +// CHECK:STDOUT: specific @TooMany.loc15(constants.%T, constants.%U) { // CHECK:STDOUT: %T.loc15_12.2 => constants.%T // CHECK:STDOUT: %U.loc15_22.2 => constants.%U // CHECK:STDOUT: } @@ -696,12 +696,12 @@ fn Generic(T:! ()).WrongType() {} // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Generic.generic: %Generic.type = struct_value () [concrete] // CHECK:STDOUT: %Generic: type = class_type @Generic, @Generic(%T.8b3) [symbolic] -// CHECK:STDOUT: %WrongType.type.c41: type = fn_type @WrongType.1, @Generic(%T.8b3) [symbolic] +// CHECK:STDOUT: %WrongType.type.c41: type = fn_type @WrongType.loc5, @Generic(%T.8b3) [symbolic] // CHECK:STDOUT: %WrongType.408: %WrongType.type.c41 = struct_value () [symbolic] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %T.7a6: %empty_tuple.type = bind_symbolic_name T, 0 [symbolic] -// CHECK:STDOUT: %WrongType.type.edf: type = fn_type @WrongType.2 [concrete] +// CHECK:STDOUT: %WrongType.type.edf: type = fn_type @WrongType.loc15 [concrete] // CHECK:STDOUT: %WrongType.131: %WrongType.type.edf = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -723,7 +723,7 @@ fn Generic(T:! ()).WrongType() {} // CHECK:STDOUT: } { // CHECK:STDOUT: %T.loc4_15.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc4_15.2 (constants.%T.8b3)] // CHECK:STDOUT: } -// CHECK:STDOUT: %WrongType.decl: %WrongType.type.edf = fn_decl @WrongType.2 [concrete = constants.%WrongType.131] {} { +// CHECK:STDOUT: %WrongType.decl: %WrongType.type.edf = fn_decl @WrongType.loc15 [concrete = constants.%WrongType.131] {} { // CHECK:STDOUT: %.loc15_17.1: type = splice_block %.loc15_17.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc15_17.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc15_17.3: type = converted %.loc15_17.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -736,11 +736,11 @@ fn Generic(T:! ()).WrongType() {} // CHECK:STDOUT: %T.loc4_15.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc4_15.2 (constants.%T.8b3)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %WrongType.type: type = fn_type @WrongType.1, @Generic(%T.loc4_15.2) [symbolic = %WrongType.type (constants.%WrongType.type.c41)] +// CHECK:STDOUT: %WrongType.type: type = fn_type @WrongType.loc5, @Generic(%T.loc4_15.2) [symbolic = %WrongType.type (constants.%WrongType.type.c41)] // CHECK:STDOUT: %WrongType: @Generic.%WrongType.type (%WrongType.type.c41) = struct_value () [symbolic = %WrongType (constants.%WrongType.408)] // CHECK:STDOUT: // CHECK:STDOUT: class { -// CHECK:STDOUT: %WrongType.decl: @Generic.%WrongType.type (%WrongType.type.c41) = fn_decl @WrongType.1 [symbolic = @Generic.%WrongType (constants.%WrongType.408)] {} {} +// CHECK:STDOUT: %WrongType.decl: @Generic.%WrongType.type (%WrongType.type.c41) = fn_decl @WrongType.loc5 [symbolic = @Generic.%WrongType (constants.%WrongType.408)] {} {} // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete = constants.%empty_struct_type] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete = constants.%complete_type] // CHECK:STDOUT: complete_type_witness = %complete_type @@ -751,11 +751,11 @@ fn Generic(T:! ()).WrongType() {} // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @WrongType.1(@Generic.%T.loc4_15.1: type) { +// CHECK:STDOUT: generic fn @WrongType.loc5(@Generic.%T.loc4_15.1: type) { // CHECK:STDOUT: fn(); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @WrongType.2(%T.loc15_12.1: %empty_tuple.type) { +// CHECK:STDOUT: generic fn @WrongType.loc15(%T.loc15_12.1: %empty_tuple.type) { // CHECK:STDOUT: %T.loc15_12.2: %empty_tuple.type = bind_symbolic_name T, 0 [symbolic = %T.loc15_12.2 (constants.%T.7a6)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -770,9 +770,9 @@ fn Generic(T:! ()).WrongType() {} // CHECK:STDOUT: %T.loc4_15.2 => constants.%T.8b3 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @WrongType.1(constants.%T.8b3) {} +// CHECK:STDOUT: specific @WrongType.loc5(constants.%T.8b3) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @WrongType.2(constants.%T.7a6) { +// CHECK:STDOUT: specific @WrongType.loc15(constants.%T.7a6) { // CHECK:STDOUT: %T.loc15_12.2 => constants.%T.7a6 // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/class/generic/member_type.carbon b/toolchain/check/testdata/class/generic/member_type.carbon index ebad513ad414..01eb7600d9ed 100644 --- a/toolchain/check/testdata/class/generic/member_type.carbon +++ b/toolchain/check/testdata/class/generic/member_type.carbon @@ -361,7 +361,7 @@ fn Test() -> i32 { // CHECK:STDOUT: %Self.as_type.ea1: type = facet_access_type %Self.770 [symbolic] // CHECK:STDOUT: %pattern_type.81e: type = pattern_type %Self.as_type.ea1 [symbolic] // CHECK:STDOUT: %pattern_type.7dcd0a.1: type = pattern_type %T [symbolic] -// CHECK:STDOUT: %F.type.0f3: type = fn_type @F.1, @Inner(%T) [symbolic] +// CHECK:STDOUT: %F.type.0f3: type = fn_type @F.loc6, @Inner(%T) [symbolic] // CHECK:STDOUT: %F.db9: %F.type.0f3 = struct_value () [symbolic] // CHECK:STDOUT: %Inner.assoc_type.115: type = assoc_entity_type @Inner, @Inner(%T) [symbolic] // CHECK:STDOUT: %assoc0.95e: %Inner.assoc_type.115 = assoc_entity element0, @Inner.%F.decl [symbolic] @@ -369,7 +369,7 @@ fn Test() -> i32 { // CHECK:STDOUT: %require_complete.8fa: = require_complete_type %Inner.type.392 [symbolic] // CHECK:STDOUT: %Inner.impl_witness.b15: = impl_witness @C.%Inner.impl_witness_table, @Inner.impl.eed(%T) [symbolic] // CHECK:STDOUT: %pattern_type.e59: type = pattern_type %C.390 [symbolic] -// CHECK:STDOUT: %F.type.77b: type = fn_type @F.2, @Inner.impl.eed(%T) [symbolic] +// CHECK:STDOUT: %F.type.77b: type = fn_type @F.loc11, @Inner.impl.eed(%T) [symbolic] // CHECK:STDOUT: %F.ed9: %F.type.77b = struct_value () [symbolic] // CHECK:STDOUT: %Inner.facet.9a3: %Inner.type.392 = facet_value %C.390, (%Inner.impl_witness.b15) [symbolic] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] @@ -380,7 +380,7 @@ fn Test() -> i32 { // CHECK:STDOUT: %Inner.facet.c18: %Inner.type.392 = facet_value %C.390, (%Inner.lookup_impl_witness) [symbolic] // CHECK:STDOUT: %.692: type = fn_type_with_self_type %F.type.0f3, %Inner.facet.c18 [symbolic] // CHECK:STDOUT: %impl.elem0.681: %.692 = impl_witness_access %Inner.lookup_impl_witness, element0 [symbolic] -// CHECK:STDOUT: %specific_impl_fn: = specific_impl_function %impl.elem0.681, @F.1(%T, %Inner.facet.c18) [symbolic] +// CHECK:STDOUT: %specific_impl_fn: = specific_impl_function %impl.elem0.681, @F.loc6(%T, %Inner.facet.c18) [symbolic] // CHECK:STDOUT: %D: type = class_type @D [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] @@ -390,14 +390,14 @@ fn Test() -> i32 { // CHECK:STDOUT: %Inner.type.52d: type = facet_type <@Inner, @Inner(%i32)> [concrete] // CHECK:STDOUT: %C.70f: type = class_type @C, @C(%i32) [concrete] // CHECK:STDOUT: %Self.493: %Inner.type.52d = bind_symbolic_name Self, 1 [symbolic] -// CHECK:STDOUT: %F.type.86e: type = fn_type @F.1, @Inner(%i32) [concrete] +// CHECK:STDOUT: %F.type.86e: type = fn_type @F.loc6, @Inner(%i32) [concrete] // CHECK:STDOUT: %F.11d: %F.type.86e = struct_value () [concrete] // CHECK:STDOUT: %Inner.assoc_type.215: type = assoc_entity_type @Inner, @Inner(%i32) [concrete] // CHECK:STDOUT: %assoc0.e80: %Inner.assoc_type.215 = assoc_entity element0, @Inner.%F.decl [concrete] // CHECK:STDOUT: %Inner.impl_witness.1dc: = impl_witness @D.%Inner.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.510: type = pattern_type %D [concrete] // CHECK:STDOUT: %pattern_type.7ce: type = pattern_type %i32 [concrete] -// CHECK:STDOUT: %F.type.a78: type = fn_type @F.3 [concrete] +// CHECK:STDOUT: %F.type.a78: type = fn_type @F.loc18 [concrete] // CHECK:STDOUT: %F.a24: %F.type.a78 = struct_value () [concrete] // CHECK:STDOUT: %Inner.facet.edc: %Inner.type.52d = facet_value %D, (%Inner.impl_witness.1dc) [concrete] // CHECK:STDOUT: %Test.type: type = fn_type @Test [concrete] @@ -408,11 +408,11 @@ fn Test() -> i32 { // CHECK:STDOUT: %C.val: %C.70f = struct_value () [concrete] // CHECK:STDOUT: %complete_type.9fa: = complete_type_witness %Inner.type.52d [concrete] // CHECK:STDOUT: %Inner.impl_witness.47d: = impl_witness @C.%Inner.impl_witness_table, @Inner.impl.eed(%i32) [concrete] -// CHECK:STDOUT: %F.type.f11: type = fn_type @F.2, @Inner.impl.eed(%i32) [concrete] +// CHECK:STDOUT: %F.type.f11: type = fn_type @F.loc11, @Inner.impl.eed(%i32) [concrete] // CHECK:STDOUT: %F.e75: %F.type.f11 = struct_value () [concrete] // CHECK:STDOUT: %Inner.facet.840: %Inner.type.52d = facet_value %C.70f, (%Inner.impl_witness.47d) [concrete] // CHECK:STDOUT: %.b10: type = fn_type_with_self_type %F.type.86e, %Inner.facet.840 [concrete] -// CHECK:STDOUT: %F.specific_fn: = specific_function %F.e75, @F.2(%i32) [concrete] +// CHECK:STDOUT: %F.specific_fn: = specific_function %F.e75, @F.loc11(%i32) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %Op.type.b66: type = fn_type @Op.3, @Destroy.impl(%C.70f) [concrete] // CHECK:STDOUT: %Op.369: %Op.type.b66 = struct_value () [concrete] @@ -461,30 +461,30 @@ fn Test() -> i32 { // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic = %T (constants.%T)] // CHECK:STDOUT: %Inner.type: type = facet_type <@Inner, @Inner(%T)> [symbolic = %Inner.type (constants.%Inner.type.392)] // CHECK:STDOUT: %Self.2: @Inner.%Inner.type (%Inner.type.392) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.770)] -// CHECK:STDOUT: %F.type: type = fn_type @F.1, @Inner(%T) [symbolic = %F.type (constants.%F.type.0f3)] +// CHECK:STDOUT: %F.type: type = fn_type @F.loc6, @Inner(%T) [symbolic = %F.type (constants.%F.type.0f3)] // CHECK:STDOUT: %F: @Inner.%F.type (%F.type.0f3) = struct_value () [symbolic = %F (constants.%F.db9)] // CHECK:STDOUT: %Inner.assoc_type: type = assoc_entity_type @Inner, @Inner(%T) [symbolic = %Inner.assoc_type (constants.%Inner.assoc_type.115)] // CHECK:STDOUT: %assoc0.loc6_28.2: @Inner.%Inner.assoc_type (%Inner.assoc_type.115) = assoc_entity element0, %F.decl [symbolic = %assoc0.loc6_28.2 (constants.%assoc0.95e)] // CHECK:STDOUT: // CHECK:STDOUT: interface { // CHECK:STDOUT: %Self.1: @Inner.%Inner.type (%Inner.type.392) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.770)] -// CHECK:STDOUT: %F.decl: @Inner.%F.type (%F.type.0f3) = fn_decl @F.1 [symbolic = @Inner.%F (constants.%F.db9)] { -// CHECK:STDOUT: %self.patt: @F.1.%pattern_type.loc6_10 (%pattern_type.81e) = binding_pattern self [concrete] -// CHECK:STDOUT: %self.param_patt: @F.1.%pattern_type.loc6_10 (%pattern_type.81e) = value_param_pattern %self.patt, call_param0 [concrete] -// CHECK:STDOUT: %return.patt: @F.1.%pattern_type.loc6_24 (%pattern_type.7dcd0a.1) = return_slot_pattern [concrete] -// CHECK:STDOUT: %return.param_patt: @F.1.%pattern_type.loc6_24 (%pattern_type.7dcd0a.1) = out_param_pattern %return.patt, call_param1 [concrete] +// CHECK:STDOUT: %F.decl: @Inner.%F.type (%F.type.0f3) = fn_decl @F.loc6 [symbolic = @Inner.%F (constants.%F.db9)] { +// CHECK:STDOUT: %self.patt: @F.loc6.%pattern_type.loc6_10 (%pattern_type.81e) = binding_pattern self [concrete] +// CHECK:STDOUT: %self.param_patt: @F.loc6.%pattern_type.loc6_10 (%pattern_type.81e) = value_param_pattern %self.patt, call_param0 [concrete] +// CHECK:STDOUT: %return.patt: @F.loc6.%pattern_type.loc6_24 (%pattern_type.7dcd0a.1) = return_slot_pattern [concrete] +// CHECK:STDOUT: %return.param_patt: @F.loc6.%pattern_type.loc6_24 (%pattern_type.7dcd0a.1) = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, @Outer.%T.loc4_13.1 [symbolic = %T (constants.%T)] -// CHECK:STDOUT: %self.param: @F.1.%Self.as_type.loc6_16.1 (%Self.as_type.ea1) = value_param call_param0 +// CHECK:STDOUT: %self.param: @F.loc6.%Self.as_type.loc6_16.1 (%Self.as_type.ea1) = value_param call_param0 // CHECK:STDOUT: %.loc6_16.1: type = splice_block %.loc6_16.3 [symbolic = %Self.as_type.loc6_16.1 (constants.%Self.as_type.ea1)] { -// CHECK:STDOUT: %.loc6_16.2: @F.1.%Inner.type (%Inner.type.392) = specific_constant @Inner.%Self.1, @Inner(constants.%T) [symbolic = %Self (constants.%Self.770)] -// CHECK:STDOUT: %Self.ref: @F.1.%Inner.type (%Inner.type.392) = name_ref Self, %.loc6_16.2 [symbolic = %Self (constants.%Self.770)] +// CHECK:STDOUT: %.loc6_16.2: @F.loc6.%Inner.type (%Inner.type.392) = specific_constant @Inner.%Self.1, @Inner(constants.%T) [symbolic = %Self (constants.%Self.770)] +// CHECK:STDOUT: %Self.ref: @F.loc6.%Inner.type (%Inner.type.392) = name_ref Self, %.loc6_16.2 [symbolic = %Self (constants.%Self.770)] // CHECK:STDOUT: %Self.as_type.loc6_16.2: type = facet_access_type %Self.ref [symbolic = %Self.as_type.loc6_16.1 (constants.%Self.as_type.ea1)] // CHECK:STDOUT: %.loc6_16.3: type = converted %Self.ref, %Self.as_type.loc6_16.2 [symbolic = %Self.as_type.loc6_16.1 (constants.%Self.as_type.ea1)] // CHECK:STDOUT: } -// CHECK:STDOUT: %self: @F.1.%Self.as_type.loc6_16.1 (%Self.as_type.ea1) = bind_name self, %self.param -// CHECK:STDOUT: %return.param: ref @F.1.%T (%T) = out_param call_param1 -// CHECK:STDOUT: %return: ref @F.1.%T (%T) = return_slot %return.param +// CHECK:STDOUT: %self: @F.loc6.%Self.as_type.loc6_16.1 (%Self.as_type.ea1) = bind_name self, %self.param +// CHECK:STDOUT: %return.param: ref @F.loc6.%T (%T) = out_param call_param1 +// CHECK:STDOUT: %return: ref @F.loc6.%T (%T) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %assoc0.loc6_28.1: @Inner.%Inner.assoc_type (%Inner.assoc_type.115) = assoc_entity element0, %F.decl [symbolic = %assoc0.loc6_28.2 (constants.%assoc0.95e)] // CHECK:STDOUT: @@ -504,25 +504,25 @@ fn Test() -> i32 { // CHECK:STDOUT: %Inner.impl_witness: = impl_witness @C.%Inner.impl_witness_table, @Inner.impl.eed(%T) [symbolic = %Inner.impl_witness (constants.%Inner.impl_witness.b15)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %F.type: type = fn_type @F.2, @Inner.impl.eed(%T) [symbolic = %F.type (constants.%F.type.77b)] +// CHECK:STDOUT: %F.type: type = fn_type @F.loc11, @Inner.impl.eed(%T) [symbolic = %F.type (constants.%F.type.77b)] // CHECK:STDOUT: %F: @Inner.impl.eed.%F.type (%F.type.77b) = struct_value () [symbolic = %F (constants.%F.ed9)] // CHECK:STDOUT: // CHECK:STDOUT: impl: %Self.ref as %Inner.ref { -// CHECK:STDOUT: %F.decl: @Inner.impl.eed.%F.type (%F.type.77b) = fn_decl @F.2 [symbolic = @Inner.impl.eed.%F (constants.%F.ed9)] { -// CHECK:STDOUT: %self.patt: @F.2.%pattern_type.loc11_12 (%pattern_type.e59) = binding_pattern self [concrete] -// CHECK:STDOUT: %self.param_patt: @F.2.%pattern_type.loc11_12 (%pattern_type.e59) = value_param_pattern %self.patt, call_param0 [concrete] -// CHECK:STDOUT: %return.patt: @F.2.%pattern_type.loc11_23 (%pattern_type.7dcd0a.1) = return_slot_pattern [concrete] -// CHECK:STDOUT: %return.param_patt: @F.2.%pattern_type.loc11_23 (%pattern_type.7dcd0a.1) = out_param_pattern %return.patt, call_param1 [concrete] +// CHECK:STDOUT: %F.decl: @Inner.impl.eed.%F.type (%F.type.77b) = fn_decl @F.loc11 [symbolic = @Inner.impl.eed.%F (constants.%F.ed9)] { +// CHECK:STDOUT: %self.patt: @F.loc11.%pattern_type.loc11_12 (%pattern_type.e59) = binding_pattern self [concrete] +// CHECK:STDOUT: %self.param_patt: @F.loc11.%pattern_type.loc11_12 (%pattern_type.e59) = value_param_pattern %self.patt, call_param0 [concrete] +// CHECK:STDOUT: %return.patt: @F.loc11.%pattern_type.loc11_23 (%pattern_type.7dcd0a.1) = return_slot_pattern [concrete] +// CHECK:STDOUT: %return.param_patt: @F.loc11.%pattern_type.loc11_23 (%pattern_type.7dcd0a.1) = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, @Outer.%T.loc4_13.1 [symbolic = %T (constants.%T)] -// CHECK:STDOUT: %self.param: @F.2.%C (%C.390) = value_param call_param0 +// CHECK:STDOUT: %self.param: @F.loc11.%C (%C.390) = value_param call_param0 // CHECK:STDOUT: %.loc11_18.1: type = splice_block %C.ref [symbolic = %C (constants.%C.390)] { // CHECK:STDOUT: %.loc11_18.2: type = specific_constant @Outer.%C.decl, @Outer(constants.%T) [symbolic = %C (constants.%C.390)] // CHECK:STDOUT: %C.ref: type = name_ref C, %.loc11_18.2 [symbolic = %C (constants.%C.390)] // CHECK:STDOUT: } -// CHECK:STDOUT: %self: @F.2.%C (%C.390) = bind_name self, %self.param -// CHECK:STDOUT: %return.param: ref @F.2.%T (%T) = out_param call_param1 -// CHECK:STDOUT: %return: ref @F.2.%T (%T) = return_slot %return.param +// CHECK:STDOUT: %self: @F.loc11.%C (%C.390) = bind_name self, %self.param +// CHECK:STDOUT: %return.param: ref @F.loc11.%T (%T) = out_param call_param1 +// CHECK:STDOUT: %return: ref @F.loc11.%T (%T) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -535,7 +535,7 @@ fn Test() -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @Inner.impl.a83: %Self.ref as %Inner.ref { -// CHECK:STDOUT: %F.decl: %F.type.a78 = fn_decl @F.3 [concrete = constants.%F.a24] { +// CHECK:STDOUT: %F.decl: %F.type.a78 = fn_decl @F.loc18 [concrete = constants.%F.a24] { // CHECK:STDOUT: %self.patt: %pattern_type.510 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.510 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] @@ -623,18 +623,18 @@ fn Test() -> i32 { // CHECK:STDOUT: .D = // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.1(@Outer.%T.loc4_13.1: type, @Inner.%Self.1: @Inner.%Inner.type (%Inner.type.392)) { +// CHECK:STDOUT: generic fn @F.loc6(@Outer.%T.loc4_13.1: type, @Inner.%Self.1: @Inner.%Inner.type (%Inner.type.392)) { // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic = %T (constants.%T)] // CHECK:STDOUT: %Inner.type: type = facet_type <@Inner, @Inner(%T)> [symbolic = %Inner.type (constants.%Inner.type.392)] -// CHECK:STDOUT: %Self: @F.1.%Inner.type (%Inner.type.392) = bind_symbolic_name Self, 1 [symbolic = %Self (constants.%Self.770)] +// CHECK:STDOUT: %Self: @F.loc6.%Inner.type (%Inner.type.392) = bind_symbolic_name Self, 1 [symbolic = %Self (constants.%Self.770)] // CHECK:STDOUT: %Self.as_type.loc6_16.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc6_16.1 (constants.%Self.as_type.ea1)] // CHECK:STDOUT: %pattern_type.loc6_10: type = pattern_type %Self.as_type.loc6_16.1 [symbolic = %pattern_type.loc6_10 (constants.%pattern_type.81e)] // CHECK:STDOUT: %pattern_type.loc6_24: type = pattern_type %T [symbolic = %pattern_type.loc6_24 (constants.%pattern_type.7dcd0a.1)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%self.param: @F.1.%Self.as_type.loc6_16.1 (%Self.as_type.ea1)) -> @F.1.%T (%T); +// CHECK:STDOUT: fn(%self.param: @F.loc6.%Self.as_type.loc6_16.1 (%Self.as_type.ea1)) -> @F.loc6.%T (%T); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.2(@Outer.%T.loc4_13.1: type) { +// CHECK:STDOUT: generic fn @F.loc11(@Outer.%T.loc4_13.1: type) { // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic = %T (constants.%T)] // CHECK:STDOUT: %C: type = class_type @C, @C(%T) [symbolic = %C (constants.%C.390)] // CHECK:STDOUT: %pattern_type.loc11_12: type = pattern_type %C [symbolic = %pattern_type.loc11_12 (constants.%pattern_type.e59)] @@ -646,33 +646,33 @@ fn Test() -> i32 { // CHECK:STDOUT: %Inner.type: type = facet_type <@Inner, @Inner(%T)> [symbolic = %Inner.type (constants.%Inner.type.392)] // CHECK:STDOUT: %require_complete.loc11_48: = require_complete_type %Inner.type [symbolic = %require_complete.loc11_48 (constants.%require_complete.8fa)] // CHECK:STDOUT: %Inner.assoc_type: type = assoc_entity_type @Inner, @Inner(%T) [symbolic = %Inner.assoc_type (constants.%Inner.assoc_type.115)] -// CHECK:STDOUT: %assoc0: @F.2.%Inner.assoc_type (%Inner.assoc_type.115) = assoc_entity element0, @Inner.%F.decl [symbolic = %assoc0 (constants.%assoc0.95e)] +// CHECK:STDOUT: %assoc0: @F.loc11.%Inner.assoc_type (%Inner.assoc_type.115) = assoc_entity element0, @Inner.%F.decl [symbolic = %assoc0 (constants.%assoc0.95e)] // CHECK:STDOUT: %Inner.lookup_impl_witness: = lookup_impl_witness %C, @Inner, @Inner(%T) [symbolic = %Inner.lookup_impl_witness (constants.%Inner.lookup_impl_witness)] -// CHECK:STDOUT: %F.type: type = fn_type @F.1, @Inner(%T) [symbolic = %F.type (constants.%F.type.0f3)] -// CHECK:STDOUT: %Inner.facet: @F.2.%Inner.type (%Inner.type.392) = facet_value %C, (%Inner.lookup_impl_witness) [symbolic = %Inner.facet (constants.%Inner.facet.c18)] +// CHECK:STDOUT: %F.type: type = fn_type @F.loc6, @Inner(%T) [symbolic = %F.type (constants.%F.type.0f3)] +// CHECK:STDOUT: %Inner.facet: @F.loc11.%Inner.type (%Inner.type.392) = facet_value %C, (%Inner.lookup_impl_witness) [symbolic = %Inner.facet (constants.%Inner.facet.c18)] // CHECK:STDOUT: %.loc11_41: type = fn_type_with_self_type %F.type, %Inner.facet [symbolic = %.loc11_41 (constants.%.692)] -// CHECK:STDOUT: %impl.elem0.loc11_41.2: @F.2.%.loc11_41 (%.692) = impl_witness_access %Inner.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc11_41.2 (constants.%impl.elem0.681)] -// CHECK:STDOUT: %specific_impl_fn.loc11_41.2: = specific_impl_function %impl.elem0.loc11_41.2, @F.1(%T, %Inner.facet) [symbolic = %specific_impl_fn.loc11_41.2 (constants.%specific_impl_fn)] +// CHECK:STDOUT: %impl.elem0.loc11_41.2: @F.loc11.%.loc11_41 (%.692) = impl_witness_access %Inner.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc11_41.2 (constants.%impl.elem0.681)] +// CHECK:STDOUT: %specific_impl_fn.loc11_41.2: = specific_impl_function %impl.elem0.loc11_41.2, @F.loc6(%T, %Inner.facet) [symbolic = %specific_impl_fn.loc11_41.2 (constants.%specific_impl_fn)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%self.param: @F.2.%C (%C.390)) -> @F.2.%T (%T) { +// CHECK:STDOUT: fn(%self.param: @F.loc11.%C (%C.390)) -> @F.loc11.%T (%T) { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %self.ref: @F.2.%C (%C.390) = name_ref self, %self +// CHECK:STDOUT: %self.ref: @F.loc11.%C (%C.390) = name_ref self, %self // CHECK:STDOUT: %.loc11_43: type = specific_constant @Outer.%Inner.decl, @Outer(constants.%T) [symbolic = %Inner.type (constants.%Inner.type.392)] // CHECK:STDOUT: %Inner.ref: type = name_ref Inner, %.loc11_43 [symbolic = %Inner.type (constants.%Inner.type.392)] -// CHECK:STDOUT: %.loc11_48: @F.2.%Inner.assoc_type (%Inner.assoc_type.115) = specific_constant @Inner.%assoc0.loc6_28.1, @Inner(constants.%T) [symbolic = %assoc0 (constants.%assoc0.95e)] -// CHECK:STDOUT: %F.ref: @F.2.%Inner.assoc_type (%Inner.assoc_type.115) = name_ref F, %.loc11_48 [symbolic = %assoc0 (constants.%assoc0.95e)] -// CHECK:STDOUT: %impl.elem0.loc11_41.1: @F.2.%.loc11_41 (%.692) = impl_witness_access constants.%Inner.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc11_41.2 (constants.%impl.elem0.681)] +// CHECK:STDOUT: %.loc11_48: @F.loc11.%Inner.assoc_type (%Inner.assoc_type.115) = specific_constant @Inner.%assoc0.loc6_28.1, @Inner(constants.%T) [symbolic = %assoc0 (constants.%assoc0.95e)] +// CHECK:STDOUT: %F.ref: @F.loc11.%Inner.assoc_type (%Inner.assoc_type.115) = name_ref F, %.loc11_48 [symbolic = %assoc0 (constants.%assoc0.95e)] +// CHECK:STDOUT: %impl.elem0.loc11_41.1: @F.loc11.%.loc11_41 (%.692) = impl_witness_access constants.%Inner.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc11_41.2 (constants.%impl.elem0.681)] // CHECK:STDOUT: %bound_method.loc11_41: = bound_method %self.ref, %impl.elem0.loc11_41.1 -// CHECK:STDOUT: %specific_impl_fn.loc11_41.1: = specific_impl_function %impl.elem0.loc11_41.1, @F.1(constants.%T, constants.%Inner.facet.c18) [symbolic = %specific_impl_fn.loc11_41.2 (constants.%specific_impl_fn)] +// CHECK:STDOUT: %specific_impl_fn.loc11_41.1: = specific_impl_function %impl.elem0.loc11_41.1, @F.loc6(constants.%T, constants.%Inner.facet.c18) [symbolic = %specific_impl_fn.loc11_41.2 (constants.%specific_impl_fn)] // CHECK:STDOUT: %bound_method.loc11_52: = bound_method %self.ref, %specific_impl_fn.loc11_41.1 -// CHECK:STDOUT: %.loc11_52: init @F.2.%T (%T) = call %bound_method.loc11_52(%self.ref) -// CHECK:STDOUT: %.loc11_53.1: @F.2.%T (%T) = value_of_initializer %.loc11_52 -// CHECK:STDOUT: %.loc11_53.2: @F.2.%T (%T) = converted %.loc11_52, %.loc11_53.1 +// CHECK:STDOUT: %.loc11_52: init @F.loc11.%T (%T) = call %bound_method.loc11_52(%self.ref) +// CHECK:STDOUT: %.loc11_53.1: @F.loc11.%T (%T) = value_of_initializer %.loc11_52 +// CHECK:STDOUT: %.loc11_53.2: @F.loc11.%T (%T) = converted %.loc11_52, %.loc11_53.1 // CHECK:STDOUT: return %.loc11_53.2 // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.3(%self.param: %D) -> %i32; +// CHECK:STDOUT: fn @F.loc18(%self.param: %D) -> %i32; // CHECK:STDOUT: // CHECK:STDOUT: fn @Test() -> %i32 { // CHECK:STDOUT: !entry: @@ -705,7 +705,7 @@ fn Test() -> i32 { // CHECK:STDOUT: %F.ref: %Inner.assoc_type.215 = name_ref F, %.loc24_29 [concrete = constants.%assoc0.e80] // CHECK:STDOUT: %impl.elem0: %.b10 = impl_witness_access constants.%Inner.impl_witness.47d, element0 [concrete = constants.%F.e75] // CHECK:STDOUT: %bound_method.loc24_11: = bound_method %c.ref, %impl.elem0 -// CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @F.2(constants.%i32) [concrete = constants.%F.specific_fn] +// CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @F.loc11(constants.%i32) [concrete = constants.%F.specific_fn] // CHECK:STDOUT: %bound_method.loc24_33: = bound_method %c.ref, %specific_fn // CHECK:STDOUT: %.loc24_10: %C.70f = bind_value %c.ref // CHECK:STDOUT: %F.call: init %i32 = call %bound_method.loc24_33(%.loc24_10) @@ -738,7 +738,7 @@ fn Test() -> i32 { // CHECK:STDOUT: %assoc0.loc6_28.2 => constants.%assoc0.95e // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%T, constants.%Self.770) { +// CHECK:STDOUT: specific @F.loc6(constants.%T, constants.%Self.770) { // CHECK:STDOUT: %T => constants.%T // CHECK:STDOUT: %Inner.type => constants.%Inner.type.392 // CHECK:STDOUT: %Self => constants.%Self.770 @@ -763,14 +763,14 @@ fn Test() -> i32 { // CHECK:STDOUT: %F => constants.%F.ed9 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.2(constants.%T) { +// CHECK:STDOUT: specific @F.loc11(constants.%T) { // CHECK:STDOUT: %T => constants.%T // CHECK:STDOUT: %C => constants.%C.390 // CHECK:STDOUT: %pattern_type.loc11_12 => constants.%pattern_type.e59 // CHECK:STDOUT: %pattern_type.loc11_23 => constants.%pattern_type.7dcd0a.1 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%T, constants.%Inner.facet.9a3) { +// CHECK:STDOUT: specific @F.loc6(constants.%T, constants.%Inner.facet.9a3) { // CHECK:STDOUT: %T => constants.%T // CHECK:STDOUT: %Inner.type => constants.%Inner.type.392 // CHECK:STDOUT: %Self => constants.%Inner.facet.9a3 @@ -779,7 +779,7 @@ fn Test() -> i32 { // CHECK:STDOUT: %pattern_type.loc6_24 => constants.%pattern_type.7dcd0a.1 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%T, constants.%Inner.facet.c18) { +// CHECK:STDOUT: specific @F.loc6(constants.%T, constants.%Inner.facet.c18) { // CHECK:STDOUT: %T => constants.%T // CHECK:STDOUT: %Inner.type => constants.%Inner.type.392 // CHECK:STDOUT: %Self => constants.%Inner.facet.c18 @@ -811,7 +811,7 @@ fn Test() -> i32 { // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%i32, constants.%Inner.facet.edc) { +// CHECK:STDOUT: specific @F.loc6(constants.%i32, constants.%Inner.facet.edc) { // CHECK:STDOUT: %T => constants.%i32 // CHECK:STDOUT: %Inner.type => constants.%Inner.type.52d // CHECK:STDOUT: %Self => constants.%Inner.facet.edc @@ -832,7 +832,7 @@ fn Test() -> i32 { // CHECK:STDOUT: %F => constants.%F.e75 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.2(constants.%i32) { +// CHECK:STDOUT: specific @F.loc11(constants.%i32) { // CHECK:STDOUT: %T => constants.%i32 // CHECK:STDOUT: %C => constants.%C.70f // CHECK:STDOUT: %pattern_type.loc11_12 => constants.%pattern_type.de9 @@ -853,7 +853,7 @@ fn Test() -> i32 { // CHECK:STDOUT: %specific_impl_fn.loc11_41.2 => constants.%F.specific_fn // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%i32, constants.%Inner.facet.840) { +// CHECK:STDOUT: specific @F.loc6(constants.%i32, constants.%Inner.facet.840) { // CHECK:STDOUT: %T => constants.%i32 // CHECK:STDOUT: %Inner.type => constants.%Inner.type.52d // CHECK:STDOUT: %Self => constants.%Inner.facet.840 diff --git a/toolchain/check/testdata/class/generic/redeclare.carbon b/toolchain/check/testdata/class/generic/redeclare.carbon index c2ff35c0a93b..9368e33f45d0 100644 --- a/toolchain/check/testdata/class/generic/redeclare.carbon +++ b/toolchain/check/testdata/class/generic/redeclare.carbon @@ -156,12 +156,12 @@ class E(U:! type) {} // CHECK:STDOUT: --- fail_mismatch_param_list.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %A.466: type = class_type @A.1 [concrete] +// CHECK:STDOUT: %A.466: type = class_type @A.loc4 [concrete] // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic] // CHECK:STDOUT: %pattern_type: type = pattern_type type [concrete] -// CHECK:STDOUT: %A.type: type = generic_class_type @A.2 [concrete] +// CHECK:STDOUT: %A.type: type = generic_class_type @A.loc12 [concrete] // CHECK:STDOUT: %A.generic: %A.type = struct_value () [concrete] -// CHECK:STDOUT: %A.130: type = class_type @A.2, @A.2(%T) [symbolic] +// CHECK:STDOUT: %A.130: type = class_type @A.loc12, @A.loc12(%T) [symbolic] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: } @@ -179,17 +179,17 @@ class E(U:! type) {} // CHECK:STDOUT: .A = %A.decl.loc4 // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core -// CHECK:STDOUT: %A.decl.loc4: type = class_decl @A.1 [concrete = constants.%A.466] {} {} -// CHECK:STDOUT: %A.decl.loc12: %A.type = class_decl @A.2 [concrete = constants.%A.generic] { +// CHECK:STDOUT: %A.decl.loc4: type = class_decl @A.loc4 [concrete = constants.%A.466] {} {} +// CHECK:STDOUT: %A.decl.loc12: %A.type = class_decl @A.loc12 [concrete = constants.%A.generic] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.loc12_9.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc12_9.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: class @A.1; +// CHECK:STDOUT: class @A.loc4; // CHECK:STDOUT: -// CHECK:STDOUT: generic class @A.2(%T.loc12_9.1: type) { +// CHECK:STDOUT: generic class @A.loc12(%T.loc12_9.1: type) { // CHECK:STDOUT: %T.loc12_9.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc12_9.2 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -204,7 +204,7 @@ class E(U:! type) {} // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @A.2(constants.%T) { +// CHECK:STDOUT: specific @A.loc12(constants.%T) { // CHECK:STDOUT: %T.loc12_9.2 => constants.%T // CHECK:STDOUT: } // CHECK:STDOUT: @@ -216,15 +216,15 @@ class E(U:! type) {} // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %N.9e6: %A = bind_symbolic_name N, 0 [symbolic] // CHECK:STDOUT: %pattern_type.c10: type = pattern_type %A [concrete] -// CHECK:STDOUT: %B.type.844c0f.1: type = generic_class_type @B.1 [concrete] +// CHECK:STDOUT: %B.type.844c0f.1: type = generic_class_type @B.loc6 [concrete] // CHECK:STDOUT: %B.generic.ba299b.1: %B.type.844c0f.1 = struct_value () [concrete] // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic] // CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] // CHECK:STDOUT: %N.f22: %T = bind_symbolic_name N, 1 [symbolic] // CHECK:STDOUT: %pattern_type.7dc: type = pattern_type %T [symbolic] -// CHECK:STDOUT: %B.type.844c0f.2: type = generic_class_type @B.2 [concrete] +// CHECK:STDOUT: %B.type.844c0f.2: type = generic_class_type @B.loc14 [concrete] // CHECK:STDOUT: %B.generic.ba299b.2: %B.type.844c0f.2 = struct_value () [concrete] -// CHECK:STDOUT: %B.828: type = class_type @B.2, @B.2(%T, %N.f22) [symbolic] +// CHECK:STDOUT: %B.828: type = class_type @B.loc14, @B.loc14(%T, %N.f22) [symbolic] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -242,19 +242,19 @@ class E(U:! type) {} // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %A.decl: type = class_decl @A [concrete = constants.%A] {} {} -// CHECK:STDOUT: %B.decl.loc6: %B.type.844c0f.1 = class_decl @B.1 [concrete = constants.%B.generic.ba299b.1] { +// CHECK:STDOUT: %B.decl.loc6: %B.type.844c0f.1 = class_decl @B.loc6 [concrete = constants.%B.generic.ba299b.1] { // CHECK:STDOUT: %N.patt: %pattern_type.c10 = symbolic_binding_pattern N, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [concrete = constants.%A] // CHECK:STDOUT: %N.loc6_9.1: %A = bind_symbolic_name N, 0 [symbolic = %N.loc6_9.2 (constants.%N.9e6)] // CHECK:STDOUT: } -// CHECK:STDOUT: %B.decl.loc14: %B.type.844c0f.2 = class_decl @B.2 [concrete = constants.%B.generic.ba299b.2] { +// CHECK:STDOUT: %B.decl.loc14: %B.type.844c0f.2 = class_decl @B.loc14 [concrete = constants.%B.generic.ba299b.2] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] -// CHECK:STDOUT: %N.patt: @B.2.%pattern_type (%pattern_type.7dc) = symbolic_binding_pattern N, 1 [concrete] +// CHECK:STDOUT: %N.patt: @B.loc14.%pattern_type (%pattern_type.7dc) = symbolic_binding_pattern N, 1 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.loc14_9.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc14_9.2 (constants.%T)] // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc14_9.1 [symbolic = %T.loc14_9.2 (constants.%T)] -// CHECK:STDOUT: %N.loc14_19.1: @B.2.%T.loc14_9.2 (%T) = bind_symbolic_name N, 1 [symbolic = %N.loc14_19.2 (constants.%N.f22)] +// CHECK:STDOUT: %N.loc14_19.1: @B.loc14.%T.loc14_9.2 (%T) = bind_symbolic_name N, 1 [symbolic = %N.loc14_19.2 (constants.%N.f22)] // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: @@ -267,15 +267,15 @@ class E(U:! type) {} // CHECK:STDOUT: .Self = constants.%A // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic class @B.1(%N.loc6_9.1: %A) { +// CHECK:STDOUT: generic class @B.loc6(%N.loc6_9.1: %A) { // CHECK:STDOUT: %N.loc6_9.2: %A = bind_symbolic_name N, 0 [symbolic = %N.loc6_9.2 (constants.%N.9e6)] // CHECK:STDOUT: // CHECK:STDOUT: class; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic class @B.2(%T.loc14_9.1: type, %N.loc14_19.1: @B.2.%T.loc14_9.2 (%T)) { +// CHECK:STDOUT: generic class @B.loc14(%T.loc14_9.1: type, %N.loc14_19.1: @B.loc14.%T.loc14_9.2 (%T)) { // CHECK:STDOUT: %T.loc14_9.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc14_9.2 (constants.%T)] -// CHECK:STDOUT: %N.loc14_19.2: @B.2.%T.loc14_9.2 (%T) = bind_symbolic_name N, 1 [symbolic = %N.loc14_19.2 (constants.%N.f22)] +// CHECK:STDOUT: %N.loc14_19.2: @B.loc14.%T.loc14_9.2 (%T) = bind_symbolic_name N, 1 [symbolic = %N.loc14_19.2 (constants.%N.f22)] // CHECK:STDOUT: %pattern_type: type = pattern_type %T.loc14_9.2 [symbolic = %pattern_type (constants.%pattern_type.7dc)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -290,11 +290,11 @@ class E(U:! type) {} // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @B.1(constants.%N.9e6) { +// CHECK:STDOUT: specific @B.loc6(constants.%N.9e6) { // CHECK:STDOUT: %N.loc6_9.2 => constants.%N.9e6 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @B.2(constants.%T, constants.%N.f22) { +// CHECK:STDOUT: specific @B.loc14(constants.%T, constants.%N.f22) { // CHECK:STDOUT: %T.loc14_9.2 => constants.%T // CHECK:STDOUT: %N.loc14_19.2 => constants.%N.f22 // CHECK:STDOUT: %pattern_type => constants.%pattern_type.7dc @@ -308,13 +308,13 @@ class E(U:! type) {} // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic] // CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %C.type.e6e560.1: type = generic_class_type @C.1 [concrete] +// CHECK:STDOUT: %C.type.e6e560.1: type = generic_class_type @C.loc6 [concrete] // CHECK:STDOUT: %C.generic.965b12.1: %C.type.e6e560.1 = struct_value () [concrete] // CHECK:STDOUT: %U: %A = bind_symbolic_name U, 1 [symbolic] // CHECK:STDOUT: %pattern_type.c10: type = pattern_type %A [concrete] -// CHECK:STDOUT: %C.type.e6e560.2: type = generic_class_type @C.2 [concrete] +// CHECK:STDOUT: %C.type.e6e560.2: type = generic_class_type @C.loc14 [concrete] // CHECK:STDOUT: %C.generic.965b12.2: %C.type.e6e560.2 = struct_value () [concrete] -// CHECK:STDOUT: %C.3d8: type = class_type @C.2, @C.2(%T, %U) [symbolic] +// CHECK:STDOUT: %C.3d8: type = class_type @C.loc14, @C.loc14(%T, %U) [symbolic] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -332,12 +332,12 @@ class E(U:! type) {} // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %A.decl: type = class_decl @A [concrete = constants.%A] {} {} -// CHECK:STDOUT: %C.decl.loc6: %C.type.e6e560.1 = class_decl @C.1 [concrete = constants.%C.generic.965b12.1] { +// CHECK:STDOUT: %C.decl.loc6: %C.type.e6e560.1 = class_decl @C.loc6 [concrete = constants.%C.generic.965b12.1] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.loc6_9.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc6_9.2 (constants.%T)] // CHECK:STDOUT: } -// CHECK:STDOUT: %C.decl.loc14: %C.type.e6e560.2 = class_decl @C.2 [concrete = constants.%C.generic.965b12.2] { +// CHECK:STDOUT: %C.decl.loc14: %C.type.e6e560.2 = class_decl @C.loc14 [concrete = constants.%C.generic.965b12.2] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: %U.patt: %pattern_type.c10 = symbolic_binding_pattern U, 1 [concrete] // CHECK:STDOUT: } { @@ -356,13 +356,13 @@ class E(U:! type) {} // CHECK:STDOUT: .Self = constants.%A // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic class @C.1(%T.loc6_9.1: type) { +// CHECK:STDOUT: generic class @C.loc6(%T.loc6_9.1: type) { // CHECK:STDOUT: %T.loc6_9.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc6_9.2 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: class; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic class @C.2(%T.loc14_9.1: type, %U.loc14_19.1: %A) { +// CHECK:STDOUT: generic class @C.loc14(%T.loc14_9.1: type, %U.loc14_19.1: %A) { // CHECK:STDOUT: %T.loc14_9.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc14_9.2 (constants.%T)] // CHECK:STDOUT: %U.loc14_19.2: %A = bind_symbolic_name U, 1 [symbolic = %U.loc14_19.2 (constants.%U)] // CHECK:STDOUT: @@ -378,11 +378,11 @@ class E(U:! type) {} // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @C.1(constants.%T) { +// CHECK:STDOUT: specific @C.loc6(constants.%T) { // CHECK:STDOUT: %T.loc6_9.2 => constants.%T // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @C.2(constants.%T, constants.%U) { +// CHECK:STDOUT: specific @C.loc14(constants.%T, constants.%U) { // CHECK:STDOUT: %T.loc14_9.2 => constants.%T // CHECK:STDOUT: %U.loc14_19.2 => constants.%U // CHECK:STDOUT: } @@ -395,13 +395,13 @@ class E(U:! type) {} // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %T.8b3: type = bind_symbolic_name T, 0 [symbolic] // CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %D.type.bbd080.1: type = generic_class_type @D.1 [concrete] +// CHECK:STDOUT: %D.type.bbd080.1: type = generic_class_type @D.loc6 [concrete] // CHECK:STDOUT: %D.generic.4e2319.1: %D.type.bbd080.1 = struct_value () [concrete] // CHECK:STDOUT: %T.9e6: %A = bind_symbolic_name T, 0 [symbolic] // CHECK:STDOUT: %pattern_type.c10: type = pattern_type %A [concrete] -// CHECK:STDOUT: %D.type.bbd080.2: type = generic_class_type @D.2 [concrete] +// CHECK:STDOUT: %D.type.bbd080.2: type = generic_class_type @D.loc14 [concrete] // CHECK:STDOUT: %D.generic.4e2319.2: %D.type.bbd080.2 = struct_value () [concrete] -// CHECK:STDOUT: %D.384: type = class_type @D.2, @D.2(%T.9e6) [symbolic] +// CHECK:STDOUT: %D.384: type = class_type @D.loc14, @D.loc14(%T.9e6) [symbolic] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -419,12 +419,12 @@ class E(U:! type) {} // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %A.decl: type = class_decl @A [concrete = constants.%A] {} {} -// CHECK:STDOUT: %D.decl.loc6: %D.type.bbd080.1 = class_decl @D.1 [concrete = constants.%D.generic.4e2319.1] { +// CHECK:STDOUT: %D.decl.loc6: %D.type.bbd080.1 = class_decl @D.loc6 [concrete = constants.%D.generic.4e2319.1] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.loc6_9.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc6_9.2 (constants.%T.8b3)] // CHECK:STDOUT: } -// CHECK:STDOUT: %D.decl.loc14: %D.type.bbd080.2 = class_decl @D.2 [concrete = constants.%D.generic.4e2319.2] { +// CHECK:STDOUT: %D.decl.loc14: %D.type.bbd080.2 = class_decl @D.loc14 [concrete = constants.%D.generic.4e2319.2] { // CHECK:STDOUT: %T.patt: %pattern_type.c10 = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [concrete = constants.%A] @@ -441,13 +441,13 @@ class E(U:! type) {} // CHECK:STDOUT: .Self = constants.%A // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic class @D.1(%T.loc6_9.1: type) { +// CHECK:STDOUT: generic class @D.loc6(%T.loc6_9.1: type) { // CHECK:STDOUT: %T.loc6_9.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc6_9.2 (constants.%T.8b3)] // CHECK:STDOUT: // CHECK:STDOUT: class; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic class @D.2(%T.loc14_9.1: %A) { +// CHECK:STDOUT: generic class @D.loc14(%T.loc14_9.1: %A) { // CHECK:STDOUT: %T.loc14_9.2: %A = bind_symbolic_name T, 0 [symbolic = %T.loc14_9.2 (constants.%T.9e6)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -462,11 +462,11 @@ class E(U:! type) {} // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @D.1(constants.%T.8b3) { +// CHECK:STDOUT: specific @D.loc6(constants.%T.8b3) { // CHECK:STDOUT: %T.loc6_9.2 => constants.%T.8b3 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @D.2(constants.%T.9e6) { +// CHECK:STDOUT: specific @D.loc14(constants.%T.9e6) { // CHECK:STDOUT: %T.loc14_9.2 => constants.%T.9e6 // CHECK:STDOUT: } // CHECK:STDOUT: @@ -475,12 +475,12 @@ class E(U:! type) {} // CHECK:STDOUT: constants { // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic] // CHECK:STDOUT: %pattern_type: type = pattern_type type [concrete] -// CHECK:STDOUT: %E.type.b0f8dc.1: type = generic_class_type @E.1 [concrete] +// CHECK:STDOUT: %E.type.b0f8dc.1: type = generic_class_type @E.loc4 [concrete] // CHECK:STDOUT: %E.generic.f281ba.1: %E.type.b0f8dc.1 = struct_value () [concrete] // CHECK:STDOUT: %U: type = bind_symbolic_name U, 0 [symbolic] -// CHECK:STDOUT: %E.type.b0f8dc.2: type = generic_class_type @E.2 [concrete] +// CHECK:STDOUT: %E.type.b0f8dc.2: type = generic_class_type @E.loc12 [concrete] // CHECK:STDOUT: %E.generic.f281ba.2: %E.type.b0f8dc.2 = struct_value () [concrete] -// CHECK:STDOUT: %E.ec9c10.2: type = class_type @E.2, @E.2(%U) [symbolic] +// CHECK:STDOUT: %E.ec9c10.2: type = class_type @E.loc12, @E.loc12(%U) [symbolic] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: } @@ -498,25 +498,25 @@ class E(U:! type) {} // CHECK:STDOUT: .E = %E.decl.loc4 // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core -// CHECK:STDOUT: %E.decl.loc4: %E.type.b0f8dc.1 = class_decl @E.1 [concrete = constants.%E.generic.f281ba.1] { +// CHECK:STDOUT: %E.decl.loc4: %E.type.b0f8dc.1 = class_decl @E.loc4 [concrete = constants.%E.generic.f281ba.1] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.loc4_9.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc4_9.2 (constants.%T)] // CHECK:STDOUT: } -// CHECK:STDOUT: %E.decl.loc12: %E.type.b0f8dc.2 = class_decl @E.2 [concrete = constants.%E.generic.f281ba.2] { +// CHECK:STDOUT: %E.decl.loc12: %E.type.b0f8dc.2 = class_decl @E.loc12 [concrete = constants.%E.generic.f281ba.2] { // CHECK:STDOUT: %U.patt: %pattern_type = symbolic_binding_pattern U, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %U.loc12_9.1: type = bind_symbolic_name U, 0 [symbolic = %U.loc12_9.2 (constants.%U)] // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic class @E.1(%T.loc4_9.1: type) { +// CHECK:STDOUT: generic class @E.loc4(%T.loc4_9.1: type) { // CHECK:STDOUT: %T.loc4_9.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc4_9.2 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: class; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic class @E.2(%U.loc12_9.1: type) { +// CHECK:STDOUT: generic class @E.loc12(%U.loc12_9.1: type) { // CHECK:STDOUT: %U.loc12_9.2: type = bind_symbolic_name U, 0 [symbolic = %U.loc12_9.2 (constants.%U)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -531,11 +531,11 @@ class E(U:! type) {} // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @E.1(constants.%T) { +// CHECK:STDOUT: specific @E.loc4(constants.%T) { // CHECK:STDOUT: %T.loc4_9.2 => constants.%T // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @E.2(constants.%U) { +// CHECK:STDOUT: specific @E.loc12(constants.%U) { // CHECK:STDOUT: %U.loc12_9.2 => constants.%U // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/class/generic_vs_params.carbon b/toolchain/check/testdata/class/generic_vs_params.carbon index d7396407e39c..b7561b6eae02 100644 --- a/toolchain/check/testdata/class/generic_vs_params.carbon +++ b/toolchain/check/testdata/class/generic_vs_params.carbon @@ -89,32 +89,32 @@ class Foo[T:! type]; // CHECK:STDOUT: %NotGenericButParams: type = class_type @NotGenericButParams [concrete] // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic] // CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %GenericAndParams.type.c8d: type = generic_class_type @GenericAndParams.1 [concrete] +// CHECK:STDOUT: %GenericAndParams.type.c8d: type = generic_class_type @GenericAndParams.loc6 [concrete] // CHECK:STDOUT: %GenericAndParams.generic.1e4: %GenericAndParams.type.c8d = struct_value () [concrete] -// CHECK:STDOUT: %GenericAndParams.2ce: type = class_type @GenericAndParams.1, @GenericAndParams.1(%T) [symbolic] +// CHECK:STDOUT: %GenericAndParams.2ce: type = class_type @GenericAndParams.loc6, @GenericAndParams.loc6(%T) [symbolic] // CHECK:STDOUT: %C.type: type = generic_class_type @C [concrete] // CHECK:STDOUT: %C.generic: %C.type = struct_value () [concrete] // CHECK:STDOUT: %C.f2e: type = class_type @C, @C(%T) [symbolic] // CHECK:STDOUT: %GenericNoParams.fbf: type = class_type @GenericNoParams, @GenericNoParams(%T) [symbolic] // CHECK:STDOUT: %U: type = bind_symbolic_name U, 1 [symbolic] -// CHECK:STDOUT: %GenericAndParams.type.3ce: type = generic_class_type @GenericAndParams.2, @C(%T) [symbolic] +// CHECK:STDOUT: %GenericAndParams.type.3ce: type = generic_class_type @GenericAndParams.loc10, @C(%T) [symbolic] // CHECK:STDOUT: %GenericAndParams.generic.54a: %GenericAndParams.type.3ce = struct_value () [symbolic] -// CHECK:STDOUT: %GenericAndParams.425: type = class_type @GenericAndParams.2, @GenericAndParams.2(%T, %U) [symbolic] +// CHECK:STDOUT: %GenericAndParams.425: type = class_type @GenericAndParams.loc10, @GenericAndParams.loc10(%T, %U) [symbolic] // CHECK:STDOUT: %X: type = class_type @X [concrete] // CHECK:STDOUT: %pattern_type.71d: type = pattern_type %NotGenericNoParams [concrete] // CHECK:STDOUT: %NotGenericNoParams.val: %NotGenericNoParams = struct_value () [concrete] // CHECK:STDOUT: %pattern_type.4f9: type = pattern_type %NotGenericButParams [concrete] // CHECK:STDOUT: %NotGenericButParams.val: %NotGenericButParams = struct_value () [concrete] -// CHECK:STDOUT: %GenericAndParams.2bb: type = class_type @GenericAndParams.1, @GenericAndParams.1(%X) [concrete] +// CHECK:STDOUT: %GenericAndParams.2bb: type = class_type @GenericAndParams.loc6, @GenericAndParams.loc6(%X) [concrete] // CHECK:STDOUT: %pattern_type.569: type = pattern_type %GenericAndParams.2bb [concrete] // CHECK:STDOUT: %GenericAndParams.val.0b2: %GenericAndParams.2bb = struct_value () [concrete] // CHECK:STDOUT: %C.fac: type = class_type @C, @C(%X) [concrete] // CHECK:STDOUT: %GenericNoParams.fa1: type = class_type @GenericNoParams, @GenericNoParams(%X) [concrete] -// CHECK:STDOUT: %GenericAndParams.type.c20: type = generic_class_type @GenericAndParams.2, @C(%X) [concrete] +// CHECK:STDOUT: %GenericAndParams.type.c20: type = generic_class_type @GenericAndParams.loc10, @C(%X) [concrete] // CHECK:STDOUT: %GenericAndParams.generic.a55: %GenericAndParams.type.c20 = struct_value () [concrete] // CHECK:STDOUT: %pattern_type.518: type = pattern_type %GenericNoParams.fa1 [concrete] // CHECK:STDOUT: %GenericNoParams.val: %GenericNoParams.fa1 = struct_value () [concrete] -// CHECK:STDOUT: %GenericAndParams.91f: type = class_type @GenericAndParams.2, @GenericAndParams.2(%X, %X) [concrete] +// CHECK:STDOUT: %GenericAndParams.91f: type = class_type @GenericAndParams.loc10, @GenericAndParams.loc10(%X, %X) [concrete] // CHECK:STDOUT: %pattern_type.806: type = pattern_type %GenericAndParams.91f [concrete] // CHECK:STDOUT: %GenericAndParams.val.99b: %GenericAndParams.91f = struct_value () [concrete] // CHECK:STDOUT: } @@ -134,7 +134,7 @@ class Foo[T:! type]; // CHECK:STDOUT: } // CHECK:STDOUT: %NotGenericNoParams.decl: type = class_decl @NotGenericNoParams [concrete = constants.%NotGenericNoParams] {} {} // CHECK:STDOUT: %NotGenericButParams.decl: %NotGenericButParams.type = class_decl @NotGenericButParams [concrete = constants.%NotGenericButParams.generic] {} {} -// CHECK:STDOUT: %GenericAndParams.decl: %GenericAndParams.type.c8d = class_decl @GenericAndParams.1 [concrete = constants.%GenericAndParams.generic.1e4] { +// CHECK:STDOUT: %GenericAndParams.decl: %GenericAndParams.type.c8d = class_decl @GenericAndParams.loc6 [concrete = constants.%GenericAndParams.generic.1e4] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.loc6_24.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc6_24.2 (constants.%T)] @@ -170,7 +170,7 @@ class Foo[T:! type]; // CHECK:STDOUT: %.loc17: type = splice_block %GenericAndParams.loc17 [concrete = constants.%GenericAndParams.2bb] { // CHECK:STDOUT: %GenericAndParams.ref.loc17: %GenericAndParams.type.c8d = name_ref GenericAndParams, %GenericAndParams.decl [concrete = constants.%GenericAndParams.generic.1e4] // CHECK:STDOUT: %X.ref.loc17: type = name_ref X, %X.decl [concrete = constants.%X] -// CHECK:STDOUT: %GenericAndParams.loc17: type = class_type @GenericAndParams.1, @GenericAndParams.1(constants.%X) [concrete = constants.%GenericAndParams.2bb] +// CHECK:STDOUT: %GenericAndParams.loc17: type = class_type @GenericAndParams.loc6, @GenericAndParams.loc6(constants.%X) [concrete = constants.%GenericAndParams.2bb] // CHECK:STDOUT: } // CHECK:STDOUT: %c: ref %GenericAndParams.2bb = bind_name c, %c.var [concrete = %c.var] // CHECK:STDOUT: name_binding_decl { @@ -198,7 +198,7 @@ class Foo[T:! type]; // CHECK:STDOUT: %.loc19_12: %GenericAndParams.type.c20 = specific_constant @C.%GenericAndParams.decl, @C(constants.%X) [concrete = constants.%GenericAndParams.generic.a55] // CHECK:STDOUT: %GenericAndParams.ref.loc19: %GenericAndParams.type.c20 = name_ref GenericAndParams, %.loc19_12 [concrete = constants.%GenericAndParams.generic.a55] // CHECK:STDOUT: %X.ref.loc19_30: type = name_ref X, %X.decl [concrete = constants.%X] -// CHECK:STDOUT: %GenericAndParams.loc19: type = class_type @GenericAndParams.2, @GenericAndParams.2(constants.%X, constants.%X) [concrete = constants.%GenericAndParams.91f] +// CHECK:STDOUT: %GenericAndParams.loc19: type = class_type @GenericAndParams.loc10, @GenericAndParams.loc10(constants.%X, constants.%X) [concrete = constants.%GenericAndParams.91f] // CHECK:STDOUT: } // CHECK:STDOUT: %e: ref %GenericAndParams.91f = bind_name e, %e.var [concrete = %e.var] // CHECK:STDOUT: } @@ -221,7 +221,7 @@ class Foo[T:! type]; // CHECK:STDOUT: .Self = constants.%NotGenericButParams // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic class @GenericAndParams.1(%T.loc6_24.1: type) { +// CHECK:STDOUT: generic class @GenericAndParams.loc6(%T.loc6_24.1: type) { // CHECK:STDOUT: %T.loc6_24.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc6_24.2 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -241,12 +241,12 @@ class Foo[T:! type]; // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %GenericNoParams: type = class_type @GenericNoParams, @GenericNoParams(%T.loc8_9.2) [symbolic = %GenericNoParams (constants.%GenericNoParams.fbf)] -// CHECK:STDOUT: %GenericAndParams.type: type = generic_class_type @GenericAndParams.2, @C(%T.loc8_9.2) [symbolic = %GenericAndParams.type (constants.%GenericAndParams.type.3ce)] +// CHECK:STDOUT: %GenericAndParams.type: type = generic_class_type @GenericAndParams.loc10, @C(%T.loc8_9.2) [symbolic = %GenericAndParams.type (constants.%GenericAndParams.type.3ce)] // CHECK:STDOUT: %GenericAndParams.generic: @C.%GenericAndParams.type (%GenericAndParams.type.3ce) = struct_value () [symbolic = %GenericAndParams.generic (constants.%GenericAndParams.generic.54a)] // CHECK:STDOUT: // CHECK:STDOUT: class { // CHECK:STDOUT: %GenericNoParams.decl: type = class_decl @GenericNoParams [symbolic = @C.%GenericNoParams (constants.%GenericNoParams.fbf)] {} {} -// CHECK:STDOUT: %GenericAndParams.decl: @C.%GenericAndParams.type (%GenericAndParams.type.3ce) = class_decl @GenericAndParams.2 [symbolic = @C.%GenericAndParams.generic (constants.%GenericAndParams.generic.54a)] { +// CHECK:STDOUT: %GenericAndParams.decl: @C.%GenericAndParams.type (%GenericAndParams.type.3ce) = class_decl @GenericAndParams.loc10 [symbolic = @C.%GenericAndParams.generic (constants.%GenericAndParams.generic.54a)] { // CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 1 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %U.loc10_26.1: type = bind_symbolic_name U, 1 [symbolic = %U.loc10_26.2 (constants.%U)] @@ -275,7 +275,7 @@ class Foo[T:! type]; // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic class @GenericAndParams.2(@C.%T.loc8_9.1: type, %U.loc10_26.1: type) { +// CHECK:STDOUT: generic class @GenericAndParams.loc10(@C.%T.loc8_9.1: type, %U.loc10_26.1: type) { // CHECK:STDOUT: %U.loc10_26.2: type = bind_symbolic_name U, 1 [symbolic = %U.loc10_26.2 (constants.%U)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -324,7 +324,7 @@ class Foo[T:! type]; // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @GenericAndParams.1(constants.%T) { +// CHECK:STDOUT: specific @GenericAndParams.loc6(constants.%T) { // CHECK:STDOUT: %T.loc6_24.2 => constants.%T // CHECK:STDOUT: } // CHECK:STDOUT: @@ -334,11 +334,11 @@ class Foo[T:! type]; // CHECK:STDOUT: // CHECK:STDOUT: specific @GenericNoParams(constants.%T) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @GenericAndParams.2(constants.%T, constants.%U) { +// CHECK:STDOUT: specific @GenericAndParams.loc10(constants.%T, constants.%U) { // CHECK:STDOUT: %U.loc10_26.2 => constants.%U // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @GenericAndParams.1(constants.%X) { +// CHECK:STDOUT: specific @GenericAndParams.loc6(constants.%X) { // CHECK:STDOUT: %T.loc6_24.2 => constants.%X // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -357,7 +357,7 @@ class Foo[T:! type]; // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @GenericAndParams.2(constants.%X, constants.%X) { +// CHECK:STDOUT: specific @GenericAndParams.loc10(constants.%X, constants.%X) { // CHECK:STDOUT: %U.loc10_26.2 => constants.%X // CHECK:STDOUT: // CHECK:STDOUT: !definition: diff --git a/toolchain/check/testdata/class/implicit_import.carbon b/toolchain/check/testdata/class/implicit_import.carbon index f0bd733ec5c7..ec81992fc9ae 100644 --- a/toolchain/check/testdata/class/implicit_import.carbon +++ b/toolchain/check/testdata/class/implicit_import.carbon @@ -212,7 +212,7 @@ class B {} // CHECK:STDOUT: %C.f794a0.1: type = class_type @C.1 [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] -// CHECK:STDOUT: %C.f794a0.2: type = class_type @C.2 [concrete] +// CHECK:STDOUT: %C.f794a0.2: type = class_type @C.loc12 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -227,7 +227,7 @@ class B {} // CHECK:STDOUT: } // CHECK:STDOUT: %default.import.loc2_31.1 = import // CHECK:STDOUT: %default.import.loc2_31.2 = import -// CHECK:STDOUT: %C.decl: type = class_decl @C.2 [concrete = constants.%C.f794a0.2] {} {} +// CHECK:STDOUT: %C.decl: type = class_decl @C.loc12 [concrete = constants.%C.f794a0.2] {} {} // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @C.1 [from "redef_after_def.carbon"] { @@ -237,7 +237,7 @@ class B {} // CHECK:STDOUT: .Self = imports.%Main.import_ref.2c4 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: class @C.2 { +// CHECK:STDOUT: class @C.loc12 { // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete = constants.%empty_struct_type] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete = constants.%complete_type] // CHECK:STDOUT: complete_type_witness = %complete_type diff --git a/toolchain/check/testdata/class/inheritance_access.carbon b/toolchain/check/testdata/class/inheritance_access.carbon index 1ab7bda09aac..63678b0dd93a 100644 --- a/toolchain/check/testdata/class/inheritance_access.carbon +++ b/toolchain/check/testdata/class/inheritance_access.carbon @@ -354,7 +354,7 @@ class B { // CHECK:STDOUT: // CHECK:STDOUT: constants { // CHECK:STDOUT: %A: type = class_type @A [concrete] -// CHECK:STDOUT: %F.type.649: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.649: type = fn_type @F.loc5 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %F.485: %F.type.649 = struct_value () [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] @@ -366,7 +366,7 @@ class B { // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %pattern_type.7ce: type = pattern_type %i32 [concrete] -// CHECK:STDOUT: %F.type.8c6: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.8c6: type = fn_type @F.loc10 [concrete] // CHECK:STDOUT: %F.92a: %F.type.8c6 = struct_value () [concrete] // CHECK:STDOUT: %struct_type.base.953: type = struct_type {.base: %A} [concrete] // CHECK:STDOUT: %complete_type.020: = complete_type_witness %struct_type.base.953 [concrete] @@ -411,7 +411,7 @@ class B { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @A { -// CHECK:STDOUT: %F.decl: %F.type.649 = fn_decl @F.1 [concrete = constants.%F.485] {} {} +// CHECK:STDOUT: %F.decl: %F.type.649 = fn_decl @F.loc5 [concrete = constants.%F.485] {} {} // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete = constants.%empty_struct_type] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete = constants.%complete_type.357] // CHECK:STDOUT: complete_type_witness = %complete_type @@ -424,7 +424,7 @@ class B { // CHECK:STDOUT: class @B { // CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [concrete = constants.%A] // CHECK:STDOUT: %.loc9: %B.elem = base_decl %A.ref, element0 [concrete] -// CHECK:STDOUT: %F.decl: %F.type.8c6 = fn_decl @F.2 [concrete = constants.%F.92a] { +// CHECK:STDOUT: %F.decl: %F.type.8c6 = fn_decl @F.loc10 [concrete = constants.%F.92a] { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -475,9 +475,9 @@ class B { // CHECK:STDOUT: extend %B.ref // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.1(); +// CHECK:STDOUT: fn @F.loc5(); // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2() -> %i32; +// CHECK:STDOUT: fn @F.loc10() -> %i32; // CHECK:STDOUT: // CHECK:STDOUT: fn @G(%self.param: %C) -> %empty_tuple.type { // CHECK:STDOUT: !entry: diff --git a/toolchain/check/testdata/class/nested.carbon b/toolchain/check/testdata/class/nested.carbon index 7d145b43a143..3ea3a7f77cbf 100644 --- a/toolchain/check/testdata/class/nested.carbon +++ b/toolchain/check/testdata/class/nested.carbon @@ -57,7 +57,7 @@ fn F(a: Outer*) { // CHECK:STDOUT: // CHECK:STDOUT: constants { // CHECK:STDOUT: %Outer: type = class_type @Outer [concrete] -// CHECK:STDOUT: %F.type.288: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.288: type = fn_type @F.loc16 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %F.bd8: %F.type.288 = struct_value () [concrete] // CHECK:STDOUT: %Inner: type = class_type @Inner [concrete] @@ -86,7 +86,7 @@ fn F(a: Outer*) { // CHECK:STDOUT: %Op.8d4: %Op.type.50c = struct_value () [concrete] // CHECK:STDOUT: %pattern_type.95c: type = pattern_type %ptr.5df [concrete] // CHECK:STDOUT: %Op.specific_fn.2a1: = specific_function %Op.8d4, @Op.2(%Outer) [concrete] -// CHECK:STDOUT: %F.type.b25: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.b25: type = fn_type @F.loc45 [concrete] // CHECK:STDOUT: %F.c41: %F.type.b25 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -107,7 +107,7 @@ fn F(a: Outer*) { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Outer.decl: type = class_decl @Outer [concrete = constants.%Outer] {} {} -// CHECK:STDOUT: %F.decl: %F.type.b25 = fn_decl @F.2 [concrete = constants.%F.c41] { +// CHECK:STDOUT: %F.decl: %F.type.b25 = fn_decl @F.loc45 [concrete = constants.%F.c41] { // CHECK:STDOUT: %a.patt: %pattern_type.95c = binding_pattern a [concrete] // CHECK:STDOUT: %a.param_patt: %pattern_type.95c = value_param_pattern %a.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -121,7 +121,7 @@ fn F(a: Outer*) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @Outer { -// CHECK:STDOUT: %F.decl: %F.type.288 = fn_decl @F.1 [concrete = constants.%F.bd8] {} {} +// CHECK:STDOUT: %F.decl: %F.type.288 = fn_decl @F.loc16 [concrete = constants.%F.bd8] {} {} // CHECK:STDOUT: %Inner.decl: type = class_decl @Inner [concrete = constants.%Inner] {} {} // CHECK:STDOUT: %H.decl: %H.type = fn_decl @H [concrete = constants.%H] {} {} // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%Outer [concrete = constants.%Outer] @@ -173,7 +173,7 @@ fn F(a: Outer*) { // CHECK:STDOUT: .G = %G.decl // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.1() { +// CHECK:STDOUT: fn @F.loc16() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %o.patt: %pattern_type.e74 = binding_pattern o [concrete] @@ -260,7 +260,7 @@ fn F(a: Outer*) { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2(%a.param: %ptr.5df) { +// CHECK:STDOUT: fn @F.loc45(%a.param: %ptr.5df) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.27f = binding_pattern b [concrete] diff --git a/toolchain/check/testdata/class/raw_self_type.carbon b/toolchain/check/testdata/class/raw_self_type.carbon index 4f36efbba9d8..b4a4b652317a 100644 --- a/toolchain/check/testdata/class/raw_self_type.carbon +++ b/toolchain/check/testdata/class/raw_self_type.carbon @@ -31,7 +31,7 @@ fn MemberNamedSelf.F(x: Self, y: r#Self) {} // CHECK:STDOUT: // CHECK:STDOUT: constants { // CHECK:STDOUT: %Class: type = class_type @Class [concrete] -// CHECK:STDOUT: %F.type.f1b: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.f1b: type = fn_type @F.loc16 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %F.1f2: %F.type.f1b = struct_value () [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] @@ -47,7 +47,7 @@ fn MemberNamedSelf.F(x: Self, y: r#Self) {} // CHECK:STDOUT: %Self.362: type = class_type @Self [concrete] // CHECK:STDOUT: %pattern_type.356: type = pattern_type %MemberNamedSelf [concrete] // CHECK:STDOUT: %pattern_type.c06: type = pattern_type %Self.362 [concrete] -// CHECK:STDOUT: %F.type.648: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.648: type = fn_type @F.loc28 [concrete] // CHECK:STDOUT: %F.e97: %F.type.648 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -69,7 +69,7 @@ fn MemberNamedSelf.F(x: Self, y: r#Self) {} // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Class.decl: type = class_decl @Class [concrete = constants.%Class] {} {} // CHECK:STDOUT: %MemberNamedSelf.decl: type = class_decl @MemberNamedSelf [concrete = constants.%MemberNamedSelf] {} {} -// CHECK:STDOUT: %F.decl: %F.type.648 = fn_decl @F.2 [concrete = constants.%F.e97] { +// CHECK:STDOUT: %F.decl: %F.type.648 = fn_decl @F.loc28 [concrete = constants.%F.e97] { // CHECK:STDOUT: %x.patt: %pattern_type.356 = binding_pattern x [concrete] // CHECK:STDOUT: %x.param_patt: %pattern_type.356 = value_param_pattern %x.patt, call_param0 [concrete] // CHECK:STDOUT: %y.patt: %pattern_type.c06 = binding_pattern y [concrete] @@ -85,7 +85,7 @@ fn MemberNamedSelf.F(x: Self, y: r#Self) {} // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @Class { -// CHECK:STDOUT: %F.decl: %F.type.f1b = fn_decl @F.1 [concrete = constants.%F.1f2] {} {} +// CHECK:STDOUT: %F.decl: %F.type.f1b = fn_decl @F.loc16 [concrete = constants.%F.1f2] {} {} // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete = constants.%empty_struct_type] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete = constants.%complete_type.357] // CHECK:STDOUT: complete_type_witness = %complete_type @@ -97,7 +97,7 @@ fn MemberNamedSelf.F(x: Self, y: r#Self) {} // CHECK:STDOUT: // CHECK:STDOUT: class @MemberNamedSelf { // CHECK:STDOUT: %Self.decl: type = class_decl @Self [concrete = constants.%Self.362] {} {} -// CHECK:STDOUT: %F.decl: %F.type.648 = fn_decl @F.2 [concrete = constants.%F.e97] { +// CHECK:STDOUT: %F.decl: %F.type.648 = fn_decl @F.loc28 [concrete = constants.%F.e97] { // CHECK:STDOUT: %x.patt: %pattern_type.356 = binding_pattern x [concrete] // CHECK:STDOUT: %x.param_patt: %pattern_type.356 = value_param_pattern %x.patt, call_param0 [concrete] // CHECK:STDOUT: %y.patt: %pattern_type.c06 = binding_pattern y [concrete] @@ -129,7 +129,7 @@ fn MemberNamedSelf.F(x: Self, y: r#Self) {} // CHECK:STDOUT: .Self = constants.%Self.362 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.1() { +// CHECK:STDOUT: fn @F.loc16() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %Self.patt: %pattern_type.796 = binding_pattern r#Self [concrete] @@ -167,7 +167,7 @@ fn MemberNamedSelf.F(x: Self, y: r#Self) {} // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2(%x.param.loc28: %MemberNamedSelf, %y.param.loc28: %Self.362) { +// CHECK:STDOUT: fn @F.loc28(%x.param.loc28: %MemberNamedSelf, %y.param.loc28: %Self.362) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/scope.carbon b/toolchain/check/testdata/class/scope.carbon index 2e2535abc0af..7b5061735828 100644 --- a/toolchain/check/testdata/class/scope.carbon +++ b/toolchain/check/testdata/class/scope.carbon @@ -41,7 +41,7 @@ fn Run() { // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %pattern_type.7ce: type = pattern_type %i32 [concrete] -// CHECK:STDOUT: %F.type.f1b: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.f1b: type = fn_type @F.loc16 [concrete] // CHECK:STDOUT: %F.1f2: %F.type.f1b = struct_value () [concrete] // CHECK:STDOUT: %G.type: type = fn_type @G [concrete] // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] @@ -64,7 +64,7 @@ fn Run() { // CHECK:STDOUT: %Convert.specific_fn: = specific_function %Convert.956, @Convert.2(%int_32) [concrete] // CHECK:STDOUT: %bound_method.9a1: = bound_method %int_1.5b8, %Convert.specific_fn [concrete] // CHECK:STDOUT: %int_1.5d2: %i32 = int_value 1 [concrete] -// CHECK:STDOUT: %F.type.b25: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.b25: type = fn_type @F.loc25 [concrete] // CHECK:STDOUT: %F.c41: %F.type.b25 = struct_value () [concrete] // CHECK:STDOUT: %int_2.ecc: Core.IntLiteral = int_value 2 [concrete] // CHECK:STDOUT: %Convert.bound.ef9: = bound_method %int_2.ecc, %Convert.956 [concrete] @@ -103,7 +103,7 @@ fn Run() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Class.decl: type = class_decl @Class [concrete = constants.%Class] {} {} -// CHECK:STDOUT: %F.decl: %F.type.b25 = fn_decl @F.2 [concrete = constants.%F.c41] { +// CHECK:STDOUT: %F.decl: %F.type.b25 = fn_decl @F.loc25 [concrete = constants.%F.c41] { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -116,7 +116,7 @@ fn Run() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @Class { -// CHECK:STDOUT: %F.decl: %F.type.f1b = fn_decl @F.1 [concrete = constants.%F.1f2] { +// CHECK:STDOUT: %F.decl: %F.type.f1b = fn_decl @F.loc16 [concrete = constants.%F.1f2] { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -144,7 +144,7 @@ fn Run() { // CHECK:STDOUT: .G = %G.decl // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.1() -> %i32 { +// CHECK:STDOUT: fn @F.loc16() -> %i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %impl.elem0: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] @@ -166,7 +166,7 @@ fn Run() { // CHECK:STDOUT: return %.loc21_15.2 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2() -> %i32 { +// CHECK:STDOUT: fn @F.loc25() -> %i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %impl.elem0: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] diff --git a/toolchain/check/testdata/class/syntactic_merge.carbon b/toolchain/check/testdata/class/syntactic_merge.carbon index 41eb13f3dec4..e36fc10f1fe8 100644 --- a/toolchain/check/testdata/class/syntactic_merge.carbon +++ b/toolchain/check/testdata/class/syntactic_merge.carbon @@ -352,11 +352,11 @@ fn Base.F[addr self: Base*]() { // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %a: %C = bind_symbolic_name a, 0 [symbolic] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] -// CHECK:STDOUT: %Foo.type.39e446.1: type = generic_class_type @Foo.1 [concrete] +// CHECK:STDOUT: %Foo.type.39e446.1: type = generic_class_type @Foo.loc6 [concrete] // CHECK:STDOUT: %Foo.generic.80461b.1: %Foo.type.39e446.1 = struct_value () [concrete] -// CHECK:STDOUT: %Foo.type.39e446.2: type = generic_class_type @Foo.2 [concrete] +// CHECK:STDOUT: %Foo.type.39e446.2: type = generic_class_type @Foo.loc14 [concrete] // CHECK:STDOUT: %Foo.generic.80461b.2: %Foo.type.39e446.2 = struct_value () [concrete] -// CHECK:STDOUT: %Foo.67ab7c.2: type = class_type @Foo.2, @Foo.2(%a) [symbolic] +// CHECK:STDOUT: %Foo.67ab7c.2: type = class_type @Foo.loc14, @Foo.loc14(%a) [symbolic] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -365,13 +365,13 @@ fn Base.F[addr self: Base*]() { // CHECK:STDOUT: .Foo = %Foo.decl.loc6 // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} -// CHECK:STDOUT: %Foo.decl.loc6: %Foo.type.39e446.1 = class_decl @Foo.1 [concrete = constants.%Foo.generic.80461b.1] { +// CHECK:STDOUT: %Foo.decl.loc6: %Foo.type.39e446.1 = class_decl @Foo.loc6 [concrete = constants.%Foo.generic.80461b.1] { // CHECK:STDOUT: %a.patt: %pattern_type = symbolic_binding_pattern a, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %a.loc6_11.1: %C = bind_symbolic_name a, 0 [symbolic = %a.loc6_11.2 (constants.%a)] // CHECK:STDOUT: } -// CHECK:STDOUT: %Foo.decl.loc14: %Foo.type.39e446.2 = class_decl @Foo.2 [concrete = constants.%Foo.generic.80461b.2] { +// CHECK:STDOUT: %Foo.decl.loc14: %Foo.type.39e446.2 = class_decl @Foo.loc14 [concrete = constants.%Foo.generic.80461b.2] { // CHECK:STDOUT: %a.patt: %pattern_type = symbolic_binding_pattern a, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] @@ -388,13 +388,13 @@ fn Base.F[addr self: Base*]() { // CHECK:STDOUT: .Self = constants.%C // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic class @Foo.1(%a.loc6_11.1: %C) { +// CHECK:STDOUT: generic class @Foo.loc6(%a.loc6_11.1: %C) { // CHECK:STDOUT: %a.loc6_11.2: %C = bind_symbolic_name a, 0 [symbolic = %a.loc6_11.2 (constants.%a)] // CHECK:STDOUT: // CHECK:STDOUT: class; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic class @Foo.2(%a.loc14_11.1: %C) { +// CHECK:STDOUT: generic class @Foo.loc14(%a.loc14_11.1: %C) { // CHECK:STDOUT: %a.loc14_11.2: %C = bind_symbolic_name a, 0 [symbolic = %a.loc14_11.2 (constants.%a)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -409,11 +409,11 @@ fn Base.F[addr self: Base*]() { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Foo.1(constants.%a) { +// CHECK:STDOUT: specific @Foo.loc6(constants.%a) { // CHECK:STDOUT: %a.loc6_11.2 => constants.%a // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Foo.2(constants.%a) { +// CHECK:STDOUT: specific @Foo.loc14(constants.%a) { // CHECK:STDOUT: %a.loc14_11.2 => constants.%a // CHECK:STDOUT: } // CHECK:STDOUT: @@ -646,12 +646,12 @@ fn Base.F[addr self: Base*]() { // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %a: %C = bind_symbolic_name a, 0 [symbolic] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] -// CHECK:STDOUT: %Foo.type.39e446.1: type = generic_class_type @Foo.1 [concrete] +// CHECK:STDOUT: %Foo.type.39e446.1: type = generic_class_type @Foo.loc7 [concrete] // CHECK:STDOUT: %Foo.generic.80461b.1: %Foo.type.39e446.1 = struct_value () [concrete] // CHECK:STDOUT: %b: %C = bind_symbolic_name b, 0 [symbolic] -// CHECK:STDOUT: %Foo.type.39e446.2: type = generic_class_type @Foo.2 [concrete] +// CHECK:STDOUT: %Foo.type.39e446.2: type = generic_class_type @Foo.loc15 [concrete] // CHECK:STDOUT: %Foo.generic.80461b.2: %Foo.type.39e446.2 = struct_value () [concrete] -// CHECK:STDOUT: %Foo.67ab7c.2: type = class_type @Foo.2, @Foo.2(%b) [symbolic] +// CHECK:STDOUT: %Foo.67ab7c.2: type = class_type @Foo.loc15, @Foo.loc15(%b) [symbolic] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -663,13 +663,13 @@ fn Base.F[addr self: Base*]() { // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} // CHECK:STDOUT: %C.ref: type = name_ref C, %C.decl [concrete = constants.%C] // CHECK:STDOUT: %D: type = bind_alias D, %C.decl [concrete = constants.%C] -// CHECK:STDOUT: %Foo.decl.loc7: %Foo.type.39e446.1 = class_decl @Foo.1 [concrete = constants.%Foo.generic.80461b.1] { +// CHECK:STDOUT: %Foo.decl.loc7: %Foo.type.39e446.1 = class_decl @Foo.loc7 [concrete = constants.%Foo.generic.80461b.1] { // CHECK:STDOUT: %a.patt: %pattern_type = symbolic_binding_pattern a, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %a.loc7_11.1: %C = bind_symbolic_name a, 0 [symbolic = %a.loc7_11.2 (constants.%a)] // CHECK:STDOUT: } -// CHECK:STDOUT: %Foo.decl.loc15: %Foo.type.39e446.2 = class_decl @Foo.2 [concrete = constants.%Foo.generic.80461b.2] { +// CHECK:STDOUT: %Foo.decl.loc15: %Foo.type.39e446.2 = class_decl @Foo.loc15 [concrete = constants.%Foo.generic.80461b.2] { // CHECK:STDOUT: %b.patt: %pattern_type = symbolic_binding_pattern b, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D [concrete = constants.%C] @@ -686,13 +686,13 @@ fn Base.F[addr self: Base*]() { // CHECK:STDOUT: .Self = constants.%C // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic class @Foo.1(%a.loc7_11.1: %C) { +// CHECK:STDOUT: generic class @Foo.loc7(%a.loc7_11.1: %C) { // CHECK:STDOUT: %a.loc7_11.2: %C = bind_symbolic_name a, 0 [symbolic = %a.loc7_11.2 (constants.%a)] // CHECK:STDOUT: // CHECK:STDOUT: class; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic class @Foo.2(%b.loc15_11.1: %C) { +// CHECK:STDOUT: generic class @Foo.loc15(%b.loc15_11.1: %C) { // CHECK:STDOUT: %b.loc15_11.2: %C = bind_symbolic_name b, 0 [symbolic = %b.loc15_11.2 (constants.%b)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -707,11 +707,11 @@ fn Base.F[addr self: Base*]() { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Foo.1(constants.%a) { +// CHECK:STDOUT: specific @Foo.loc7(constants.%a) { // CHECK:STDOUT: %a.loc7_11.2 => constants.%a // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Foo.2(constants.%b) { +// CHECK:STDOUT: specific @Foo.loc15(constants.%b) { // CHECK:STDOUT: %b.loc15_11.2 => constants.%b // CHECK:STDOUT: } // CHECK:STDOUT: @@ -723,11 +723,11 @@ fn Base.F[addr self: Base*]() { // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %a: %C = bind_symbolic_name a, 0 [symbolic] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] -// CHECK:STDOUT: %Foo.type.39e446.1: type = generic_class_type @Foo.1 [concrete] +// CHECK:STDOUT: %Foo.type.39e446.1: type = generic_class_type @Foo.loc7 [concrete] // CHECK:STDOUT: %Foo.generic.80461b.1: %Foo.type.39e446.1 = struct_value () [concrete] -// CHECK:STDOUT: %Foo.type.39e446.2: type = generic_class_type @Foo.2 [concrete] +// CHECK:STDOUT: %Foo.type.39e446.2: type = generic_class_type @Foo.loc15 [concrete] // CHECK:STDOUT: %Foo.generic.80461b.2: %Foo.type.39e446.2 = struct_value () [concrete] -// CHECK:STDOUT: %Foo.67ab7c.2: type = class_type @Foo.2, @Foo.2(%a) [symbolic] +// CHECK:STDOUT: %Foo.67ab7c.2: type = class_type @Foo.loc15, @Foo.loc15(%a) [symbolic] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -739,13 +739,13 @@ fn Base.F[addr self: Base*]() { // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} // CHECK:STDOUT: %C.ref: type = name_ref C, %C.decl [concrete = constants.%C] // CHECK:STDOUT: %D: type = bind_alias D, %C.decl [concrete = constants.%C] -// CHECK:STDOUT: %Foo.decl.loc7: %Foo.type.39e446.1 = class_decl @Foo.1 [concrete = constants.%Foo.generic.80461b.1] { +// CHECK:STDOUT: %Foo.decl.loc7: %Foo.type.39e446.1 = class_decl @Foo.loc7 [concrete = constants.%Foo.generic.80461b.1] { // CHECK:STDOUT: %a.patt: %pattern_type = symbolic_binding_pattern a, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %a.loc7_11.1: %C = bind_symbolic_name a, 0 [symbolic = %a.loc7_11.2 (constants.%a)] // CHECK:STDOUT: } -// CHECK:STDOUT: %Foo.decl.loc15: %Foo.type.39e446.2 = class_decl @Foo.2 [concrete = constants.%Foo.generic.80461b.2] { +// CHECK:STDOUT: %Foo.decl.loc15: %Foo.type.39e446.2 = class_decl @Foo.loc15 [concrete = constants.%Foo.generic.80461b.2] { // CHECK:STDOUT: %a.patt: %pattern_type = symbolic_binding_pattern a, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D [concrete = constants.%C] @@ -762,13 +762,13 @@ fn Base.F[addr self: Base*]() { // CHECK:STDOUT: .Self = constants.%C // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic class @Foo.1(%a.loc7_11.1: %C) { +// CHECK:STDOUT: generic class @Foo.loc7(%a.loc7_11.1: %C) { // CHECK:STDOUT: %a.loc7_11.2: %C = bind_symbolic_name a, 0 [symbolic = %a.loc7_11.2 (constants.%a)] // CHECK:STDOUT: // CHECK:STDOUT: class; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic class @Foo.2(%a.loc15_11.1: %C) { +// CHECK:STDOUT: generic class @Foo.loc15(%a.loc15_11.1: %C) { // CHECK:STDOUT: %a.loc15_11.2: %C = bind_symbolic_name a, 0 [symbolic = %a.loc15_11.2 (constants.%a)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -783,11 +783,11 @@ fn Base.F[addr self: Base*]() { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Foo.1(constants.%a) { +// CHECK:STDOUT: specific @Foo.loc7(constants.%a) { // CHECK:STDOUT: %a.loc7_11.2 => constants.%a // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Foo.2(constants.%a) { +// CHECK:STDOUT: specific @Foo.loc15(constants.%a) { // CHECK:STDOUT: %a.loc15_11.2 => constants.%a // CHECK:STDOUT: } // CHECK:STDOUT: @@ -799,11 +799,11 @@ fn Base.F[addr self: Base*]() { // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %a: %C = bind_symbolic_name a, 0 [symbolic] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] -// CHECK:STDOUT: %Foo.type.39e446.1: type = generic_class_type @Foo.1 [concrete] +// CHECK:STDOUT: %Foo.type.39e446.1: type = generic_class_type @Foo.loc7 [concrete] // CHECK:STDOUT: %Foo.generic.80461b.1: %Foo.type.39e446.1 = struct_value () [concrete] -// CHECK:STDOUT: %Foo.type.39e446.2: type = generic_class_type @Foo.2 [concrete] +// CHECK:STDOUT: %Foo.type.39e446.2: type = generic_class_type @Foo.loc15 [concrete] // CHECK:STDOUT: %Foo.generic.80461b.2: %Foo.type.39e446.2 = struct_value () [concrete] -// CHECK:STDOUT: %Foo.67ab7c.2: type = class_type @Foo.2, @Foo.2(%a) [symbolic] +// CHECK:STDOUT: %Foo.67ab7c.2: type = class_type @Foo.loc15, @Foo.loc15(%a) [symbolic] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -815,13 +815,13 @@ fn Base.F[addr self: Base*]() { // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} // CHECK:STDOUT: %C.ref: type = name_ref C, %C.decl [concrete = constants.%C] // CHECK:STDOUT: %D: type = bind_alias D, %C.decl [concrete = constants.%C] -// CHECK:STDOUT: %Foo.decl.loc7: %Foo.type.39e446.1 = class_decl @Foo.1 [concrete = constants.%Foo.generic.80461b.1] { +// CHECK:STDOUT: %Foo.decl.loc7: %Foo.type.39e446.1 = class_decl @Foo.loc7 [concrete = constants.%Foo.generic.80461b.1] { // CHECK:STDOUT: %a.patt: %pattern_type = symbolic_binding_pattern a, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %a.loc7_11.1: %C = bind_symbolic_name a, 0 [symbolic = %a.loc7_11.2 (constants.%a)] // CHECK:STDOUT: } -// CHECK:STDOUT: %Foo.decl.loc15: %Foo.type.39e446.2 = class_decl @Foo.2 [concrete = constants.%Foo.generic.80461b.2] { +// CHECK:STDOUT: %Foo.decl.loc15: %Foo.type.39e446.2 = class_decl @Foo.loc15 [concrete = constants.%Foo.generic.80461b.2] { // CHECK:STDOUT: %a.patt: %pattern_type = symbolic_binding_pattern a, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D [concrete = constants.%C] @@ -838,13 +838,13 @@ fn Base.F[addr self: Base*]() { // CHECK:STDOUT: .Self = constants.%C // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic class @Foo.1(%a.loc7_11.1: %C) { +// CHECK:STDOUT: generic class @Foo.loc7(%a.loc7_11.1: %C) { // CHECK:STDOUT: %a.loc7_11.2: %C = bind_symbolic_name a, 0 [symbolic = %a.loc7_11.2 (constants.%a)] // CHECK:STDOUT: // CHECK:STDOUT: class; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic class @Foo.2(%a.loc15_11.1: %C) { +// CHECK:STDOUT: generic class @Foo.loc15(%a.loc15_11.1: %C) { // CHECK:STDOUT: %a.loc15_11.2: %C = bind_symbolic_name a, 0 [symbolic = %a.loc15_11.2 (constants.%a)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -859,11 +859,11 @@ fn Base.F[addr self: Base*]() { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Foo.1(constants.%a) { +// CHECK:STDOUT: specific @Foo.loc7(constants.%a) { // CHECK:STDOUT: %a.loc7_11.2 => constants.%a // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Foo.2(constants.%a) { +// CHECK:STDOUT: specific @Foo.loc15(constants.%a) { // CHECK:STDOUT: %a.loc15_11.2 => constants.%a // CHECK:STDOUT: } // CHECK:STDOUT: @@ -985,11 +985,11 @@ fn Base.F[addr self: Base*]() { // CHECK:STDOUT: %const: type = const_type %C [concrete] // CHECK:STDOUT: %a: %const = bind_symbolic_name a, 0 [symbolic] // CHECK:STDOUT: %pattern_type: type = pattern_type %const [concrete] -// CHECK:STDOUT: %Foo.type.39e446.1: type = generic_class_type @Foo.1 [concrete] +// CHECK:STDOUT: %Foo.type.39e446.1: type = generic_class_type @Foo.loc6 [concrete] // CHECK:STDOUT: %Foo.generic.80461b.1: %Foo.type.39e446.1 = struct_value () [concrete] -// CHECK:STDOUT: %Foo.type.39e446.2: type = generic_class_type @Foo.2 [concrete] +// CHECK:STDOUT: %Foo.type.39e446.2: type = generic_class_type @Foo.loc18 [concrete] // CHECK:STDOUT: %Foo.generic.80461b.2: %Foo.type.39e446.2 = struct_value () [concrete] -// CHECK:STDOUT: %Foo.1a4f0e.2: type = class_type @Foo.2, @Foo.2(%a) [symbolic] +// CHECK:STDOUT: %Foo.1a4f0e.2: type = class_type @Foo.loc18, @Foo.loc18(%a) [symbolic] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -998,7 +998,7 @@ fn Base.F[addr self: Base*]() { // CHECK:STDOUT: .Foo = %Foo.decl.loc6 // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} -// CHECK:STDOUT: %Foo.decl.loc6: %Foo.type.39e446.1 = class_decl @Foo.1 [concrete = constants.%Foo.generic.80461b.1] { +// CHECK:STDOUT: %Foo.decl.loc6: %Foo.type.39e446.1 = class_decl @Foo.loc6 [concrete = constants.%Foo.generic.80461b.1] { // CHECK:STDOUT: %a.patt: %pattern_type = symbolic_binding_pattern a, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc6: type = splice_block %const [concrete = constants.%const] { @@ -1007,7 +1007,7 @@ fn Base.F[addr self: Base*]() { // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc6_11.1: %const = bind_symbolic_name a, 0 [symbolic = %a.loc6_11.2 (constants.%a)] // CHECK:STDOUT: } -// CHECK:STDOUT: %Foo.decl.loc18: %Foo.type.39e446.2 = class_decl @Foo.2 [concrete = constants.%Foo.generic.80461b.2] { +// CHECK:STDOUT: %Foo.decl.loc18: %Foo.type.39e446.2 = class_decl @Foo.loc18 [concrete = constants.%Foo.generic.80461b.2] { // CHECK:STDOUT: %a.patt: %pattern_type = symbolic_binding_pattern a, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc18: type = splice_block %const.loc18_15 [concrete = constants.%const] { @@ -1028,13 +1028,13 @@ fn Base.F[addr self: Base*]() { // CHECK:STDOUT: .Self = constants.%C // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic class @Foo.1(%a.loc6_11.1: %const) { +// CHECK:STDOUT: generic class @Foo.loc6(%a.loc6_11.1: %const) { // CHECK:STDOUT: %a.loc6_11.2: %const = bind_symbolic_name a, 0 [symbolic = %a.loc6_11.2 (constants.%a)] // CHECK:STDOUT: // CHECK:STDOUT: class; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic class @Foo.2(%a.loc18_11.1: %const) { +// CHECK:STDOUT: generic class @Foo.loc18(%a.loc18_11.1: %const) { // CHECK:STDOUT: %a.loc18_11.2: %const = bind_symbolic_name a, 0 [symbolic = %a.loc18_11.2 (constants.%a)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -1049,11 +1049,11 @@ fn Base.F[addr self: Base*]() { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Foo.1(constants.%a) { +// CHECK:STDOUT: specific @Foo.loc6(constants.%a) { // CHECK:STDOUT: %a.loc6_11.2 => constants.%a // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Foo.2(constants.%a) { +// CHECK:STDOUT: specific @Foo.loc18(constants.%a) { // CHECK:STDOUT: %a.loc18_11.2 => constants.%a // CHECK:STDOUT: } // CHECK:STDOUT: @@ -1066,11 +1066,11 @@ fn Base.F[addr self: Base*]() { // CHECK:STDOUT: %ptr.11f: type = ptr_type %Base [concrete] // CHECK:STDOUT: %pattern_type.1b9: type = pattern_type %ptr.11f [concrete] // CHECK:STDOUT: %pattern_type.f6d: type = pattern_type auto [concrete] -// CHECK:STDOUT: %F.type.7c6384.1: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.7c6384.1: type = fn_type @F.loc7 [concrete] // CHECK:STDOUT: %F.d17bbc.1: %F.type.7c6384.1 = struct_value () [concrete] // CHECK:STDOUT: %struct_type.a: type = struct_type {.a: %empty_tuple.type} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %struct_type.a [concrete] -// CHECK:STDOUT: %F.type.7c6384.2: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.7c6384.2: type = fn_type @F.loc17 [concrete] // CHECK:STDOUT: %F.d17bbc.2: %F.type.7c6384.2 = struct_value () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: } @@ -1080,7 +1080,7 @@ fn Base.F[addr self: Base*]() { // CHECK:STDOUT: .Base = %Base.decl // CHECK:STDOUT: } // CHECK:STDOUT: %Base.decl: type = class_decl @Base [concrete = constants.%Base] {} {} -// CHECK:STDOUT: %F.decl: %F.type.7c6384.2 = fn_decl @F.2 [concrete = constants.%F.d17bbc.2] { +// CHECK:STDOUT: %F.decl: %F.type.7c6384.2 = fn_decl @F.loc17 [concrete = constants.%F.d17bbc.2] { // CHECK:STDOUT: %self.patt: %pattern_type.1b9 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.1b9 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %.loc17_11: %pattern_type.f6d = addr_pattern %self.param_patt [concrete] @@ -1098,7 +1098,7 @@ fn Base.F[addr self: Base*]() { // CHECK:STDOUT: %.loc5_11.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc5_11.2: type = converted %.loc5_11.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %.loc5_8: %Base.elem = field_decl a, element0 [concrete] -// CHECK:STDOUT: %F.decl: %F.type.7c6384.1 = fn_decl @F.1 [concrete = constants.%F.d17bbc.1] { +// CHECK:STDOUT: %F.decl: %F.type.7c6384.1 = fn_decl @F.loc7 [concrete = constants.%F.d17bbc.1] { // CHECK:STDOUT: %self.patt: %pattern_type.1b9 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.1b9 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %.loc7_8: %pattern_type.f6d = addr_pattern %self.param_patt [concrete] @@ -1121,9 +1121,9 @@ fn Base.F[addr self: Base*]() { // CHECK:STDOUT: .Base = // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.1(%self.param: %ptr.11f); +// CHECK:STDOUT: fn @F.loc7(%self.param: %ptr.11f); // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2(%self.param: %ptr.11f) { +// CHECK:STDOUT: fn @F.loc17(%self.param: %ptr.11f) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %self.ref: %ptr.11f = name_ref self, %self // CHECK:STDOUT: %.loc18_4: ref %Base = deref %self.ref diff --git a/toolchain/check/testdata/class/syntactic_merge_literal.carbon b/toolchain/check/testdata/class/syntactic_merge_literal.carbon index 807771be1219..565ca5a19157 100644 --- a/toolchain/check/testdata/class/syntactic_merge_literal.carbon +++ b/toolchain/check/testdata/class/syntactic_merge_literal.carbon @@ -215,11 +215,11 @@ class D(b:! C(1_000)) {} // CHECK:STDOUT: %C.262: type = class_type @C, @C(%int_1000.1b6) [concrete] // CHECK:STDOUT: %b: %C.262 = bind_symbolic_name b, 0 [symbolic] // CHECK:STDOUT: %pattern_type.dfb: type = pattern_type %C.262 [concrete] -// CHECK:STDOUT: %D.type.bbd080.1: type = generic_class_type @D.1 [concrete] +// CHECK:STDOUT: %D.type.bbd080.1: type = generic_class_type @D.loc5 [concrete] // CHECK:STDOUT: %D.generic.4e2319.1: %D.type.bbd080.1 = struct_value () [concrete] -// CHECK:STDOUT: %D.type.bbd080.2: type = generic_class_type @D.2 [concrete] +// CHECK:STDOUT: %D.type.bbd080.2: type = generic_class_type @D.loc13 [concrete] // CHECK:STDOUT: %D.generic.4e2319.2: %D.type.bbd080.2 = struct_value () [concrete] -// CHECK:STDOUT: %D.126b2d.2: type = class_type @D.2, @D.2(%b) [symbolic] +// CHECK:STDOUT: %D.126b2d.2: type = class_type @D.loc13, @D.loc13(%b) [symbolic] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -251,7 +251,7 @@ class D(b:! C(1_000)) {} // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc4_9.1: %i32 = bind_symbolic_name a, 0 [symbolic = %a.loc4_9.2 (constants.%a)] // CHECK:STDOUT: } -// CHECK:STDOUT: %D.decl.loc5: %D.type.bbd080.1 = class_decl @D.1 [concrete = constants.%D.generic.4e2319.1] { +// CHECK:STDOUT: %D.decl.loc5: %D.type.bbd080.1 = class_decl @D.loc5 [concrete = constants.%D.generic.4e2319.1] { // CHECK:STDOUT: %b.patt: %pattern_type.dfb = symbolic_binding_pattern b, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc5_19.1: type = splice_block %C [concrete = constants.%C.262] { @@ -268,7 +268,7 @@ class D(b:! C(1_000)) {} // CHECK:STDOUT: } // CHECK:STDOUT: %b.loc5_9.1: %C.262 = bind_symbolic_name b, 0 [symbolic = %b.loc5_9.2 (constants.%b)] // CHECK:STDOUT: } -// CHECK:STDOUT: %D.decl.loc13: %D.type.bbd080.2 = class_decl @D.2 [concrete = constants.%D.generic.4e2319.2] { +// CHECK:STDOUT: %D.decl.loc13: %D.type.bbd080.2 = class_decl @D.loc13 [concrete = constants.%D.generic.4e2319.2] { // CHECK:STDOUT: %b.patt: %pattern_type.dfb = symbolic_binding_pattern b, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc13_20.1: type = splice_block %C [concrete = constants.%C.262] { @@ -302,13 +302,13 @@ class D(b:! C(1_000)) {} // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic class @D.1(%b.loc5_9.1: %C.262) { +// CHECK:STDOUT: generic class @D.loc5(%b.loc5_9.1: %C.262) { // CHECK:STDOUT: %b.loc5_9.2: %C.262 = bind_symbolic_name b, 0 [symbolic = %b.loc5_9.2 (constants.%b)] // CHECK:STDOUT: // CHECK:STDOUT: class; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic class @D.2(%b.loc13_9.1: %C.262) { +// CHECK:STDOUT: generic class @D.loc13(%b.loc13_9.1: %C.262) { // CHECK:STDOUT: %b.loc13_9.2: %C.262 = bind_symbolic_name b, 0 [symbolic = %b.loc13_9.2 (constants.%b)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -331,11 +331,11 @@ class D(b:! C(1_000)) {} // CHECK:STDOUT: %a.loc4_9.2 => constants.%int_1000.1b6 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @D.1(constants.%b) { +// CHECK:STDOUT: specific @D.loc5(constants.%b) { // CHECK:STDOUT: %b.loc5_9.2 => constants.%b // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @D.2(constants.%b) { +// CHECK:STDOUT: specific @D.loc13(constants.%b) { // CHECK:STDOUT: %b.loc13_9.2 => constants.%b // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/class/virtual_modifiers.carbon b/toolchain/check/testdata/class/virtual_modifiers.carbon index 79e16435e65f..ceb998a7e2f0 100644 --- a/toolchain/check/testdata/class/virtual_modifiers.carbon +++ b/toolchain/check/testdata/class/virtual_modifiers.carbon @@ -507,10 +507,10 @@ base class NonGenericDerived { // CHECK:STDOUT: %complete_type.513: = complete_type_witness %struct_type.vptr [concrete] // CHECK:STDOUT: %Derived.elem: type = unbound_element_type %Derived, %Base [concrete] // CHECK:STDOUT: %pattern_type.fb9: type = pattern_type %Derived [concrete] -// CHECK:STDOUT: %H.type.dba: type = fn_type @H.1 [concrete] +// CHECK:STDOUT: %H.type.dba: type = fn_type @H.loc8 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %H.bce: %H.type.dba = struct_value () [concrete] -// CHECK:STDOUT: %H.type.09e: type = fn_type @H.2 [concrete] +// CHECK:STDOUT: %H.type.09e: type = fn_type @H.1 [concrete] // CHECK:STDOUT: %H.c1b: %H.type.09e = struct_value () [concrete] // CHECK:STDOUT: %Base.vtable_ptr: ref %ptr.454 = vtable_ptr @Base.vtable [concrete] // CHECK:STDOUT: %Derived.vtable_ptr: ref %ptr.454 = vtable_ptr @Derived.vtable [concrete] @@ -564,7 +564,7 @@ base class NonGenericDerived { // CHECK:STDOUT: %Modifiers.ref: = name_ref Modifiers, imports.%Modifiers [concrete = imports.%Modifiers] // CHECK:STDOUT: %Base.ref: type = name_ref Base, imports.%Modifiers.Base [concrete = constants.%Base] // CHECK:STDOUT: %.loc7: %Derived.elem = base_decl %Base.ref, element0 [concrete] -// CHECK:STDOUT: %H.decl: %H.type.dba = fn_decl @H.1 [concrete = constants.%H.bce] { +// CHECK:STDOUT: %H.decl: %H.type.dba = fn_decl @H.loc8 [concrete = constants.%H.bce] { // CHECK:STDOUT: %self.patt: %pattern_type.fb9 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.fb9 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -603,9 +603,9 @@ base class NonGenericDerived { // CHECK:STDOUT: @Derived.%H.decl // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl fn @H.1(%self.param: %Derived); +// CHECK:STDOUT: impl fn @H.loc8(%self.param: %Derived); // CHECK:STDOUT: -// CHECK:STDOUT: fn @H.2 [from "modifiers.carbon"]; +// CHECK:STDOUT: fn @H.1 [from "modifiers.carbon"]; // CHECK:STDOUT: // CHECK:STDOUT: fn @Use() { // CHECK:STDOUT: !entry: @@ -827,7 +827,7 @@ base class NonGenericDerived { // CHECK:STDOUT: constants { // CHECK:STDOUT: %A1: type = class_type @A1 [concrete] // CHECK:STDOUT: %pattern_type.ddb: type = pattern_type %A1 [concrete] -// CHECK:STDOUT: %F.type.13a: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.13a: type = fn_type @F.loc5 [concrete] // CHECK:STDOUT: %F.df5: %F.type.13a = struct_value () [concrete] // CHECK:STDOUT: %ptr.454: type = ptr_type [concrete] // CHECK:STDOUT: %A1.vtable_ptr: ref %ptr.454 = vtable_ptr @A1.vtable [concrete] @@ -836,7 +836,7 @@ base class NonGenericDerived { // CHECK:STDOUT: %A2: type = class_type @A2 [concrete] // CHECK:STDOUT: %A2.elem: type = unbound_element_type %A2, %A1 [concrete] // CHECK:STDOUT: %pattern_type.b21: type = pattern_type %A2 [concrete] -// CHECK:STDOUT: %F.type.4ae: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.4ae: type = fn_type @F.loc10 [concrete] // CHECK:STDOUT: %F.1d5: %F.type.4ae = struct_value () [concrete] // CHECK:STDOUT: %A2.vtable_ptr: ref %ptr.454 = vtable_ptr @A2.vtable [concrete] // CHECK:STDOUT: %struct_type.base: type = struct_type {.base: %A1} [concrete] @@ -862,7 +862,7 @@ base class NonGenericDerived { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @A1 { -// CHECK:STDOUT: %F.decl: %F.type.13a = fn_decl @F.1 [concrete = constants.%F.df5] { +// CHECK:STDOUT: %F.decl: %F.type.13a = fn_decl @F.loc5 [concrete = constants.%F.df5] { // CHECK:STDOUT: %self.patt: %pattern_type.ddb = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.ddb = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -884,7 +884,7 @@ base class NonGenericDerived { // CHECK:STDOUT: class @A2 { // CHECK:STDOUT: %A1.ref: type = name_ref A1, file.%A1.decl [concrete = constants.%A1] // CHECK:STDOUT: %.loc9: %A2.elem = base_decl %A1.ref, element0 [concrete] -// CHECK:STDOUT: %F.decl: %F.type.4ae = fn_decl @F.2 [concrete = constants.%F.1d5] { +// CHECK:STDOUT: %F.decl: %F.type.4ae = fn_decl @F.loc10 [concrete = constants.%F.1d5] { // CHECK:STDOUT: %self.patt: %pattern_type.b21 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.b21 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -914,16 +914,16 @@ base class NonGenericDerived { // CHECK:STDOUT: @A2.%F.decl // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: virtual fn @F.1(%self.param: %A1); +// CHECK:STDOUT: virtual fn @F.loc5(%self.param: %A1); // CHECK:STDOUT: -// CHECK:STDOUT: impl fn @F.2(%self.param: %A2); +// CHECK:STDOUT: impl fn @F.loc10(%self.param: %A2); // CHECK:STDOUT: // CHECK:STDOUT: --- impl_base.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { // CHECK:STDOUT: %B1: type = class_type @B1 [concrete] // CHECK:STDOUT: %pattern_type.e47: type = pattern_type %B1 [concrete] -// CHECK:STDOUT: %F.type.e4c: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.e4c: type = fn_type @F.loc5 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %F.8f5: %F.type.e4c = struct_value () [concrete] // CHECK:STDOUT: %ptr.454: type = ptr_type [concrete] @@ -933,7 +933,7 @@ base class NonGenericDerived { // CHECK:STDOUT: %B2: type = class_type @B2 [concrete] // CHECK:STDOUT: %B2.elem: type = unbound_element_type %B2, %B1 [concrete] // CHECK:STDOUT: %pattern_type.b19: type = pattern_type %B2 [concrete] -// CHECK:STDOUT: %F.type.b26: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.b26: type = fn_type @F.loc10 [concrete] // CHECK:STDOUT: %F.d48: %F.type.b26 = struct_value () [concrete] // CHECK:STDOUT: %B2.vtable_ptr: ref %ptr.454 = vtable_ptr @B2.vtable [concrete] // CHECK:STDOUT: %struct_type.base.508: type = struct_type {.base: %B1} [concrete] @@ -941,7 +941,7 @@ base class NonGenericDerived { // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %C.elem: type = unbound_element_type %C, %B2 [concrete] // CHECK:STDOUT: %pattern_type.c48: type = pattern_type %C [concrete] -// CHECK:STDOUT: %F.type.c29: type = fn_type @F.3 [concrete] +// CHECK:STDOUT: %F.type.c29: type = fn_type @F.loc15 [concrete] // CHECK:STDOUT: %F.437: %F.type.c29 = struct_value () [concrete] // CHECK:STDOUT: %C.vtable_ptr: ref %ptr.454 = vtable_ptr @C.vtable [concrete] // CHECK:STDOUT: %struct_type.base.421: type = struct_type {.base: %B2} [concrete] @@ -997,7 +997,7 @@ base class NonGenericDerived { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @B1 { -// CHECK:STDOUT: %F.decl: %F.type.e4c = fn_decl @F.1 [concrete = constants.%F.8f5] { +// CHECK:STDOUT: %F.decl: %F.type.e4c = fn_decl @F.loc5 [concrete = constants.%F.8f5] { // CHECK:STDOUT: %self.patt: %pattern_type.e47 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.e47 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -1019,7 +1019,7 @@ base class NonGenericDerived { // CHECK:STDOUT: class @B2 { // CHECK:STDOUT: %B1.ref: type = name_ref B1, file.%B1.decl [concrete = constants.%B1] // CHECK:STDOUT: %.loc9: %B2.elem = base_decl %B1.ref, element0 [concrete] -// CHECK:STDOUT: %F.decl: %F.type.b26 = fn_decl @F.2 [concrete = constants.%F.d48] { +// CHECK:STDOUT: %F.decl: %F.type.b26 = fn_decl @F.loc10 [concrete = constants.%F.d48] { // CHECK:STDOUT: %self.patt: %pattern_type.b19 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.b19 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -1044,7 +1044,7 @@ base class NonGenericDerived { // CHECK:STDOUT: class @C { // CHECK:STDOUT: %B2.ref: type = name_ref B2, file.%B2.decl [concrete = constants.%B2] // CHECK:STDOUT: %.loc14: %C.elem = base_decl %B2.ref, element0 [concrete] -// CHECK:STDOUT: %F.decl: %F.type.c29 = fn_decl @F.3 [concrete = constants.%F.437] { +// CHECK:STDOUT: %F.decl: %F.type.c29 = fn_decl @F.loc15 [concrete = constants.%F.437] { // CHECK:STDOUT: %self.patt: %pattern_type.c48 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.c48 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -1078,11 +1078,11 @@ base class NonGenericDerived { // CHECK:STDOUT: @C.%F.decl // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: virtual fn @F.1(%self.param: %B1); +// CHECK:STDOUT: virtual fn @F.loc5(%self.param: %B1); // CHECK:STDOUT: -// CHECK:STDOUT: impl fn @F.2(%self.param: %B2); +// CHECK:STDOUT: impl fn @F.loc10(%self.param: %B2); // CHECK:STDOUT: -// CHECK:STDOUT: impl fn @F.3(%self.param: %C); +// CHECK:STDOUT: impl fn @F.loc15(%self.param: %C); // CHECK:STDOUT: // CHECK:STDOUT: fn @Use() { // CHECK:STDOUT: !entry: @@ -1219,13 +1219,13 @@ base class NonGenericDerived { // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %Base.elem: type = unbound_element_type %Base, %i32 [concrete] // CHECK:STDOUT: %pattern_type.bcc: type = pattern_type %Base [concrete] -// CHECK:STDOUT: %F.type.7c6: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.7c6: type = fn_type @F.loc8 [concrete] // CHECK:STDOUT: %F.d17: %F.type.7c6 = struct_value () [concrete] // CHECK:STDOUT: %ptr.454: type = ptr_type [concrete] // CHECK:STDOUT: %Base.vtable_ptr: ref %ptr.454 = vtable_ptr @Base.vtable [concrete] // CHECK:STDOUT: %struct_type.vptr.m1.m2: type = struct_type {.: %ptr.454, .m1: %i32, .m2: %i32} [concrete] // CHECK:STDOUT: %complete_type.cf7: = complete_type_witness %struct_type.vptr.m1.m2 [concrete] -// CHECK:STDOUT: %F.type.b25: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.b25: type = fn_type @F.loc11 [concrete] // CHECK:STDOUT: %F.c41: %F.type.b25 = struct_value () [concrete] // CHECK:STDOUT: %pattern_type.7ce: type = pattern_type %i32 [concrete] // CHECK:STDOUT: %int_3.1ba: Core.IntLiteral = int_value 3 [concrete] @@ -1290,7 +1290,7 @@ base class NonGenericDerived { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Base.decl: type = class_decl @Base [concrete = constants.%Base] {} {} -// CHECK:STDOUT: %F.decl: %F.type.b25 = fn_decl @F.2 [concrete = constants.%F.c41] {} {} +// CHECK:STDOUT: %F.decl: %F.type.b25 = fn_decl @F.loc11 [concrete = constants.%F.c41] {} {} // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @Base { @@ -1300,7 +1300,7 @@ base class NonGenericDerived { // CHECK:STDOUT: %int_32.loc6: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc6: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %.loc6: %Base.elem = field_decl m2, element2 [concrete] -// CHECK:STDOUT: %F.decl: %F.type.7c6 = fn_decl @F.1 [concrete = constants.%F.d17] { +// CHECK:STDOUT: %F.decl: %F.type.7c6 = fn_decl @F.loc8 [concrete = constants.%F.d17] { // CHECK:STDOUT: %self.patt: %pattern_type.bcc = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.bcc = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -1325,9 +1325,9 @@ base class NonGenericDerived { // CHECK:STDOUT: @Base.%F.decl // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: virtual fn @F.1(%self.param: %Base); +// CHECK:STDOUT: virtual fn @F.loc8(%self.param: %Base); // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2() { +// CHECK:STDOUT: fn @F.loc11() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %i.patt: %pattern_type.7ce = binding_pattern i [concrete] @@ -1506,7 +1506,7 @@ base class NonGenericDerived { // CHECK:STDOUT: constants { // CHECK:STDOUT: %AbstractBase: type = class_type @AbstractBase [concrete] // CHECK:STDOUT: %pattern_type.27c: type = pattern_type %AbstractBase [concrete] -// CHECK:STDOUT: %F.type.85b: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.85b: type = fn_type @F.loc5 [concrete] // CHECK:STDOUT: %F.6e9: %F.type.85b = struct_value () [concrete] // CHECK:STDOUT: %ptr.454: type = ptr_type [concrete] // CHECK:STDOUT: %AbstractBase.vtable_ptr: ref %ptr.454 = vtable_ptr @AbstractBase.vtable [concrete] @@ -1520,7 +1520,7 @@ base class NonGenericDerived { // CHECK:STDOUT: %Derived: type = class_type @Derived [concrete] // CHECK:STDOUT: %Derived.elem: type = unbound_element_type %Derived, %AbstractIntermediate [concrete] // CHECK:STDOUT: %pattern_type.fb9: type = pattern_type %Derived [concrete] -// CHECK:STDOUT: %F.type.5da: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.5da: type = fn_type @F.loc14 [concrete] // CHECK:STDOUT: %F.fa3: %F.type.5da = struct_value () [concrete] // CHECK:STDOUT: %Derived.vtable_ptr: ref %ptr.454 = vtable_ptr @Derived.vtable [concrete] // CHECK:STDOUT: %struct_type.base.da5: type = struct_type {.base: %AbstractIntermediate} [concrete] @@ -1548,7 +1548,7 @@ base class NonGenericDerived { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @AbstractBase { -// CHECK:STDOUT: %F.decl: %F.type.85b = fn_decl @F.1 [concrete = constants.%F.6e9] { +// CHECK:STDOUT: %F.decl: %F.type.85b = fn_decl @F.loc5 [concrete = constants.%F.6e9] { // CHECK:STDOUT: %self.patt: %pattern_type.27c = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.27c = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -1586,7 +1586,7 @@ base class NonGenericDerived { // CHECK:STDOUT: class @Derived { // CHECK:STDOUT: %AbstractIntermediate.ref: type = name_ref AbstractIntermediate, file.%AbstractIntermediate.decl [concrete = constants.%AbstractIntermediate] // CHECK:STDOUT: %.loc13: %Derived.elem = base_decl %AbstractIntermediate.ref, element0 [concrete] -// CHECK:STDOUT: %F.decl: %F.type.5da = fn_decl @F.2 [concrete = constants.%F.fa3] { +// CHECK:STDOUT: %F.decl: %F.type.5da = fn_decl @F.loc14 [concrete = constants.%F.fa3] { // CHECK:STDOUT: %self.patt: %pattern_type.fb9 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.fb9 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -1620,16 +1620,16 @@ base class NonGenericDerived { // CHECK:STDOUT: @Derived.%F.decl // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: abstract fn @F.1(%self.param: %AbstractBase); +// CHECK:STDOUT: abstract fn @F.loc5(%self.param: %AbstractBase); // CHECK:STDOUT: -// CHECK:STDOUT: impl fn @F.2(%self.param: %Derived); +// CHECK:STDOUT: impl fn @F.loc14(%self.param: %Derived); // CHECK:STDOUT: // CHECK:STDOUT: --- virtual_impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { // CHECK:STDOUT: %VirtualBase: type = class_type @VirtualBase [concrete] // CHECK:STDOUT: %pattern_type.ad4: type = pattern_type %VirtualBase [concrete] -// CHECK:STDOUT: %F.type.e62: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.e62: type = fn_type @F.loc5 [concrete] // CHECK:STDOUT: %F.3e7: %F.type.e62 = struct_value () [concrete] // CHECK:STDOUT: %ptr.454: type = ptr_type [concrete] // CHECK:STDOUT: %VirtualBase.vtable_ptr: ref %ptr.454 = vtable_ptr @VirtualBase.vtable [concrete] @@ -1643,7 +1643,7 @@ base class NonGenericDerived { // CHECK:STDOUT: %Derived: type = class_type @Derived [concrete] // CHECK:STDOUT: %Derived.elem: type = unbound_element_type %Derived, %VirtualIntermediate [concrete] // CHECK:STDOUT: %pattern_type.fb9: type = pattern_type %Derived [concrete] -// CHECK:STDOUT: %F.type.5da: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.5da: type = fn_type @F.loc14 [concrete] // CHECK:STDOUT: %F.fa3: %F.type.5da = struct_value () [concrete] // CHECK:STDOUT: %Derived.vtable_ptr: ref %ptr.454 = vtable_ptr @Derived.vtable [concrete] // CHECK:STDOUT: %struct_type.base.43c: type = struct_type {.base: %VirtualIntermediate} [concrete] @@ -1671,7 +1671,7 @@ base class NonGenericDerived { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @VirtualBase { -// CHECK:STDOUT: %F.decl: %F.type.e62 = fn_decl @F.1 [concrete = constants.%F.3e7] { +// CHECK:STDOUT: %F.decl: %F.type.e62 = fn_decl @F.loc5 [concrete = constants.%F.3e7] { // CHECK:STDOUT: %self.patt: %pattern_type.ad4 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.ad4 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -1709,7 +1709,7 @@ base class NonGenericDerived { // CHECK:STDOUT: class @Derived { // CHECK:STDOUT: %VirtualIntermediate.ref: type = name_ref VirtualIntermediate, file.%VirtualIntermediate.decl [concrete = constants.%VirtualIntermediate] // CHECK:STDOUT: %.loc13: %Derived.elem = base_decl %VirtualIntermediate.ref, element0 [concrete] -// CHECK:STDOUT: %F.decl: %F.type.5da = fn_decl @F.2 [concrete = constants.%F.fa3] { +// CHECK:STDOUT: %F.decl: %F.type.5da = fn_decl @F.loc14 [concrete = constants.%F.fa3] { // CHECK:STDOUT: %self.patt: %pattern_type.fb9 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.fb9 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -1743,16 +1743,16 @@ base class NonGenericDerived { // CHECK:STDOUT: @Derived.%F.decl // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: virtual fn @F.1(%self.param: %VirtualBase); +// CHECK:STDOUT: virtual fn @F.loc5(%self.param: %VirtualBase); // CHECK:STDOUT: -// CHECK:STDOUT: impl fn @F.2(%self.param: %Derived); +// CHECK:STDOUT: impl fn @F.loc14(%self.param: %Derived); // CHECK:STDOUT: // CHECK:STDOUT: --- fail_impl_mismatch.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { // CHECK:STDOUT: %Base: type = class_type @Base [concrete] // CHECK:STDOUT: %pattern_type.bcc: type = pattern_type %Base [concrete] -// CHECK:STDOUT: %F.type.7c6: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.7c6: type = fn_type @F.loc5 [concrete] // CHECK:STDOUT: %F.d17: %F.type.7c6 = struct_value () [concrete] // CHECK:STDOUT: %ptr.454: type = ptr_type [concrete] // CHECK:STDOUT: %Base.vtable_ptr: ref %ptr.454 = vtable_ptr @Base.vtable [concrete] @@ -1766,7 +1766,7 @@ base class NonGenericDerived { // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %pattern_type.7ce: type = pattern_type %i32 [concrete] -// CHECK:STDOUT: %F.type.5da: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.5da: type = fn_type @F.loc17 [concrete] // CHECK:STDOUT: %F.fa3: %F.type.5da = struct_value () [concrete] // CHECK:STDOUT: %Derived.vtable_ptr: ref %ptr.454 = vtable_ptr @Derived.vtable [concrete] // CHECK:STDOUT: %struct_type.base: type = struct_type {.base: %Base} [concrete] @@ -1794,7 +1794,7 @@ base class NonGenericDerived { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @Base { -// CHECK:STDOUT: %F.decl: %F.type.7c6 = fn_decl @F.1 [concrete = constants.%F.d17] { +// CHECK:STDOUT: %F.decl: %F.type.7c6 = fn_decl @F.loc5 [concrete = constants.%F.d17] { // CHECK:STDOUT: %self.patt: %pattern_type.bcc = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.bcc = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -1816,7 +1816,7 @@ base class NonGenericDerived { // CHECK:STDOUT: class @Derived { // CHECK:STDOUT: %Base.ref: type = name_ref Base, file.%Base.decl [concrete = constants.%Base] // CHECK:STDOUT: %.loc9: %Derived.elem = base_decl %Base.ref, element0 [concrete] -// CHECK:STDOUT: %F.decl: %F.type.5da = fn_decl @F.2 [concrete = constants.%F.fa3] { +// CHECK:STDOUT: %F.decl: %F.type.5da = fn_decl @F.loc17 [concrete = constants.%F.fa3] { // CHECK:STDOUT: %self.patt: %pattern_type.fb9 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.fb9 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %v.patt: %pattern_type.7ce = binding_pattern v [concrete] @@ -1854,9 +1854,9 @@ base class NonGenericDerived { // CHECK:STDOUT: @Derived.%F.decl // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: virtual fn @F.1(%self.param: %Base); +// CHECK:STDOUT: virtual fn @F.loc5(%self.param: %Base); // CHECK:STDOUT: -// CHECK:STDOUT: impl fn @F.2(%self.param: %Derived, %v.param: %i32); +// CHECK:STDOUT: impl fn @F.loc17(%self.param: %Derived, %v.param: %i32); // CHECK:STDOUT: // CHECK:STDOUT: --- fail_todo_impl_conversion.carbon // CHECK:STDOUT: @@ -1871,12 +1871,12 @@ base class NonGenericDerived { // CHECK:STDOUT: %ImplicitAs.impl_witness: = impl_witness file.%ImplicitAs.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.682: type = pattern_type %T2 [concrete] // CHECK:STDOUT: %pattern_type.28b: type = pattern_type %T1 [concrete] -// CHECK:STDOUT: %Convert.type.c41: type = fn_type @Convert.2 [concrete] +// CHECK:STDOUT: %Convert.type.c41: type = fn_type @Convert.loc11 [concrete] // CHECK:STDOUT: %Convert.f35: %Convert.type.c41 = struct_value () [concrete] // CHECK:STDOUT: %T1.val: %T1 = struct_value () [concrete] // CHECK:STDOUT: %Base: type = class_type @Base [concrete] // CHECK:STDOUT: %pattern_type.bcc: type = pattern_type %Base [concrete] -// CHECK:STDOUT: %F.type.7c6: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.7c6: type = fn_type @F.loc17 [concrete] // CHECK:STDOUT: %F.d17: %F.type.7c6 = struct_value () [concrete] // CHECK:STDOUT: %ptr.454: type = ptr_type [concrete] // CHECK:STDOUT: %Base.vtable_ptr: ref %ptr.454 = vtable_ptr @Base.vtable [concrete] @@ -1885,7 +1885,7 @@ base class NonGenericDerived { // CHECK:STDOUT: %Derived: type = class_type @Derived [concrete] // CHECK:STDOUT: %Derived.elem: type = unbound_element_type %Derived, %Base [concrete] // CHECK:STDOUT: %pattern_type.fb9: type = pattern_type %Derived [concrete] -// CHECK:STDOUT: %F.type.5da: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.5da: type = fn_type @F.loc29 [concrete] // CHECK:STDOUT: %F.fa3: %F.type.5da = struct_value () [concrete] // CHECK:STDOUT: %Derived.vtable_ptr: ref %ptr.454 = vtable_ptr @Derived.vtable [concrete] // CHECK:STDOUT: %struct_type.base: type = struct_type {.base: %Base} [concrete] @@ -1926,7 +1926,7 @@ base class NonGenericDerived { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @ImplicitAs.impl: %T2.ref as %ImplicitAs.type { -// CHECK:STDOUT: %Convert.decl: %Convert.type.c41 = fn_decl @Convert.2 [concrete = constants.%Convert.f35] { +// CHECK:STDOUT: %Convert.decl: %Convert.type.c41 = fn_decl @Convert.loc11 [concrete = constants.%Convert.f35] { // CHECK:STDOUT: %self.patt: %pattern_type.682 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.682 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %return.patt: %pattern_type.28b = return_slot_pattern [concrete] @@ -1965,7 +1965,7 @@ base class NonGenericDerived { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @Base { -// CHECK:STDOUT: %F.decl: %F.type.7c6 = fn_decl @F.1 [concrete = constants.%F.d17] { +// CHECK:STDOUT: %F.decl: %F.type.7c6 = fn_decl @F.loc17 [concrete = constants.%F.d17] { // CHECK:STDOUT: %self.patt: %pattern_type.bcc = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.bcc = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %return.patt: %pattern_type.28b = return_slot_pattern [concrete] @@ -1994,7 +1994,7 @@ base class NonGenericDerived { // CHECK:STDOUT: class @Derived { // CHECK:STDOUT: %Base.ref: type = name_ref Base, file.%Base.decl [concrete = constants.%Base] // CHECK:STDOUT: %.loc21: %Derived.elem = base_decl %Base.ref, element0 [concrete] -// CHECK:STDOUT: %F.decl: %F.type.5da = fn_decl @F.2 [concrete = constants.%F.fa3] { +// CHECK:STDOUT: %F.decl: %F.type.5da = fn_decl @F.loc29 [concrete = constants.%F.fa3] { // CHECK:STDOUT: %self.patt: %pattern_type.fb9 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.fb9 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %return.patt: %pattern_type.682 = return_slot_pattern [concrete] @@ -2030,7 +2030,7 @@ base class NonGenericDerived { // CHECK:STDOUT: @Derived.%F.decl // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Convert.2(%self.param: %T2) -> %return.param: %T1 { +// CHECK:STDOUT: fn @Convert.loc11(%self.param: %T2) -> %return.param: %T1 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc12_13.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc12_13.2: init %T1 = class_init (), %return [concrete = constants.%T1.val] @@ -2038,9 +2038,9 @@ base class NonGenericDerived { // CHECK:STDOUT: return %.loc12_14 to %return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: virtual fn @F.1(%self.param: %Base) -> %return.param: %T1; +// CHECK:STDOUT: virtual fn @F.loc17(%self.param: %Base) -> %return.param: %T1; // CHECK:STDOUT: -// CHECK:STDOUT: impl fn @F.2(%self.param: %Derived) -> %return.param: %T2; +// CHECK:STDOUT: impl fn @F.loc29(%self.param: %Derived) -> %return.param: %T2; // CHECK:STDOUT: // CHECK:STDOUT: --- fail_generic_virtual_decl.carbon // CHECK:STDOUT: @@ -2149,10 +2149,10 @@ base class NonGenericDerived { // CHECK:STDOUT: %Base.370: type = class_type @Base, @Base(%T) [symbolic] // CHECK:STDOUT: %pattern_type.9f7: type = pattern_type %Base.370 [symbolic] // CHECK:STDOUT: %pattern_type.7dc: type = pattern_type %T [symbolic] -// CHECK:STDOUT: %F.type.f17: type = fn_type @F.1, @Base(%T) [symbolic] +// CHECK:STDOUT: %F.type.f17: type = fn_type @F.loc8, @Base(%T) [symbolic] // CHECK:STDOUT: %F.e26: %F.type.f17 = struct_value () [symbolic] // CHECK:STDOUT: %ptr.454: type = ptr_type [concrete] -// CHECK:STDOUT: %F.specific_fn.892: = specific_function %F.e26, @F.1(%T) [symbolic] +// CHECK:STDOUT: %F.specific_fn.892: = specific_function %F.e26, @F.loc8(%T) [symbolic] // CHECK:STDOUT: %Base.vtable_ptr.573: ref %ptr.454 = vtable_ptr @Base.vtable, @Base(%T) [symbolic] // CHECK:STDOUT: %struct_type.vptr: type = struct_type {.: %ptr.454} [concrete] // CHECK:STDOUT: %complete_type.513: = complete_type_witness %struct_type.vptr [concrete] @@ -2160,15 +2160,15 @@ base class NonGenericDerived { // CHECK:STDOUT: %require_complete.4ae: = require_complete_type %T [symbolic] // CHECK:STDOUT: %Derived: type = class_type @Derived [concrete] // CHECK:STDOUT: %Base.ea5: type = class_type @Base, @Base(%T1) [concrete] -// CHECK:STDOUT: %F.type.d82: type = fn_type @F.1, @Base(%T1) [concrete] +// CHECK:STDOUT: %F.type.d82: type = fn_type @F.loc8, @Base(%T1) [concrete] // CHECK:STDOUT: %F.d25: %F.type.d82 = struct_value () [concrete] // CHECK:STDOUT: %pattern_type.3bf: type = pattern_type %Base.ea5 [concrete] // CHECK:STDOUT: %pattern_type.28b: type = pattern_type %T1 [concrete] -// CHECK:STDOUT: %F.specific_fn.210: = specific_function %F.d25, @F.1(%T1) [concrete] +// CHECK:STDOUT: %F.specific_fn.210: = specific_function %F.d25, @F.loc8(%T1) [concrete] // CHECK:STDOUT: %Base.vtable_ptr.bfe: ref %ptr.454 = vtable_ptr @Base.vtable, @Base(%T1) [concrete] // CHECK:STDOUT: %Derived.elem: type = unbound_element_type %Derived, %Base.ea5 [concrete] // CHECK:STDOUT: %pattern_type.fb9: type = pattern_type %Derived [concrete] -// CHECK:STDOUT: %F.type.5da: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.5da: type = fn_type @F.loc20 [concrete] // CHECK:STDOUT: %F.fa3: %F.type.5da = struct_value () [concrete] // CHECK:STDOUT: %Derived.vtable_ptr: ref %ptr.454 = vtable_ptr @Derived.vtable [concrete] // CHECK:STDOUT: %struct_type.base.fda: type = struct_type {.base: %Base.ea5} [concrete] @@ -2212,29 +2212,29 @@ base class NonGenericDerived { // CHECK:STDOUT: %T.loc7_17.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc7_17.2 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %F.type: type = fn_type @F.1, @Base(%T.loc7_17.2) [symbolic = %F.type (constants.%F.type.f17)] +// CHECK:STDOUT: %F.type: type = fn_type @F.loc8, @Base(%T.loc7_17.2) [symbolic = %F.type (constants.%F.type.f17)] // CHECK:STDOUT: %F: @Base.%F.type (%F.type.f17) = struct_value () [symbolic = %F (constants.%F.e26)] -// CHECK:STDOUT: %F.specific_fn.loc9_1.2: = specific_function %F, @F.1(%T.loc7_17.2) [symbolic = %F.specific_fn.loc9_1.2 (constants.%F.specific_fn.892)] +// CHECK:STDOUT: %F.specific_fn.loc9_1.2: = specific_function %F, @F.loc8(%T.loc7_17.2) [symbolic = %F.specific_fn.loc9_1.2 (constants.%F.specific_fn.892)] // CHECK:STDOUT: %vtable_ptr.loc9_1.2: ref %ptr.454 = vtable_ptr @Base.vtable, @Base(%T.loc7_17.2) [symbolic = %vtable_ptr.loc9_1.2 (constants.%Base.vtable_ptr.573)] // CHECK:STDOUT: // CHECK:STDOUT: class { -// CHECK:STDOUT: %F.decl: @Base.%F.type (%F.type.f17) = fn_decl @F.1 [symbolic = @Base.%F (constants.%F.e26)] { -// CHECK:STDOUT: %self.patt: @F.1.%pattern_type.loc8_16 (%pattern_type.9f7) = binding_pattern self [concrete] -// CHECK:STDOUT: %self.param_patt: @F.1.%pattern_type.loc8_16 (%pattern_type.9f7) = value_param_pattern %self.patt, call_param0 [concrete] -// CHECK:STDOUT: %t.patt: @F.1.%pattern_type.loc8_28 (%pattern_type.7dc) = binding_pattern t [concrete] -// CHECK:STDOUT: %t.param_patt: @F.1.%pattern_type.loc8_28 (%pattern_type.7dc) = value_param_pattern %t.patt, call_param1 [concrete] +// CHECK:STDOUT: %F.decl: @Base.%F.type (%F.type.f17) = fn_decl @F.loc8 [symbolic = @Base.%F (constants.%F.e26)] { +// CHECK:STDOUT: %self.patt: @F.loc8.%pattern_type.loc8_16 (%pattern_type.9f7) = binding_pattern self [concrete] +// CHECK:STDOUT: %self.param_patt: @F.loc8.%pattern_type.loc8_16 (%pattern_type.9f7) = value_param_pattern %self.patt, call_param0 [concrete] +// CHECK:STDOUT: %t.patt: @F.loc8.%pattern_type.loc8_28 (%pattern_type.7dc) = binding_pattern t [concrete] +// CHECK:STDOUT: %t.param_patt: @F.loc8.%pattern_type.loc8_28 (%pattern_type.7dc) = value_param_pattern %t.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %self.param: @F.1.%Base (%Base.370) = value_param call_param0 +// CHECK:STDOUT: %self.param: @F.loc8.%Base (%Base.370) = value_param call_param0 // CHECK:STDOUT: %.loc8_22.1: type = splice_block %Self.ref [symbolic = %Base (constants.%Base.370)] { // CHECK:STDOUT: %.loc8_22.2: type = specific_constant constants.%Base.370, @Base(constants.%T) [symbolic = %Base (constants.%Base.370)] // CHECK:STDOUT: %Self.ref: type = name_ref Self, %.loc8_22.2 [symbolic = %Base (constants.%Base.370)] // CHECK:STDOUT: } -// CHECK:STDOUT: %self: @F.1.%Base (%Base.370) = bind_name self, %self.param -// CHECK:STDOUT: %t.param: @F.1.%T (%T) = value_param call_param1 +// CHECK:STDOUT: %self: @F.loc8.%Base (%Base.370) = bind_name self, %self.param +// CHECK:STDOUT: %t.param: @F.loc8.%T (%T) = value_param call_param1 // CHECK:STDOUT: %T.ref: type = name_ref T, @Base.%T.loc7_17.1 [symbolic = %T (constants.%T)] -// CHECK:STDOUT: %t: @F.1.%T (%T) = bind_name t, %t.param +// CHECK:STDOUT: %t: @F.loc8.%T (%T) = bind_name t, %t.param // CHECK:STDOUT: } -// CHECK:STDOUT: %F.specific_fn.loc9_1.1: = specific_function %F.decl, @F.1(constants.%T) [symbolic = %F.specific_fn.loc9_1.2 (constants.%F.specific_fn.892)] +// CHECK:STDOUT: %F.specific_fn.loc9_1.1: = specific_function %F.decl, @F.loc8(constants.%T) [symbolic = %F.specific_fn.loc9_1.2 (constants.%F.specific_fn.892)] // CHECK:STDOUT: %vtable_ptr.loc9_1.1: ref %ptr.454 = vtable_ptr @Base.vtable, @Base(constants.%T) [symbolic = %vtable_ptr.loc9_1.2 (constants.%Base.vtable_ptr.573)] // CHECK:STDOUT: %struct_type.vptr: type = struct_type {.: %ptr.454} [concrete = constants.%struct_type.vptr] // CHECK:STDOUT: %complete_type: = complete_type_witness %struct_type.vptr [concrete = constants.%complete_type.513] @@ -2254,7 +2254,7 @@ base class NonGenericDerived { // CHECK:STDOUT: %T1.ref: type = name_ref T1, file.%T1.decl [concrete = constants.%T1] // CHECK:STDOUT: %Base: type = class_type @Base, @Base(constants.%T1) [concrete = constants.%Base.ea5] // CHECK:STDOUT: %.loc12: %Derived.elem = base_decl %Base, element0 [concrete] -// CHECK:STDOUT: %F.decl: %F.type.5da = fn_decl @F.2 [concrete = constants.%F.fa3] { +// CHECK:STDOUT: %F.decl: %F.type.5da = fn_decl @F.loc20 [concrete = constants.%F.fa3] { // CHECK:STDOUT: %self.patt: %pattern_type.fb9 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.fb9 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %t.patt: %pattern_type.28b = binding_pattern t [concrete] @@ -2290,7 +2290,7 @@ base class NonGenericDerived { // CHECK:STDOUT: @Derived.%F.decl // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic virtual fn @F.1(@Base.%T.loc7_17.1: type) { +// CHECK:STDOUT: generic virtual fn @F.loc8(@Base.%T.loc7_17.1: type) { // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic = %T (constants.%T)] // CHECK:STDOUT: %Base: type = class_type @Base, @Base(%T) [symbolic = %Base (constants.%Base.370)] // CHECK:STDOUT: %pattern_type.loc8_16: type = pattern_type %Base [symbolic = %pattern_type.loc8_16 (constants.%pattern_type.9f7)] @@ -2300,13 +2300,13 @@ base class NonGenericDerived { // CHECK:STDOUT: %require_complete.loc8_20: = require_complete_type %Base [symbolic = %require_complete.loc8_20 (constants.%require_complete.97d)] // CHECK:STDOUT: %require_complete.loc8_29: = require_complete_type %T [symbolic = %require_complete.loc8_29 (constants.%require_complete.4ae)] // CHECK:STDOUT: -// CHECK:STDOUT: virtual fn(%self.param: @F.1.%Base (%Base.370), %t.param: @F.1.%T (%T)) { +// CHECK:STDOUT: virtual fn(%self.param: @F.loc8.%Base (%Base.370), %t.param: @F.loc8.%T (%T)) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl fn @F.2(%self.param: %Derived, %t.param: %T1) { +// CHECK:STDOUT: impl fn @F.loc20(%self.param: %Derived, %t.param: %T1) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -2321,7 +2321,7 @@ base class NonGenericDerived { // CHECK:STDOUT: %vtable_ptr.loc9_1.2 => constants.%Base.vtable_ptr.573 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%T) { +// CHECK:STDOUT: specific @F.loc8(constants.%T) { // CHECK:STDOUT: %T => constants.%T // CHECK:STDOUT: %Base => constants.%Base.370 // CHECK:STDOUT: %pattern_type.loc8_16 => constants.%pattern_type.9f7 @@ -2342,7 +2342,7 @@ base class NonGenericDerived { // CHECK:STDOUT: %vtable_ptr.loc9_1.2 => constants.%Base.vtable_ptr.bfe // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%T1) { +// CHECK:STDOUT: specific @F.loc8(constants.%T1) { // CHECK:STDOUT: %T => constants.%T1 // CHECK:STDOUT: %Base => constants.%Base.ea5 // CHECK:STDOUT: %pattern_type.loc8_16 => constants.%pattern_type.3bf @@ -2357,7 +2357,7 @@ base class NonGenericDerived { // CHECK:STDOUT: // CHECK:STDOUT: constants { // CHECK:STDOUT: %T1: type = class_type @T1 [concrete] -// CHECK:STDOUT: %F.type.ba7: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.ba7: type = fn_type @F.loc9 [concrete] // CHECK:STDOUT: %F.1a5: %F.type.ba7 = struct_value () [concrete] // CHECK:STDOUT: %G.type: type = fn_type @G [concrete] // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] @@ -2365,7 +2365,7 @@ base class NonGenericDerived { // CHECK:STDOUT: %complete_type.357: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %T2: type = class_type @T2 [concrete] // CHECK:STDOUT: %T2.elem: type = unbound_element_type %T2, %T1 [concrete] -// CHECK:STDOUT: %F.type.834: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.834: type = fn_type @F.loc23 [concrete] // CHECK:STDOUT: %F.a48: %F.type.834 = struct_value () [concrete] // CHECK:STDOUT: %struct_type.base: type = struct_type {.base: %T1} [concrete] // CHECK:STDOUT: %complete_type.e14: = complete_type_witness %struct_type.base [concrete] @@ -2390,7 +2390,7 @@ base class NonGenericDerived { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @T1 { -// CHECK:STDOUT: %F.decl: %F.type.ba7 = fn_decl @F.1 [concrete = constants.%F.1a5] {} {} +// CHECK:STDOUT: %F.decl: %F.type.ba7 = fn_decl @F.loc9 [concrete = constants.%F.1a5] {} {} // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [concrete = constants.%G] {} {} // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete = constants.%empty_struct_type] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete = constants.%complete_type.357] @@ -2405,7 +2405,7 @@ base class NonGenericDerived { // CHECK:STDOUT: class @T2 { // CHECK:STDOUT: %T1.ref: type = name_ref T1, file.%T1.decl [concrete = constants.%T1] // CHECK:STDOUT: %.loc18: %T2.elem = base_decl %T1.ref, element0 [concrete] -// CHECK:STDOUT: %F.decl: %F.type.834 = fn_decl @F.2 [concrete = constants.%F.a48] {} {} +// CHECK:STDOUT: %F.decl: %F.type.834 = fn_decl @F.loc23 [concrete = constants.%F.a48] {} {} // CHECK:STDOUT: %struct_type.base: type = struct_type {.base: %T1} [concrete = constants.%struct_type.base] // CHECK:STDOUT: %complete_type: = complete_type_witness %struct_type.base [concrete = constants.%complete_type.e14] // CHECK:STDOUT: complete_type_witness = %complete_type @@ -2418,11 +2418,11 @@ base class NonGenericDerived { // CHECK:STDOUT: extend %T1.ref // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.1(); +// CHECK:STDOUT: fn @F.loc9(); // CHECK:STDOUT: // CHECK:STDOUT: fn @G(); // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2(); +// CHECK:STDOUT: fn @F.loc23(); // CHECK:STDOUT: // CHECK:STDOUT: --- fail_addr_self_mismatch.carbon // CHECK:STDOUT: @@ -2430,7 +2430,7 @@ base class NonGenericDerived { // CHECK:STDOUT: %T1: type = class_type @T1 [concrete] // CHECK:STDOUT: %ptr.87b: type = ptr_type %T1 [concrete] // CHECK:STDOUT: %pattern_type.a36: type = pattern_type %ptr.87b [concrete] -// CHECK:STDOUT: %F1.type.b96: type = fn_type @F1.1 [concrete] +// CHECK:STDOUT: %F1.type.b96: type = fn_type @F1.loc5 [concrete] // CHECK:STDOUT: %F1.765: %F1.type.b96 = struct_value () [concrete] // CHECK:STDOUT: %ptr.454: type = ptr_type [concrete] // CHECK:STDOUT: %T1.vtable_ptr: ref %ptr.454 = vtable_ptr @T1.vtable [concrete] @@ -2441,7 +2441,7 @@ base class NonGenericDerived { // CHECK:STDOUT: %ptr.63e: type = ptr_type %T2 [concrete] // CHECK:STDOUT: %pattern_type.fb8: type = pattern_type %ptr.63e [concrete] // CHECK:STDOUT: %pattern_type.f6d: type = pattern_type auto [concrete] -// CHECK:STDOUT: %F1.type.b0d: type = fn_type @F1.2 [concrete] +// CHECK:STDOUT: %F1.type.b0d: type = fn_type @F1.loc17 [concrete] // CHECK:STDOUT: %F1.0ce: %F1.type.b0d = struct_value () [concrete] // CHECK:STDOUT: %T2.vtable_ptr: ref %ptr.454 = vtable_ptr @T2.vtable [concrete] // CHECK:STDOUT: %struct_type.base: type = struct_type {.base: %T1} [concrete] @@ -2467,7 +2467,7 @@ base class NonGenericDerived { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @T1 { -// CHECK:STDOUT: %F1.decl: %F1.type.b96 = fn_decl @F1.1 [concrete = constants.%F1.765] { +// CHECK:STDOUT: %F1.decl: %F1.type.b96 = fn_decl @F1.loc5 [concrete = constants.%F1.765] { // CHECK:STDOUT: %self.patt: %pattern_type.a36 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.a36 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -2492,7 +2492,7 @@ base class NonGenericDerived { // CHECK:STDOUT: class @T2 { // CHECK:STDOUT: %T1.ref: type = name_ref T1, file.%T1.decl [concrete = constants.%T1] // CHECK:STDOUT: %.loc9: %T2.elem = base_decl %T1.ref, element0 [concrete] -// CHECK:STDOUT: %F1.decl: %F1.type.b0d = fn_decl @F1.2 [concrete = constants.%F1.0ce] { +// CHECK:STDOUT: %F1.decl: %F1.type.b0d = fn_decl @F1.loc17 [concrete = constants.%F1.0ce] { // CHECK:STDOUT: %self.patt: %pattern_type.fb8 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.fb8 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %.loc17_14: %pattern_type.f6d = addr_pattern %self.param_patt [concrete] @@ -2526,9 +2526,9 @@ base class NonGenericDerived { // CHECK:STDOUT: @T2.%F1.decl // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: virtual fn @F1.1(%self.param: %ptr.87b); +// CHECK:STDOUT: virtual fn @F1.loc5(%self.param: %ptr.87b); // CHECK:STDOUT: -// CHECK:STDOUT: impl fn @F1.2(%self.param: %ptr.63e); +// CHECK:STDOUT: impl fn @F1.loc17(%self.param: %ptr.63e); // CHECK:STDOUT: // CHECK:STDOUT: --- fail_generic_virtual.carbon // CHECK:STDOUT: @@ -2975,7 +2975,7 @@ base class NonGenericDerived { // CHECK:STDOUT: %pattern_type.0b8: type = pattern_type %NonGenericBase [concrete] // CHECK:STDOUT: %F1.type: type = fn_type @F1 [concrete] // CHECK:STDOUT: %F1: %F1.type = struct_value () [concrete] -// CHECK:STDOUT: %F2.type.809: type = fn_type @F2.1 [concrete] +// CHECK:STDOUT: %F2.type.809: type = fn_type @F2.loc6 [concrete] // CHECK:STDOUT: %F2.053: %F2.type.809 = struct_value () [concrete] // CHECK:STDOUT: %ptr.454: type = ptr_type [concrete] // CHECK:STDOUT: %NonGenericBase.vtable_ptr: ref %ptr.454 = vtable_ptr @NonGenericBase.vtable [concrete] @@ -2988,11 +2988,11 @@ base class NonGenericDerived { // CHECK:STDOUT: %GenericDerived: type = class_type @GenericDerived, @GenericDerived(%T) [symbolic] // CHECK:STDOUT: %GenericDerived.elem: type = unbound_element_type %GenericDerived, %NonGenericBase [symbolic] // CHECK:STDOUT: %pattern_type.061: type = pattern_type %GenericDerived [symbolic] -// CHECK:STDOUT: %F2.type.e6e: type = fn_type @F2.2, @GenericDerived(%T) [symbolic] +// CHECK:STDOUT: %F2.type.e6e: type = fn_type @F2.loc11, @GenericDerived(%T) [symbolic] // CHECK:STDOUT: %F2.5da: %F2.type.e6e = struct_value () [symbolic] // CHECK:STDOUT: %F3.type: type = fn_type @F3, @GenericDerived(%T) [symbolic] // CHECK:STDOUT: %F3: %F3.type = struct_value () [symbolic] -// CHECK:STDOUT: %F2.specific_fn: = specific_function %F2.5da, @F2.2(%T) [symbolic] +// CHECK:STDOUT: %F2.specific_fn: = specific_function %F2.5da, @F2.loc11(%T) [symbolic] // CHECK:STDOUT: %F3.specific_fn: = specific_function %F3, @F3(%T) [symbolic] // CHECK:STDOUT: %GenericDerived.vtable_ptr: ref %ptr.454 = vtable_ptr @GenericDerived.vtable, @GenericDerived(%T) [symbolic] // CHECK:STDOUT: %struct_type.base.432: type = struct_type {.base: %NonGenericBase} [concrete] @@ -3031,7 +3031,7 @@ base class NonGenericDerived { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%NonGenericBase [concrete = constants.%NonGenericBase] // CHECK:STDOUT: %self: %NonGenericBase = bind_name self, %self.param // CHECK:STDOUT: } -// CHECK:STDOUT: %F2.decl: %F2.type.809 = fn_decl @F2.1 [concrete = constants.%F2.053] { +// CHECK:STDOUT: %F2.decl: %F2.type.809 = fn_decl @F2.loc6 [concrete = constants.%F2.053] { // CHECK:STDOUT: %self.patt: %pattern_type.0b8 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.0b8 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -3057,27 +3057,27 @@ base class NonGenericDerived { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %GenericDerived: type = class_type @GenericDerived, @GenericDerived(%T.loc9_27.2) [symbolic = %GenericDerived (constants.%GenericDerived)] // CHECK:STDOUT: %GenericDerived.elem: type = unbound_element_type %GenericDerived, constants.%NonGenericBase [symbolic = %GenericDerived.elem (constants.%GenericDerived.elem)] -// CHECK:STDOUT: %F2.type: type = fn_type @F2.2, @GenericDerived(%T.loc9_27.2) [symbolic = %F2.type (constants.%F2.type.e6e)] +// CHECK:STDOUT: %F2.type: type = fn_type @F2.loc11, @GenericDerived(%T.loc9_27.2) [symbolic = %F2.type (constants.%F2.type.e6e)] // CHECK:STDOUT: %F2: @GenericDerived.%F2.type (%F2.type.e6e) = struct_value () [symbolic = %F2 (constants.%F2.5da)] // CHECK:STDOUT: %F3.type: type = fn_type @F3, @GenericDerived(%T.loc9_27.2) [symbolic = %F3.type (constants.%F3.type)] // CHECK:STDOUT: %F3: @GenericDerived.%F3.type (%F3.type) = struct_value () [symbolic = %F3 (constants.%F3)] -// CHECK:STDOUT: %F2.specific_fn.loc13_1.2: = specific_function %F2, @F2.2(%T.loc9_27.2) [symbolic = %F2.specific_fn.loc13_1.2 (constants.%F2.specific_fn)] +// CHECK:STDOUT: %F2.specific_fn.loc13_1.2: = specific_function %F2, @F2.loc11(%T.loc9_27.2) [symbolic = %F2.specific_fn.loc13_1.2 (constants.%F2.specific_fn)] // CHECK:STDOUT: %F3.specific_fn.loc13_1.2: = specific_function %F3, @F3(%T.loc9_27.2) [symbolic = %F3.specific_fn.loc13_1.2 (constants.%F3.specific_fn)] // CHECK:STDOUT: %vtable_ptr.loc13_1.2: ref %ptr.454 = vtable_ptr @GenericDerived.vtable, @GenericDerived(%T.loc9_27.2) [symbolic = %vtable_ptr.loc13_1.2 (constants.%GenericDerived.vtable_ptr)] // CHECK:STDOUT: // CHECK:STDOUT: class { // CHECK:STDOUT: %NonGenericBase.ref: type = name_ref NonGenericBase, file.%NonGenericBase.decl [concrete = constants.%NonGenericBase] // CHECK:STDOUT: %.loc10: @GenericDerived.%GenericDerived.elem (%GenericDerived.elem) = base_decl %NonGenericBase.ref, element0 [concrete] -// CHECK:STDOUT: %F2.decl: @GenericDerived.%F2.type (%F2.type.e6e) = fn_decl @F2.2 [symbolic = @GenericDerived.%F2 (constants.%F2.5da)] { -// CHECK:STDOUT: %self.patt: @F2.2.%pattern_type (%pattern_type.061) = binding_pattern self [concrete] -// CHECK:STDOUT: %self.param_patt: @F2.2.%pattern_type (%pattern_type.061) = value_param_pattern %self.patt, call_param0 [concrete] +// CHECK:STDOUT: %F2.decl: @GenericDerived.%F2.type (%F2.type.e6e) = fn_decl @F2.loc11 [symbolic = @GenericDerived.%F2 (constants.%F2.5da)] { +// CHECK:STDOUT: %self.patt: @F2.loc11.%pattern_type (%pattern_type.061) = binding_pattern self [concrete] +// CHECK:STDOUT: %self.param_patt: @F2.loc11.%pattern_type (%pattern_type.061) = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %self.param: @F2.2.%GenericDerived (%GenericDerived) = value_param call_param0 +// CHECK:STDOUT: %self.param: @F2.loc11.%GenericDerived (%GenericDerived) = value_param call_param0 // CHECK:STDOUT: %.loc11_20.1: type = splice_block %Self.ref [symbolic = %GenericDerived (constants.%GenericDerived)] { // CHECK:STDOUT: %.loc11_20.2: type = specific_constant constants.%GenericDerived, @GenericDerived(constants.%T) [symbolic = %GenericDerived (constants.%GenericDerived)] // CHECK:STDOUT: %Self.ref: type = name_ref Self, %.loc11_20.2 [symbolic = %GenericDerived (constants.%GenericDerived)] // CHECK:STDOUT: } -// CHECK:STDOUT: %self: @F2.2.%GenericDerived (%GenericDerived) = bind_name self, %self.param +// CHECK:STDOUT: %self: @F2.loc11.%GenericDerived (%GenericDerived) = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %F3.decl: @GenericDerived.%F3.type (%F3.type) = fn_decl @F3 [symbolic = @GenericDerived.%F3 (constants.%F3)] { // CHECK:STDOUT: %self.patt: @F3.%pattern_type (%pattern_type.061) = binding_pattern self [concrete] @@ -3090,7 +3090,7 @@ base class NonGenericDerived { // CHECK:STDOUT: } // CHECK:STDOUT: %self: @F3.%GenericDerived (%GenericDerived) = bind_name self, %self.param // CHECK:STDOUT: } -// CHECK:STDOUT: %F2.specific_fn.loc13_1.1: = specific_function %F2.decl, @F2.2(constants.%T) [symbolic = %F2.specific_fn.loc13_1.2 (constants.%F2.specific_fn)] +// CHECK:STDOUT: %F2.specific_fn.loc13_1.1: = specific_function %F2.decl, @F2.loc11(constants.%T) [symbolic = %F2.specific_fn.loc13_1.2 (constants.%F2.specific_fn)] // CHECK:STDOUT: %F3.specific_fn.loc13_1.1: = specific_function %F3.decl, @F3(constants.%T) [symbolic = %F3.specific_fn.loc13_1.2 (constants.%F3.specific_fn)] // CHECK:STDOUT: %vtable_ptr.loc13_1.1: ref %ptr.454 = vtable_ptr @GenericDerived.vtable, @GenericDerived(constants.%T) [symbolic = %vtable_ptr.loc13_1.2 (constants.%GenericDerived.vtable_ptr)] // CHECK:STDOUT: %struct_type.base: type = struct_type {.base: %NonGenericBase} [concrete = constants.%struct_type.base.432] @@ -3124,12 +3124,12 @@ base class NonGenericDerived { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: virtual fn @F2.1(%self.param: %NonGenericBase) { +// CHECK:STDOUT: virtual fn @F2.loc6(%self.param: %NonGenericBase) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl fn @F2.2(@GenericDerived.%T.loc9_27.1: type) { +// CHECK:STDOUT: generic impl fn @F2.loc11(@GenericDerived.%T.loc9_27.1: type) { // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic = %T (constants.%T)] // CHECK:STDOUT: %GenericDerived: type = class_type @GenericDerived, @GenericDerived(%T) [symbolic = %GenericDerived (constants.%GenericDerived)] // CHECK:STDOUT: %pattern_type: type = pattern_type %GenericDerived [symbolic = %pattern_type (constants.%pattern_type.061)] @@ -3137,7 +3137,7 @@ base class NonGenericDerived { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type %GenericDerived [symbolic = %require_complete (constants.%require_complete)] // CHECK:STDOUT: -// CHECK:STDOUT: impl fn(%self.param: @F2.2.%GenericDerived (%GenericDerived)) { +// CHECK:STDOUT: impl fn(%self.param: @F2.loc11.%GenericDerived (%GenericDerived)) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -3172,7 +3172,7 @@ base class NonGenericDerived { // CHECK:STDOUT: %vtable_ptr.loc13_1.2 => constants.%GenericDerived.vtable_ptr // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F2.2(constants.%T) { +// CHECK:STDOUT: specific @F2.loc11(constants.%T) { // CHECK:STDOUT: %T => constants.%T // CHECK:STDOUT: %GenericDerived => constants.%GenericDerived // CHECK:STDOUT: %pattern_type => constants.%pattern_type.061 @@ -3201,11 +3201,11 @@ base class NonGenericDerived { // CHECK:STDOUT: %pattern_type.34e: type = pattern_type %GenericBase.018 [symbolic] // CHECK:STDOUT: %F1.type.2af: type = fn_type @F1, @GenericBase(%T) [symbolic] // CHECK:STDOUT: %F1.80a: %F1.type.2af = struct_value () [symbolic] -// CHECK:STDOUT: %F2.type.2ca: type = fn_type @F2.1, @GenericBase(%T) [symbolic] +// CHECK:STDOUT: %F2.type.2ca: type = fn_type @F2.loc6, @GenericBase(%T) [symbolic] // CHECK:STDOUT: %F2.414: %F2.type.2ca = struct_value () [symbolic] // CHECK:STDOUT: %ptr.454: type = ptr_type [concrete] // CHECK:STDOUT: %F1.specific_fn.aea: = specific_function %F1.80a, @F1(%T) [symbolic] -// CHECK:STDOUT: %F2.specific_fn.758: = specific_function %F2.414, @F2.1(%T) [symbolic] +// CHECK:STDOUT: %F2.specific_fn.758: = specific_function %F2.414, @F2.loc6(%T) [symbolic] // CHECK:STDOUT: %GenericBase.vtable_ptr.e41: ref %ptr.454 = vtable_ptr @GenericBase.vtable, @GenericBase(%T) [symbolic] // CHECK:STDOUT: %struct_type.vptr: type = struct_type {.: %ptr.454} [concrete] // CHECK:STDOUT: %complete_type.513: = complete_type_witness %struct_type.vptr [concrete] @@ -3215,15 +3215,15 @@ base class NonGenericDerived { // CHECK:STDOUT: %GenericBase.f84: type = class_type @GenericBase, @GenericBase(%T1) [concrete] // CHECK:STDOUT: %F1.type.648: type = fn_type @F1, @GenericBase(%T1) [concrete] // CHECK:STDOUT: %F1.4d3: %F1.type.648 = struct_value () [concrete] -// CHECK:STDOUT: %F2.type.d79: type = fn_type @F2.1, @GenericBase(%T1) [concrete] +// CHECK:STDOUT: %F2.type.d79: type = fn_type @F2.loc6, @GenericBase(%T1) [concrete] // CHECK:STDOUT: %F2.d59: %F2.type.d79 = struct_value () [concrete] // CHECK:STDOUT: %pattern_type.7a9: type = pattern_type %GenericBase.f84 [concrete] // CHECK:STDOUT: %F1.specific_fn.094: = specific_function %F1.4d3, @F1(%T1) [concrete] -// CHECK:STDOUT: %F2.specific_fn.b8b: = specific_function %F2.d59, @F2.1(%T1) [concrete] +// CHECK:STDOUT: %F2.specific_fn.b8b: = specific_function %F2.d59, @F2.loc6(%T1) [concrete] // CHECK:STDOUT: %GenericBase.vtable_ptr.d41: ref %ptr.454 = vtable_ptr @GenericBase.vtable, @GenericBase(%T1) [concrete] // CHECK:STDOUT: %NonGenericDerived.elem: type = unbound_element_type %NonGenericDerived, %GenericBase.f84 [concrete] // CHECK:STDOUT: %pattern_type.5fc: type = pattern_type %NonGenericDerived [concrete] -// CHECK:STDOUT: %F2.type.c10: type = fn_type @F2.2 [concrete] +// CHECK:STDOUT: %F2.type.c10: type = fn_type @F2.loc13 [concrete] // CHECK:STDOUT: %F2.deb: %F2.type.c10 = struct_value () [concrete] // CHECK:STDOUT: %F3.type: type = fn_type @F3 [concrete] // CHECK:STDOUT: %F3: %F3.type = struct_value () [concrete] @@ -3262,10 +3262,10 @@ base class NonGenericDerived { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %F1.type: type = fn_type @F1, @GenericBase(%T.loc4_24.2) [symbolic = %F1.type (constants.%F1.type.2af)] // CHECK:STDOUT: %F1: @GenericBase.%F1.type (%F1.type.2af) = struct_value () [symbolic = %F1 (constants.%F1.80a)] -// CHECK:STDOUT: %F2.type: type = fn_type @F2.1, @GenericBase(%T.loc4_24.2) [symbolic = %F2.type (constants.%F2.type.2ca)] +// CHECK:STDOUT: %F2.type: type = fn_type @F2.loc6, @GenericBase(%T.loc4_24.2) [symbolic = %F2.type (constants.%F2.type.2ca)] // CHECK:STDOUT: %F2: @GenericBase.%F2.type (%F2.type.2ca) = struct_value () [symbolic = %F2 (constants.%F2.414)] // CHECK:STDOUT: %F1.specific_fn.loc7_1.2: = specific_function %F1, @F1(%T.loc4_24.2) [symbolic = %F1.specific_fn.loc7_1.2 (constants.%F1.specific_fn.aea)] -// CHECK:STDOUT: %F2.specific_fn.loc7_1.2: = specific_function %F2, @F2.1(%T.loc4_24.2) [symbolic = %F2.specific_fn.loc7_1.2 (constants.%F2.specific_fn.758)] +// CHECK:STDOUT: %F2.specific_fn.loc7_1.2: = specific_function %F2, @F2.loc6(%T.loc4_24.2) [symbolic = %F2.specific_fn.loc7_1.2 (constants.%F2.specific_fn.758)] // CHECK:STDOUT: %vtable_ptr.loc7_1.2: ref %ptr.454 = vtable_ptr @GenericBase.vtable, @GenericBase(%T.loc4_24.2) [symbolic = %vtable_ptr.loc7_1.2 (constants.%GenericBase.vtable_ptr.e41)] // CHECK:STDOUT: // CHECK:STDOUT: class { @@ -3280,19 +3280,19 @@ base class NonGenericDerived { // CHECK:STDOUT: } // CHECK:STDOUT: %self: @F1.%GenericBase (%GenericBase.018) = bind_name self, %self.param // CHECK:STDOUT: } -// CHECK:STDOUT: %F2.decl: @GenericBase.%F2.type (%F2.type.2ca) = fn_decl @F2.1 [symbolic = @GenericBase.%F2 (constants.%F2.414)] { -// CHECK:STDOUT: %self.patt: @F2.1.%pattern_type (%pattern_type.34e) = binding_pattern self [concrete] -// CHECK:STDOUT: %self.param_patt: @F2.1.%pattern_type (%pattern_type.34e) = value_param_pattern %self.patt, call_param0 [concrete] +// CHECK:STDOUT: %F2.decl: @GenericBase.%F2.type (%F2.type.2ca) = fn_decl @F2.loc6 [symbolic = @GenericBase.%F2 (constants.%F2.414)] { +// CHECK:STDOUT: %self.patt: @F2.loc6.%pattern_type (%pattern_type.34e) = binding_pattern self [concrete] +// CHECK:STDOUT: %self.param_patt: @F2.loc6.%pattern_type (%pattern_type.34e) = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %self.param: @F2.1.%GenericBase (%GenericBase.018) = value_param call_param0 +// CHECK:STDOUT: %self.param: @F2.loc6.%GenericBase (%GenericBase.018) = value_param call_param0 // CHECK:STDOUT: %.loc6_23.1: type = splice_block %Self.ref [symbolic = %GenericBase (constants.%GenericBase.018)] { // CHECK:STDOUT: %.loc6_23.2: type = specific_constant constants.%GenericBase.018, @GenericBase(constants.%T) [symbolic = %GenericBase (constants.%GenericBase.018)] // CHECK:STDOUT: %Self.ref: type = name_ref Self, %.loc6_23.2 [symbolic = %GenericBase (constants.%GenericBase.018)] // CHECK:STDOUT: } -// CHECK:STDOUT: %self: @F2.1.%GenericBase (%GenericBase.018) = bind_name self, %self.param +// CHECK:STDOUT: %self: @F2.loc6.%GenericBase (%GenericBase.018) = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %F1.specific_fn.loc7_1.1: = specific_function %F1.decl, @F1(constants.%T) [symbolic = %F1.specific_fn.loc7_1.2 (constants.%F1.specific_fn.aea)] -// CHECK:STDOUT: %F2.specific_fn.loc7_1.1: = specific_function %F2.decl, @F2.1(constants.%T) [symbolic = %F2.specific_fn.loc7_1.2 (constants.%F2.specific_fn.758)] +// CHECK:STDOUT: %F2.specific_fn.loc7_1.1: = specific_function %F2.decl, @F2.loc6(constants.%T) [symbolic = %F2.specific_fn.loc7_1.2 (constants.%F2.specific_fn.758)] // CHECK:STDOUT: %vtable_ptr.loc7_1.1: ref %ptr.454 = vtable_ptr @GenericBase.vtable, @GenericBase(constants.%T) [symbolic = %vtable_ptr.loc7_1.2 (constants.%GenericBase.vtable_ptr.e41)] // CHECK:STDOUT: %struct_type.vptr: type = struct_type {.: %ptr.454} [concrete = constants.%struct_type.vptr] // CHECK:STDOUT: %complete_type: = complete_type_witness %struct_type.vptr [concrete = constants.%complete_type.513] @@ -3313,7 +3313,7 @@ base class NonGenericDerived { // CHECK:STDOUT: %T1.ref: type = name_ref T1, file.%T1.decl [concrete = constants.%T1] // CHECK:STDOUT: %GenericBase: type = class_type @GenericBase, @GenericBase(constants.%T1) [concrete = constants.%GenericBase.f84] // CHECK:STDOUT: %.loc12: %NonGenericDerived.elem = base_decl %GenericBase, element0 [concrete] -// CHECK:STDOUT: %F2.decl: %F2.type.c10 = fn_decl @F2.2 [concrete = constants.%F2.deb] { +// CHECK:STDOUT: %F2.decl: %F2.type.c10 = fn_decl @F2.loc13 [concrete = constants.%F2.deb] { // CHECK:STDOUT: %self.patt: %pattern_type.5fc = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.5fc = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -3370,7 +3370,7 @@ base class NonGenericDerived { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic virtual fn @F2.1(@GenericBase.%T.loc4_24.1: type) { +// CHECK:STDOUT: generic virtual fn @F2.loc6(@GenericBase.%T.loc4_24.1: type) { // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic = %T (constants.%T)] // CHECK:STDOUT: %GenericBase: type = class_type @GenericBase, @GenericBase(%T) [symbolic = %GenericBase (constants.%GenericBase.018)] // CHECK:STDOUT: %pattern_type: type = pattern_type %GenericBase [symbolic = %pattern_type (constants.%pattern_type.34e)] @@ -3378,13 +3378,13 @@ base class NonGenericDerived { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type %GenericBase [symbolic = %require_complete (constants.%require_complete)] // CHECK:STDOUT: -// CHECK:STDOUT: virtual fn(%self.param: @F2.1.%GenericBase (%GenericBase.018)) { +// CHECK:STDOUT: virtual fn(%self.param: @F2.loc6.%GenericBase (%GenericBase.018)) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl fn @F2.2(%self.param: %NonGenericDerived) { +// CHECK:STDOUT: impl fn @F2.loc13(%self.param: %NonGenericDerived) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -3416,7 +3416,7 @@ base class NonGenericDerived { // CHECK:STDOUT: %require_complete => constants.%require_complete // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F2.1(constants.%T) { +// CHECK:STDOUT: specific @F2.loc6(constants.%T) { // CHECK:STDOUT: %T => constants.%T // CHECK:STDOUT: %GenericBase => constants.%GenericBase.018 // CHECK:STDOUT: %pattern_type => constants.%pattern_type.34e @@ -3447,7 +3447,7 @@ base class NonGenericDerived { // CHECK:STDOUT: %require_complete => constants.%complete_type.513 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F2.1(constants.%T1) { +// CHECK:STDOUT: specific @F2.loc6(constants.%T1) { // CHECK:STDOUT: %T => constants.%T1 // CHECK:STDOUT: %GenericBase => constants.%GenericBase.f84 // CHECK:STDOUT: %pattern_type => constants.%pattern_type.7a9 diff --git a/toolchain/check/testdata/facet/call_combined_impl_witness.carbon b/toolchain/check/testdata/facet/call_combined_impl_witness.carbon index 783c47ce59ad..0834e2f2bb8d 100644 --- a/toolchain/check/testdata/facet/call_combined_impl_witness.carbon +++ b/toolchain/check/testdata/facet/call_combined_impl_witness.carbon @@ -52,14 +52,14 @@ fn F() { // CHECK:STDOUT: %Self.193: %Empty.type = bind_symbolic_name Self, 0 [symbolic] // CHECK:STDOUT: %A.type: type = facet_type <@A> [concrete] // CHECK:STDOUT: %Self.31d: %A.type = bind_symbolic_name Self, 0 [symbolic] -// CHECK:STDOUT: %AA.type.b97: type = fn_type @AA.1 [concrete] +// CHECK:STDOUT: %AA.type.b97: type = fn_type @AA.loc18 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %AA.c3a: %AA.type.b97 = struct_value () [concrete] // CHECK:STDOUT: %A.assoc_type: type = assoc_entity_type @A [concrete] // CHECK:STDOUT: %assoc0.6e7: %A.assoc_type = assoc_entity element0, @A.%AA.decl [concrete] // CHECK:STDOUT: %B.type: type = facet_type <@B> [concrete] // CHECK:STDOUT: %Self.783: %B.type = bind_symbolic_name Self, 0 [symbolic] -// CHECK:STDOUT: %BB.type.64d: type = fn_type @BB.1 [concrete] +// CHECK:STDOUT: %BB.type.64d: type = fn_type @BB.loc21 [concrete] // CHECK:STDOUT: %BB.11b: %BB.type.64d = struct_value () [concrete] // CHECK:STDOUT: %B.assoc_type: type = assoc_entity_type @B [concrete] // CHECK:STDOUT: %assoc0.a29: %B.assoc_type = assoc_entity element0, @B.%BB.decl [concrete] @@ -68,11 +68,11 @@ fn F() { // CHECK:STDOUT: %complete_type.357: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %Empty.impl_witness: = impl_witness file.%Empty.impl_witness_table [concrete] // CHECK:STDOUT: %A.impl_witness: = impl_witness file.%A.impl_witness_table [concrete] -// CHECK:STDOUT: %AA.type.c29: type = fn_type @AA.2 [concrete] +// CHECK:STDOUT: %AA.type.c29: type = fn_type @AA.loc27 [concrete] // CHECK:STDOUT: %AA.95d: %AA.type.c29 = struct_value () [concrete] // CHECK:STDOUT: %A.facet.66c: %A.type = facet_value %C, (%A.impl_witness) [concrete] // CHECK:STDOUT: %B.impl_witness: = impl_witness file.%B.impl_witness_table [concrete] -// CHECK:STDOUT: %BB.type.24d: type = fn_type @BB.2 [concrete] +// CHECK:STDOUT: %BB.type.24d: type = fn_type @BB.loc30 [concrete] // CHECK:STDOUT: %BB.fe8: %BB.type.24d = struct_value () [concrete] // CHECK:STDOUT: %B.facet.82f: %B.type = facet_value %C, (%B.impl_witness) [concrete] // CHECK:STDOUT: %BitAndWith.type.f2e: type = generic_interface_type @BitAndWith [concrete] @@ -99,12 +99,12 @@ fn F() { // CHECK:STDOUT: %A.facet.487: %A.type = facet_value %T.as_type, (%A.lookup_impl_witness) [symbolic] // CHECK:STDOUT: %.fde: type = fn_type_with_self_type %AA.type.b97, %A.facet.487 [symbolic] // CHECK:STDOUT: %impl.elem0.de2: %.fde = impl_witness_access %A.lookup_impl_witness, element0 [symbolic] -// CHECK:STDOUT: %specific_impl_fn.086: = specific_impl_function %impl.elem0.de2, @AA.1(%A.facet.487) [symbolic] +// CHECK:STDOUT: %specific_impl_fn.086: = specific_impl_function %impl.elem0.de2, @AA.loc18(%A.facet.487) [symbolic] // CHECK:STDOUT: %B.lookup_impl_witness: = lookup_impl_witness %T.2df, @B [symbolic] // CHECK:STDOUT: %B.facet.8d1: %B.type = facet_value %T.as_type, (%B.lookup_impl_witness) [symbolic] // CHECK:STDOUT: %.368: type = fn_type_with_self_type %BB.type.64d, %B.facet.8d1 [symbolic] // CHECK:STDOUT: %impl.elem0.43b: %.368 = impl_witness_access %B.lookup_impl_witness, element0 [symbolic] -// CHECK:STDOUT: %specific_impl_fn.573: = specific_impl_function %impl.elem0.43b, @BB.1(%B.facet.8d1) [symbolic] +// CHECK:STDOUT: %specific_impl_fn.573: = specific_impl_function %impl.elem0.43b, @BB.loc21(%B.facet.8d1) [symbolic] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: %C.val: %C = struct_value () [concrete] @@ -210,7 +210,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: interface @A { // CHECK:STDOUT: %Self: %A.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.31d] -// CHECK:STDOUT: %AA.decl: %AA.type.b97 = fn_decl @AA.1 [concrete = constants.%AA.c3a] {} {} +// CHECK:STDOUT: %AA.decl: %AA.type.b97 = fn_decl @AA.loc18 [concrete = constants.%AA.c3a] {} {} // CHECK:STDOUT: %assoc0: %A.assoc_type = assoc_entity element0, %AA.decl [concrete = constants.%assoc0.6e7] // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -222,7 +222,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: interface @B { // CHECK:STDOUT: %Self: %B.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.783] -// CHECK:STDOUT: %BB.decl: %BB.type.64d = fn_decl @BB.1 [concrete = constants.%BB.11b] {} {} +// CHECK:STDOUT: %BB.decl: %BB.type.64d = fn_decl @BB.loc21 [concrete = constants.%BB.11b] {} {} // CHECK:STDOUT: %assoc0: %B.assoc_type = assoc_entity element0, %BB.decl [concrete = constants.%assoc0.a29] // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -238,7 +238,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @A.impl: %C.ref as %A.ref { -// CHECK:STDOUT: %AA.decl: %AA.type.c29 = fn_decl @AA.2 [concrete = constants.%AA.95d] {} {} +// CHECK:STDOUT: %AA.decl: %AA.type.c29 = fn_decl @AA.loc27 [concrete = constants.%AA.95d] {} {} // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .AA = %AA.decl @@ -246,7 +246,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @B.impl: %C.ref as %B.ref { -// CHECK:STDOUT: %BB.decl: %BB.type.24d = fn_decl @BB.2 [concrete = constants.%BB.fe8] {} {} +// CHECK:STDOUT: %BB.decl: %BB.type.24d = fn_decl @BB.loc30 [concrete = constants.%BB.fe8] {} {} // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .BB = %BB.decl @@ -262,20 +262,20 @@ fn F() { // CHECK:STDOUT: .Self = constants.%C // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @AA.1(@A.%Self: %A.type) { +// CHECK:STDOUT: generic fn @AA.loc18(@A.%Self: %A.type) { // CHECK:STDOUT: fn(); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @BB.1(@B.%Self: %B.type) { +// CHECK:STDOUT: generic fn @BB.loc21(@B.%Self: %B.type) { // CHECK:STDOUT: fn(); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @AA.2() { +// CHECK:STDOUT: fn @AA.loc27() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @BB.2() { +// CHECK:STDOUT: fn @BB.loc30() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -291,12 +291,12 @@ fn F() { // CHECK:STDOUT: %A.facet.loc34: %A.type = facet_value %T.as_type.loc33_28.2, (%A.lookup_impl_witness) [symbolic = %A.facet.loc34 (constants.%A.facet.487)] // CHECK:STDOUT: %.loc34_4.2: type = fn_type_with_self_type constants.%AA.type.b97, %A.facet.loc34 [symbolic = %.loc34_4.2 (constants.%.fde)] // CHECK:STDOUT: %impl.elem0.loc34_4.2: @G.%.loc34_4.2 (%.fde) = impl_witness_access %A.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc34_4.2 (constants.%impl.elem0.de2)] -// CHECK:STDOUT: %specific_impl_fn.loc34_4.2: = specific_impl_function %impl.elem0.loc34_4.2, @AA.1(%A.facet.loc34) [symbolic = %specific_impl_fn.loc34_4.2 (constants.%specific_impl_fn.086)] +// CHECK:STDOUT: %specific_impl_fn.loc34_4.2: = specific_impl_function %impl.elem0.loc34_4.2, @AA.loc18(%A.facet.loc34) [symbolic = %specific_impl_fn.loc34_4.2 (constants.%specific_impl_fn.086)] // CHECK:STDOUT: %B.lookup_impl_witness: = lookup_impl_witness %T.loc33_6.2, @B [symbolic = %B.lookup_impl_witness (constants.%B.lookup_impl_witness)] // CHECK:STDOUT: %B.facet.loc35: %B.type = facet_value %T.as_type.loc33_28.2, (%B.lookup_impl_witness) [symbolic = %B.facet.loc35 (constants.%B.facet.8d1)] // CHECK:STDOUT: %.loc35_4.2: type = fn_type_with_self_type constants.%BB.type.64d, %B.facet.loc35 [symbolic = %.loc35_4.2 (constants.%.368)] // CHECK:STDOUT: %impl.elem0.loc35_4.2: @G.%.loc35_4.2 (%.368) = impl_witness_access %B.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc35_4.2 (constants.%impl.elem0.43b)] -// CHECK:STDOUT: %specific_impl_fn.loc35_4.2: = specific_impl_function %impl.elem0.loc35_4.2, @BB.1(%B.facet.loc35) [symbolic = %specific_impl_fn.loc35_4.2 (constants.%specific_impl_fn.573)] +// CHECK:STDOUT: %specific_impl_fn.loc35_4.2: = specific_impl_function %impl.elem0.loc35_4.2, @BB.loc21(%B.facet.loc35) [symbolic = %specific_impl_fn.loc35_4.2 (constants.%specific_impl_fn.573)] // CHECK:STDOUT: // CHECK:STDOUT: fn(%t.param: @G.%T.as_type.loc33_28.2 (%T.as_type)) { // CHECK:STDOUT: !entry: @@ -305,28 +305,28 @@ fn F() { // CHECK:STDOUT: %T.as_type.loc34: type = facet_access_type constants.%T.2df [symbolic = %T.as_type.loc33_28.2 (constants.%T.as_type)] // CHECK:STDOUT: %.loc34_4.1: type = converted constants.%T.2df, %T.as_type.loc34 [symbolic = %T.as_type.loc33_28.2 (constants.%T.as_type)] // CHECK:STDOUT: %impl.elem0.loc34_4.1: @G.%.loc34_4.2 (%.fde) = impl_witness_access constants.%A.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc34_4.2 (constants.%impl.elem0.de2)] -// CHECK:STDOUT: %specific_impl_fn.loc34_4.1: = specific_impl_function %impl.elem0.loc34_4.1, @AA.1(constants.%A.facet.487) [symbolic = %specific_impl_fn.loc34_4.2 (constants.%specific_impl_fn.086)] +// CHECK:STDOUT: %specific_impl_fn.loc34_4.1: = specific_impl_function %impl.elem0.loc34_4.1, @AA.loc18(constants.%A.facet.487) [symbolic = %specific_impl_fn.loc34_4.2 (constants.%specific_impl_fn.086)] // CHECK:STDOUT: %.loc34_8: init %empty_tuple.type = call %specific_impl_fn.loc34_4.1() // CHECK:STDOUT: %t.ref.loc35: @G.%T.as_type.loc33_28.2 (%T.as_type) = name_ref t, %t // CHECK:STDOUT: %BB.ref.loc35: %B.assoc_type = name_ref BB, @B.%assoc0 [concrete = constants.%assoc0.a29] // CHECK:STDOUT: %T.as_type.loc35: type = facet_access_type constants.%T.2df [symbolic = %T.as_type.loc33_28.2 (constants.%T.as_type)] // CHECK:STDOUT: %.loc35_4.1: type = converted constants.%T.2df, %T.as_type.loc35 [symbolic = %T.as_type.loc33_28.2 (constants.%T.as_type)] // CHECK:STDOUT: %impl.elem0.loc35_4.1: @G.%.loc35_4.2 (%.368) = impl_witness_access constants.%B.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc35_4.2 (constants.%impl.elem0.43b)] -// CHECK:STDOUT: %specific_impl_fn.loc35_4.1: = specific_impl_function %impl.elem0.loc35_4.1, @BB.1(constants.%B.facet.8d1) [symbolic = %specific_impl_fn.loc35_4.2 (constants.%specific_impl_fn.573)] +// CHECK:STDOUT: %specific_impl_fn.loc35_4.1: = specific_impl_function %impl.elem0.loc35_4.1, @BB.loc21(constants.%B.facet.8d1) [symbolic = %specific_impl_fn.loc35_4.2 (constants.%specific_impl_fn.573)] // CHECK:STDOUT: %.loc35_8: init %empty_tuple.type = call %specific_impl_fn.loc35_4.1() // CHECK:STDOUT: %T.ref.loc37: %facet_type.242 = name_ref T, %T.loc33_6.1 [symbolic = %T.loc33_6.2 (constants.%T.2df)] // CHECK:STDOUT: %AA.ref.loc37: %A.assoc_type = name_ref AA, @A.%assoc0 [concrete = constants.%assoc0.6e7] // CHECK:STDOUT: %T.as_type.loc37: type = facet_access_type %T.ref.loc37 [symbolic = %T.as_type.loc33_28.2 (constants.%T.as_type)] // CHECK:STDOUT: %.loc37_4: type = converted %T.ref.loc37, %T.as_type.loc37 [symbolic = %T.as_type.loc33_28.2 (constants.%T.as_type)] // CHECK:STDOUT: %impl.elem0.loc37: @G.%.loc34_4.2 (%.fde) = impl_witness_access constants.%A.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc34_4.2 (constants.%impl.elem0.de2)] -// CHECK:STDOUT: %specific_impl_fn.loc37: = specific_impl_function %impl.elem0.loc37, @AA.1(constants.%A.facet.487) [symbolic = %specific_impl_fn.loc34_4.2 (constants.%specific_impl_fn.086)] +// CHECK:STDOUT: %specific_impl_fn.loc37: = specific_impl_function %impl.elem0.loc37, @AA.loc18(constants.%A.facet.487) [symbolic = %specific_impl_fn.loc34_4.2 (constants.%specific_impl_fn.086)] // CHECK:STDOUT: %.loc37_8: init %empty_tuple.type = call %specific_impl_fn.loc37() // CHECK:STDOUT: %T.ref.loc38: %facet_type.242 = name_ref T, %T.loc33_6.1 [symbolic = %T.loc33_6.2 (constants.%T.2df)] // CHECK:STDOUT: %BB.ref.loc38: %B.assoc_type = name_ref BB, @B.%assoc0 [concrete = constants.%assoc0.a29] // CHECK:STDOUT: %T.as_type.loc38: type = facet_access_type %T.ref.loc38 [symbolic = %T.as_type.loc33_28.2 (constants.%T.as_type)] // CHECK:STDOUT: %.loc38_4: type = converted %T.ref.loc38, %T.as_type.loc38 [symbolic = %T.as_type.loc33_28.2 (constants.%T.as_type)] // CHECK:STDOUT: %impl.elem0.loc38: @G.%.loc35_4.2 (%.368) = impl_witness_access constants.%B.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc35_4.2 (constants.%impl.elem0.43b)] -// CHECK:STDOUT: %specific_impl_fn.loc38: = specific_impl_function %impl.elem0.loc38, @BB.1(constants.%B.facet.8d1) [symbolic = %specific_impl_fn.loc35_4.2 (constants.%specific_impl_fn.573)] +// CHECK:STDOUT: %specific_impl_fn.loc38: = specific_impl_function %impl.elem0.loc38, @BB.loc21(constants.%B.facet.8d1) [symbolic = %specific_impl_fn.loc35_4.2 (constants.%specific_impl_fn.573)] // CHECK:STDOUT: %.loc38_8: init %empty_tuple.type = call %specific_impl_fn.loc38() // CHECK:STDOUT: %T.ref.loc40: %facet_type.242 = name_ref T, %T.loc33_6.1 [symbolic = %T.loc33_6.2 (constants.%T.2df)] // CHECK:STDOUT: %A.ref.loc40: type = name_ref A, file.%A.decl [concrete = constants.%A.type] @@ -335,7 +335,7 @@ fn F() { // CHECK:STDOUT: %A.facet.loc40: %A.type = facet_value %T.as_type.loc40, (constants.%A.lookup_impl_witness) [symbolic = %A.facet.loc34 (constants.%A.facet.487)] // CHECK:STDOUT: %.loc40_4: %A.type = converted %T.ref.loc40, %A.facet.loc40 [symbolic = %A.facet.loc34 (constants.%A.facet.487)] // CHECK:STDOUT: %impl.elem0.loc40: @G.%.loc34_4.2 (%.fde) = impl_witness_access constants.%A.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc34_4.2 (constants.%impl.elem0.de2)] -// CHECK:STDOUT: %specific_impl_fn.loc40: = specific_impl_function %impl.elem0.loc40, @AA.1(constants.%A.facet.487) [symbolic = %specific_impl_fn.loc34_4.2 (constants.%specific_impl_fn.086)] +// CHECK:STDOUT: %specific_impl_fn.loc40: = specific_impl_function %impl.elem0.loc40, @AA.loc18(constants.%A.facet.487) [symbolic = %specific_impl_fn.loc34_4.2 (constants.%specific_impl_fn.086)] // CHECK:STDOUT: %.loc40_12: init %empty_tuple.type = call %specific_impl_fn.loc40() // CHECK:STDOUT: %T.ref.loc41: %facet_type.242 = name_ref T, %T.loc33_6.1 [symbolic = %T.loc33_6.2 (constants.%T.2df)] // CHECK:STDOUT: %B.ref.loc41: type = name_ref B, file.%B.decl [concrete = constants.%B.type] @@ -344,7 +344,7 @@ fn F() { // CHECK:STDOUT: %B.facet.loc41: %B.type = facet_value %T.as_type.loc41, (constants.%B.lookup_impl_witness) [symbolic = %B.facet.loc35 (constants.%B.facet.8d1)] // CHECK:STDOUT: %.loc41_4: %B.type = converted %T.ref.loc41, %B.facet.loc41 [symbolic = %B.facet.loc35 (constants.%B.facet.8d1)] // CHECK:STDOUT: %impl.elem0.loc41: @G.%.loc35_4.2 (%.368) = impl_witness_access constants.%B.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc35_4.2 (constants.%impl.elem0.43b)] -// CHECK:STDOUT: %specific_impl_fn.loc41: = specific_impl_function %impl.elem0.loc41, @BB.1(constants.%B.facet.8d1) [symbolic = %specific_impl_fn.loc35_4.2 (constants.%specific_impl_fn.573)] +// CHECK:STDOUT: %specific_impl_fn.loc41: = specific_impl_function %impl.elem0.loc41, @BB.loc21(constants.%B.facet.8d1) [symbolic = %specific_impl_fn.loc35_4.2 (constants.%specific_impl_fn.573)] // CHECK:STDOUT: %.loc41_12: init %empty_tuple.type = call %specific_impl_fn.loc41() // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -374,13 +374,13 @@ fn F() { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @AA.1(constants.%Self.31d) {} +// CHECK:STDOUT: specific @AA.loc18(constants.%Self.31d) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @BB.1(constants.%Self.783) {} +// CHECK:STDOUT: specific @BB.loc21(constants.%Self.783) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @AA.1(constants.%A.facet.66c) {} +// CHECK:STDOUT: specific @AA.loc18(constants.%A.facet.66c) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @BB.1(constants.%B.facet.82f) {} +// CHECK:STDOUT: specific @BB.loc21(constants.%B.facet.82f) {} // CHECK:STDOUT: // CHECK:STDOUT: specific @G(constants.%T.2df) { // CHECK:STDOUT: %T.loc33_6.2 => constants.%T.2df @@ -388,9 +388,9 @@ fn F() { // CHECK:STDOUT: %pattern_type => constants.%pattern_type.9a0 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @AA.1(constants.%A.facet.487) {} +// CHECK:STDOUT: specific @AA.loc18(constants.%A.facet.487) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @BB.1(constants.%B.facet.8d1) {} +// CHECK:STDOUT: specific @BB.loc21(constants.%B.facet.8d1) {} // CHECK:STDOUT: // CHECK:STDOUT: specific @G(constants.%facet_value) { // CHECK:STDOUT: %T.loc33_6.2 => constants.%facet_value diff --git a/toolchain/check/testdata/facet/convert_class_type_to_generic_facet_value.carbon b/toolchain/check/testdata/facet/convert_class_type_to_generic_facet_value.carbon index 9f7bcd02631a..029bdf43a6d3 100644 --- a/toolchain/check/testdata/facet/convert_class_type_to_generic_facet_value.carbon +++ b/toolchain/check/testdata/facet/convert_class_type_to_generic_facet_value.carbon @@ -72,7 +72,7 @@ fn G() { // CHECK:STDOUT: %Generic.generic: %Generic.type.c21 = struct_value () [concrete] // CHECK:STDOUT: %Generic.type.91ccba.1: type = facet_type <@Generic, @Generic(%Scalar)> [symbolic] // CHECK:STDOUT: %Self.dee: %Generic.type.91ccba.1 = bind_symbolic_name Self, 1 [symbolic] -// CHECK:STDOUT: %F.type.f43: type = fn_type @F.1, @Generic(%Scalar) [symbolic] +// CHECK:STDOUT: %F.type.f43: type = fn_type @F.loc5, @Generic(%Scalar) [symbolic] // CHECK:STDOUT: %F.8a2: %F.type.f43 = struct_value () [symbolic] // CHECK:STDOUT: %Generic.assoc_type.0fd: type = assoc_entity_type @Generic, @Generic(%Scalar) [symbolic] // CHECK:STDOUT: %assoc0.296: %Generic.assoc_type.0fd = assoc_entity element0, @Generic.%F.decl [symbolic] @@ -82,12 +82,12 @@ fn G() { // CHECK:STDOUT: %ImplsGeneric: type = class_type @ImplsGeneric [concrete] // CHECK:STDOUT: %Generic.type.769: type = facet_type <@Generic, @Generic(%GenericParam)> [concrete] // CHECK:STDOUT: %Self.f84: %Generic.type.769 = bind_symbolic_name Self, 1 [symbolic] -// CHECK:STDOUT: %F.type.4cf: type = fn_type @F.1, @Generic(%GenericParam) [concrete] +// CHECK:STDOUT: %F.type.4cf: type = fn_type @F.loc5, @Generic(%GenericParam) [concrete] // CHECK:STDOUT: %F.118: %F.type.4cf = struct_value () [concrete] // CHECK:STDOUT: %Generic.assoc_type.713: type = assoc_entity_type @Generic, @Generic(%GenericParam) [concrete] // CHECK:STDOUT: %assoc0.9b7: %Generic.assoc_type.713 = assoc_entity element0, @Generic.%F.decl [concrete] // CHECK:STDOUT: %Generic.impl_witness: = impl_witness file.%Generic.impl_witness_table [concrete] -// CHECK:STDOUT: %F.type.17b: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.17b: type = fn_type @F.loc12 [concrete] // CHECK:STDOUT: %F.a56: %F.type.17b = struct_value () [concrete] // CHECK:STDOUT: %Generic.facet: %Generic.type.769 = facet_value %ImplsGeneric, (%Generic.impl_witness) [concrete] // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic] @@ -176,14 +176,14 @@ fn G() { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Generic.type: type = facet_type <@Generic, @Generic(%Scalar.loc4_19.2)> [symbolic = %Generic.type (constants.%Generic.type.91ccba.1)] // CHECK:STDOUT: %Self.2: @Generic.%Generic.type (%Generic.type.91ccba.1) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.dee)] -// CHECK:STDOUT: %F.type: type = fn_type @F.1, @Generic(%Scalar.loc4_19.2) [symbolic = %F.type (constants.%F.type.f43)] +// CHECK:STDOUT: %F.type: type = fn_type @F.loc5, @Generic(%Scalar.loc4_19.2) [symbolic = %F.type (constants.%F.type.f43)] // CHECK:STDOUT: %F: @Generic.%F.type (%F.type.f43) = struct_value () [symbolic = %F (constants.%F.8a2)] // CHECK:STDOUT: %Generic.assoc_type: type = assoc_entity_type @Generic, @Generic(%Scalar.loc4_19.2) [symbolic = %Generic.assoc_type (constants.%Generic.assoc_type.0fd)] // CHECK:STDOUT: %assoc0.loc5_9.2: @Generic.%Generic.assoc_type (%Generic.assoc_type.0fd) = assoc_entity element0, %F.decl [symbolic = %assoc0.loc5_9.2 (constants.%assoc0.296)] // CHECK:STDOUT: // CHECK:STDOUT: interface { // CHECK:STDOUT: %Self.1: @Generic.%Generic.type (%Generic.type.91ccba.1) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.dee)] -// CHECK:STDOUT: %F.decl: @Generic.%F.type (%F.type.f43) = fn_decl @F.1 [symbolic = @Generic.%F (constants.%F.8a2)] {} {} +// CHECK:STDOUT: %F.decl: @Generic.%F.type (%F.type.f43) = fn_decl @F.loc5 [symbolic = @Generic.%F (constants.%F.8a2)] {} {} // CHECK:STDOUT: %assoc0.loc5_9.1: @Generic.%Generic.assoc_type (%Generic.assoc_type.0fd) = assoc_entity element0, %F.decl [symbolic = %assoc0.loc5_9.2 (constants.%assoc0.296)] // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -194,7 +194,7 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @Generic.impl: %ImplsGeneric.ref as %Generic.type { -// CHECK:STDOUT: %F.decl: %F.type.17b = fn_decl @F.2 [concrete = constants.%F.a56] {} {} +// CHECK:STDOUT: %F.decl: %F.type.17b = fn_decl @F.loc12 [concrete = constants.%F.a56] {} {} // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .F = %F.decl @@ -219,11 +219,11 @@ fn G() { // CHECK:STDOUT: .Self = constants.%ImplsGeneric // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.1(@Generic.%Scalar.loc4_19.1: type, @Generic.%Self.1: @Generic.%Generic.type (%Generic.type.91ccba.1)) { +// CHECK:STDOUT: generic fn @F.loc5(@Generic.%Scalar.loc4_19.1: type, @Generic.%Self.1: @Generic.%Generic.type (%Generic.type.91ccba.1)) { // CHECK:STDOUT: fn(); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2() { +// CHECK:STDOUT: fn @F.loc12() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -290,7 +290,7 @@ fn G() { // CHECK:STDOUT: %Scalar.loc4_19.2 => constants.%Scalar // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%Scalar, constants.%Self.dee) {} +// CHECK:STDOUT: specific @F.loc5(constants.%Scalar, constants.%Self.dee) {} // CHECK:STDOUT: // CHECK:STDOUT: specific @Generic(constants.%GenericParam) { // CHECK:STDOUT: %Scalar.loc4_19.2 => constants.%GenericParam @@ -304,7 +304,7 @@ fn G() { // CHECK:STDOUT: %assoc0.loc5_9.2 => constants.%assoc0.9b7 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%GenericParam, constants.%Generic.facet) {} +// CHECK:STDOUT: specific @F.loc5(constants.%GenericParam, constants.%Generic.facet) {} // CHECK:STDOUT: // CHECK:STDOUT: specific @Generic(constants.%T) { // CHECK:STDOUT: %Scalar.loc4_19.2 => constants.%T @@ -355,7 +355,7 @@ fn G() { // CHECK:STDOUT: %Generic.generic: %Generic.type.c21 = struct_value () [concrete] // CHECK:STDOUT: %Generic.type.91ccba.1: type = facet_type <@Generic, @Generic(%Scalar)> [symbolic] // CHECK:STDOUT: %Self.dee: %Generic.type.91ccba.1 = bind_symbolic_name Self, 1 [symbolic] -// CHECK:STDOUT: %F.type.f43: type = fn_type @F.1, @Generic(%Scalar) [symbolic] +// CHECK:STDOUT: %F.type.f43: type = fn_type @F.loc5, @Generic(%Scalar) [symbolic] // CHECK:STDOUT: %F.8a2: %F.type.f43 = struct_value () [symbolic] // CHECK:STDOUT: %Generic.assoc_type.0fd: type = assoc_entity_type @Generic, @Generic(%Scalar) [symbolic] // CHECK:STDOUT: %assoc0.296: %Generic.assoc_type.0fd = assoc_entity element0, @Generic.%F.decl [symbolic] @@ -365,12 +365,12 @@ fn G() { // CHECK:STDOUT: %ImplsGeneric: type = class_type @ImplsGeneric [concrete] // CHECK:STDOUT: %Generic.type.769: type = facet_type <@Generic, @Generic(%GenericParam)> [concrete] // CHECK:STDOUT: %Self.f84: %Generic.type.769 = bind_symbolic_name Self, 1 [symbolic] -// CHECK:STDOUT: %F.type.4cf: type = fn_type @F.1, @Generic(%GenericParam) [concrete] +// CHECK:STDOUT: %F.type.4cf: type = fn_type @F.loc5, @Generic(%GenericParam) [concrete] // CHECK:STDOUT: %F.118: %F.type.4cf = struct_value () [concrete] // CHECK:STDOUT: %Generic.assoc_type.713: type = assoc_entity_type @Generic, @Generic(%GenericParam) [concrete] // CHECK:STDOUT: %assoc0.9b7: %Generic.assoc_type.713 = assoc_entity element0, @Generic.%F.decl [concrete] // CHECK:STDOUT: %Generic.impl_witness: = impl_witness file.%Generic.impl_witness_table [concrete] -// CHECK:STDOUT: %F.type.17b: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.17b: type = fn_type @F.loc12 [concrete] // CHECK:STDOUT: %F.a56: %F.type.17b = struct_value () [concrete] // CHECK:STDOUT: %Generic.facet: %Generic.type.769 = facet_value %ImplsGeneric, (%Generic.impl_witness) [concrete] // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic] @@ -454,14 +454,14 @@ fn G() { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Generic.type: type = facet_type <@Generic, @Generic(%Scalar.loc4_19.2)> [symbolic = %Generic.type (constants.%Generic.type.91ccba.1)] // CHECK:STDOUT: %Self.2: @Generic.%Generic.type (%Generic.type.91ccba.1) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.dee)] -// CHECK:STDOUT: %F.type: type = fn_type @F.1, @Generic(%Scalar.loc4_19.2) [symbolic = %F.type (constants.%F.type.f43)] +// CHECK:STDOUT: %F.type: type = fn_type @F.loc5, @Generic(%Scalar.loc4_19.2) [symbolic = %F.type (constants.%F.type.f43)] // CHECK:STDOUT: %F: @Generic.%F.type (%F.type.f43) = struct_value () [symbolic = %F (constants.%F.8a2)] // CHECK:STDOUT: %Generic.assoc_type: type = assoc_entity_type @Generic, @Generic(%Scalar.loc4_19.2) [symbolic = %Generic.assoc_type (constants.%Generic.assoc_type.0fd)] // CHECK:STDOUT: %assoc0.loc5_9.2: @Generic.%Generic.assoc_type (%Generic.assoc_type.0fd) = assoc_entity element0, %F.decl [symbolic = %assoc0.loc5_9.2 (constants.%assoc0.296)] // CHECK:STDOUT: // CHECK:STDOUT: interface { // CHECK:STDOUT: %Self.1: @Generic.%Generic.type (%Generic.type.91ccba.1) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.dee)] -// CHECK:STDOUT: %F.decl: @Generic.%F.type (%F.type.f43) = fn_decl @F.1 [symbolic = @Generic.%F (constants.%F.8a2)] {} {} +// CHECK:STDOUT: %F.decl: @Generic.%F.type (%F.type.f43) = fn_decl @F.loc5 [symbolic = @Generic.%F (constants.%F.8a2)] {} {} // CHECK:STDOUT: %assoc0.loc5_9.1: @Generic.%Generic.assoc_type (%Generic.assoc_type.0fd) = assoc_entity element0, %F.decl [symbolic = %assoc0.loc5_9.2 (constants.%assoc0.296)] // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -472,7 +472,7 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @Generic.impl: %ImplsGeneric.ref as %Generic.type { -// CHECK:STDOUT: %F.decl: %F.type.17b = fn_decl @F.2 [concrete = constants.%F.a56] {} {} +// CHECK:STDOUT: %F.decl: %F.type.17b = fn_decl @F.loc12 [concrete = constants.%F.a56] {} {} // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .F = %F.decl @@ -497,11 +497,11 @@ fn G() { // CHECK:STDOUT: .Self = constants.%ImplsGeneric // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.1(@Generic.%Scalar.loc4_19.1: type, @Generic.%Self.1: @Generic.%Generic.type (%Generic.type.91ccba.1)) { +// CHECK:STDOUT: generic fn @F.loc5(@Generic.%Scalar.loc4_19.1: type, @Generic.%Self.1: @Generic.%Generic.type (%Generic.type.91ccba.1)) { // CHECK:STDOUT: fn(); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2() { +// CHECK:STDOUT: fn @F.loc12() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -549,7 +549,7 @@ fn G() { // CHECK:STDOUT: %Scalar.loc4_19.2 => constants.%Scalar // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%Scalar, constants.%Self.dee) {} +// CHECK:STDOUT: specific @F.loc5(constants.%Scalar, constants.%Self.dee) {} // CHECK:STDOUT: // CHECK:STDOUT: specific @Generic(constants.%GenericParam) { // CHECK:STDOUT: %Scalar.loc4_19.2 => constants.%GenericParam @@ -563,7 +563,7 @@ fn G() { // CHECK:STDOUT: %assoc0.loc5_9.2 => constants.%assoc0.9b7 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%GenericParam, constants.%Generic.facet) {} +// CHECK:STDOUT: specific @F.loc5(constants.%GenericParam, constants.%Generic.facet) {} // CHECK:STDOUT: // CHECK:STDOUT: specific @Generic(constants.%T) { // CHECK:STDOUT: %Scalar.loc4_19.2 => constants.%T diff --git a/toolchain/check/testdata/facet/convert_class_value_to_generic_facet_value_value.carbon b/toolchain/check/testdata/facet/convert_class_value_to_generic_facet_value_value.carbon index bb4473827aed..ce4d4de8e66e 100644 --- a/toolchain/check/testdata/facet/convert_class_value_to_generic_facet_value_value.carbon +++ b/toolchain/check/testdata/facet/convert_class_value_to_generic_facet_value_value.carbon @@ -104,7 +104,7 @@ fn B() { // CHECK:STDOUT: %Generic.generic: %Generic.type.c21 = struct_value () [concrete] // CHECK:STDOUT: %Generic.type.91ccba.1: type = facet_type <@Generic, @Generic(%Scalar)> [symbolic] // CHECK:STDOUT: %Self.dee8d8.1: %Generic.type.91ccba.1 = bind_symbolic_name Self, 1 [symbolic] -// CHECK:STDOUT: %F.type.f439a9.1: type = fn_type @F.1, @Generic(%Scalar) [symbolic] +// CHECK:STDOUT: %F.type.f439a9.1: type = fn_type @F.loc5, @Generic(%Scalar) [symbolic] // CHECK:STDOUT: %F.8a2d67.1: %F.type.f439a9.1 = struct_value () [symbolic] // CHECK:STDOUT: %Generic.assoc_type.0fd877.1: type = assoc_entity_type @Generic, @Generic(%Scalar) [symbolic] // CHECK:STDOUT: %assoc0.2966cb.1: %Generic.assoc_type.0fd877.1 = assoc_entity element0, @Generic.%F.decl [symbolic] @@ -114,12 +114,12 @@ fn B() { // CHECK:STDOUT: %ImplsGeneric: type = class_type @ImplsGeneric [concrete] // CHECK:STDOUT: %Generic.type.769: type = facet_type <@Generic, @Generic(%GenericParam)> [concrete] // CHECK:STDOUT: %Self.f84: %Generic.type.769 = bind_symbolic_name Self, 1 [symbolic] -// CHECK:STDOUT: %F.type.4cf: type = fn_type @F.1, @Generic(%GenericParam) [concrete] +// CHECK:STDOUT: %F.type.4cf: type = fn_type @F.loc5, @Generic(%GenericParam) [concrete] // CHECK:STDOUT: %F.118: %F.type.4cf = struct_value () [concrete] // CHECK:STDOUT: %Generic.assoc_type.713: type = assoc_entity_type @Generic, @Generic(%GenericParam) [concrete] // CHECK:STDOUT: %assoc0.9b7: %Generic.assoc_type.713 = assoc_entity element0, @Generic.%F.decl [concrete] // CHECK:STDOUT: %Generic.impl_witness: = impl_witness file.%Generic.impl_witness_table [concrete] -// CHECK:STDOUT: %F.type.17b: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.17b: type = fn_type @F.loc12 [concrete] // CHECK:STDOUT: %F.a56: %F.type.17b = struct_value () [concrete] // CHECK:STDOUT: %Generic.facet.8ff: %Generic.type.769 = facet_value %ImplsGeneric, (%Generic.impl_witness) [concrete] // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic] @@ -134,7 +134,7 @@ fn B() { // CHECK:STDOUT: %require_complete.7b2: = require_complete_type %U.as_type [symbolic] // CHECK:STDOUT: %require_complete.4ae: = require_complete_type %T [symbolic] // CHECK:STDOUT: %Self.dee8d8.2: %Generic.type.91ccba.2 = bind_symbolic_name Self, 1 [symbolic] -// CHECK:STDOUT: %F.type.f439a9.2: type = fn_type @F.1, @Generic(%T) [symbolic] +// CHECK:STDOUT: %F.type.f439a9.2: type = fn_type @F.loc5, @Generic(%T) [symbolic] // CHECK:STDOUT: %F.8a2d67.2: %F.type.f439a9.2 = struct_value () [symbolic] // CHECK:STDOUT: %Generic.assoc_type.0fd877.2: type = assoc_entity_type @Generic, @Generic(%T) [symbolic] // CHECK:STDOUT: %assoc0.2966cb.2: %Generic.assoc_type.0fd877.2 = assoc_entity element0, @Generic.%F.decl [symbolic] @@ -143,7 +143,7 @@ fn B() { // CHECK:STDOUT: %Generic.facet.680: %Generic.type.91ccba.2 = facet_value %U.as_type, (%Generic.lookup_impl_witness) [symbolic] // CHECK:STDOUT: %.177: type = fn_type_with_self_type %F.type.f439a9.2, %Generic.facet.680 [symbolic] // CHECK:STDOUT: %impl.elem0: %.177 = impl_witness_access %Generic.lookup_impl_witness, element0 [symbolic] -// CHECK:STDOUT: %specific_impl_fn: = specific_impl_function %impl.elem0, @F.1(%T, %Generic.facet.680) [symbolic] +// CHECK:STDOUT: %specific_impl_fn: = specific_impl_function %impl.elem0, @F.loc5(%T, %Generic.facet.680) [symbolic] // CHECK:STDOUT: %G.type: type = fn_type @G [concrete] // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] // CHECK:STDOUT: %ImplsGeneric.val: %ImplsGeneric = struct_value () [concrete] @@ -234,14 +234,14 @@ fn B() { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Generic.type: type = facet_type <@Generic, @Generic(%Scalar.loc4_19.2)> [symbolic = %Generic.type (constants.%Generic.type.91ccba.1)] // CHECK:STDOUT: %Self.2: @Generic.%Generic.type (%Generic.type.91ccba.1) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.dee8d8.1)] -// CHECK:STDOUT: %F.type: type = fn_type @F.1, @Generic(%Scalar.loc4_19.2) [symbolic = %F.type (constants.%F.type.f439a9.1)] +// CHECK:STDOUT: %F.type: type = fn_type @F.loc5, @Generic(%Scalar.loc4_19.2) [symbolic = %F.type (constants.%F.type.f439a9.1)] // CHECK:STDOUT: %F: @Generic.%F.type (%F.type.f439a9.1) = struct_value () [symbolic = %F (constants.%F.8a2d67.1)] // CHECK:STDOUT: %Generic.assoc_type: type = assoc_entity_type @Generic, @Generic(%Scalar.loc4_19.2) [symbolic = %Generic.assoc_type (constants.%Generic.assoc_type.0fd877.1)] // CHECK:STDOUT: %assoc0.loc5_9.2: @Generic.%Generic.assoc_type (%Generic.assoc_type.0fd877.1) = assoc_entity element0, %F.decl [symbolic = %assoc0.loc5_9.2 (constants.%assoc0.2966cb.1)] // CHECK:STDOUT: // CHECK:STDOUT: interface { // CHECK:STDOUT: %Self.1: @Generic.%Generic.type (%Generic.type.91ccba.1) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.dee8d8.1)] -// CHECK:STDOUT: %F.decl: @Generic.%F.type (%F.type.f439a9.1) = fn_decl @F.1 [symbolic = @Generic.%F (constants.%F.8a2d67.1)] {} {} +// CHECK:STDOUT: %F.decl: @Generic.%F.type (%F.type.f439a9.1) = fn_decl @F.loc5 [symbolic = @Generic.%F (constants.%F.8a2d67.1)] {} {} // CHECK:STDOUT: %assoc0.loc5_9.1: @Generic.%Generic.assoc_type (%Generic.assoc_type.0fd877.1) = assoc_entity element0, %F.decl [symbolic = %assoc0.loc5_9.2 (constants.%assoc0.2966cb.1)] // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -252,7 +252,7 @@ fn B() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @Generic.impl: %ImplsGeneric.ref as %Generic.type { -// CHECK:STDOUT: %F.decl: %F.type.17b = fn_decl @F.2 [concrete = constants.%F.a56] {} {} +// CHECK:STDOUT: %F.decl: %F.type.17b = fn_decl @F.loc12 [concrete = constants.%F.a56] {} {} // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .F = %F.decl @@ -277,11 +277,11 @@ fn B() { // CHECK:STDOUT: .Self = constants.%ImplsGeneric // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.1(@Generic.%Scalar.loc4_19.1: type, @Generic.%Self.1: @Generic.%Generic.type (%Generic.type.91ccba.1)) { +// CHECK:STDOUT: generic fn @F.loc5(@Generic.%Scalar.loc4_19.1: type, @Generic.%Self.1: @Generic.%Generic.type (%Generic.type.91ccba.1)) { // CHECK:STDOUT: fn(); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2() { +// CHECK:STDOUT: fn @F.loc12() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -302,11 +302,11 @@ fn B() { // CHECK:STDOUT: %Generic.assoc_type: type = assoc_entity_type @Generic, @Generic(%T.loc15_22.2) [symbolic = %Generic.assoc_type (constants.%Generic.assoc_type.0fd877.2)] // CHECK:STDOUT: %assoc0: @CallGenericMethod.%Generic.assoc_type (%Generic.assoc_type.0fd877.2) = assoc_entity element0, @Generic.%F.decl [symbolic = %assoc0 (constants.%assoc0.2966cb.2)] // CHECK:STDOUT: %Generic.lookup_impl_witness: = lookup_impl_witness %U.loc15_32.2, @Generic, @Generic(%T.loc15_22.2) [symbolic = %Generic.lookup_impl_witness (constants.%Generic.lookup_impl_witness)] -// CHECK:STDOUT: %F.type: type = fn_type @F.1, @Generic(%T.loc15_22.2) [symbolic = %F.type (constants.%F.type.f439a9.2)] +// CHECK:STDOUT: %F.type: type = fn_type @F.loc5, @Generic(%T.loc15_22.2) [symbolic = %F.type (constants.%F.type.f439a9.2)] // CHECK:STDOUT: %Generic.facet: @CallGenericMethod.%Generic.type.loc15_45.2 (%Generic.type.91ccba.2) = facet_value %U.as_type.loc15_51.2, (%Generic.lookup_impl_witness) [symbolic = %Generic.facet (constants.%Generic.facet.680)] // CHECK:STDOUT: %.loc16_4.3: type = fn_type_with_self_type %F.type, %Generic.facet [symbolic = %.loc16_4.3 (constants.%.177)] // CHECK:STDOUT: %impl.elem0.loc16_4.2: @CallGenericMethod.%.loc16_4.3 (%.177) = impl_witness_access %Generic.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc16_4.2 (constants.%impl.elem0)] -// CHECK:STDOUT: %specific_impl_fn.loc16_4.2: = specific_impl_function %impl.elem0.loc16_4.2, @F.1(%T.loc15_22.2, %Generic.facet) [symbolic = %specific_impl_fn.loc16_4.2 (constants.%specific_impl_fn)] +// CHECK:STDOUT: %specific_impl_fn.loc16_4.2: = specific_impl_function %impl.elem0.loc16_4.2, @F.loc5(%T.loc15_22.2, %Generic.facet) [symbolic = %specific_impl_fn.loc16_4.2 (constants.%specific_impl_fn)] // CHECK:STDOUT: // CHECK:STDOUT: fn(%a.param: @CallGenericMethod.%U.as_type.loc15_51.2 (%U.as_type), %s.param: @CallGenericMethod.%T.loc15_22.2 (%T)) { // CHECK:STDOUT: !entry: @@ -316,7 +316,7 @@ fn B() { // CHECK:STDOUT: %U.as_type.loc16: type = facet_access_type %U.ref.loc16 [symbolic = %U.as_type.loc15_51.2 (constants.%U.as_type)] // CHECK:STDOUT: %.loc16_4.2: type = converted %U.ref.loc16, %U.as_type.loc16 [symbolic = %U.as_type.loc15_51.2 (constants.%U.as_type)] // CHECK:STDOUT: %impl.elem0.loc16_4.1: @CallGenericMethod.%.loc16_4.3 (%.177) = impl_witness_access constants.%Generic.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc16_4.2 (constants.%impl.elem0)] -// CHECK:STDOUT: %specific_impl_fn.loc16_4.1: = specific_impl_function %impl.elem0.loc16_4.1, @F.1(constants.%T, constants.%Generic.facet.680) [symbolic = %specific_impl_fn.loc16_4.2 (constants.%specific_impl_fn)] +// CHECK:STDOUT: %specific_impl_fn.loc16_4.1: = specific_impl_function %impl.elem0.loc16_4.1, @F.loc5(constants.%T, constants.%Generic.facet.680) [symbolic = %specific_impl_fn.loc16_4.2 (constants.%specific_impl_fn)] // CHECK:STDOUT: %.loc16_7: init %empty_tuple.type = call %specific_impl_fn.loc16_4.1() // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -360,7 +360,7 @@ fn B() { // CHECK:STDOUT: %Scalar.loc4_19.2 => constants.%Scalar // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%Scalar, constants.%Self.dee8d8.1) {} +// CHECK:STDOUT: specific @F.loc5(constants.%Scalar, constants.%Self.dee8d8.1) {} // CHECK:STDOUT: // CHECK:STDOUT: specific @Generic(constants.%GenericParam) { // CHECK:STDOUT: %Scalar.loc4_19.2 => constants.%GenericParam @@ -374,7 +374,7 @@ fn B() { // CHECK:STDOUT: %assoc0.loc5_9.2 => constants.%assoc0.9b7 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%GenericParam, constants.%Generic.facet.8ff) {} +// CHECK:STDOUT: specific @F.loc5(constants.%GenericParam, constants.%Generic.facet.8ff) {} // CHECK:STDOUT: // CHECK:STDOUT: specific @Generic(constants.%T) { // CHECK:STDOUT: %Scalar.loc4_19.2 => constants.%T @@ -398,7 +398,7 @@ fn B() { // CHECK:STDOUT: %pattern_type.loc15_54 => constants.%pattern_type.7dc // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%T, constants.%Generic.facet.680) {} +// CHECK:STDOUT: specific @F.loc5(constants.%T, constants.%Generic.facet.680) {} // CHECK:STDOUT: // CHECK:STDOUT: specific @CallGenericMethod(constants.%GenericParam, constants.%Generic.facet.8ff) { // CHECK:STDOUT: %T.loc15_22.2 => constants.%GenericParam diff --git a/toolchain/check/testdata/facet/convert_facet_value_as_type_knows_original_type.carbon b/toolchain/check/testdata/facet/convert_facet_value_as_type_knows_original_type.carbon index 045f425a4350..d6f4e15dff7b 100644 --- a/toolchain/check/testdata/facet/convert_facet_value_as_type_knows_original_type.carbon +++ b/toolchain/check/testdata/facet/convert_facet_value_as_type_knows_original_type.carbon @@ -201,7 +201,7 @@ fn F() { // CHECK:STDOUT: constants { // CHECK:STDOUT: %Eats.type: type = facet_type <@Eats> [concrete] // CHECK:STDOUT: %Self.1b5: %Eats.type = bind_symbolic_name Self, 0 [symbolic] -// CHECK:STDOUT: %Eat.type.e5d: type = fn_type @Eat.1 [concrete] +// CHECK:STDOUT: %Eat.type.e5d: type = fn_type @Eat.loc5 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Eat.7cd: %Eat.type.e5d = struct_value () [concrete] // CHECK:STDOUT: %Eats.assoc_type: type = assoc_entity_type @Eats [concrete] @@ -213,7 +213,7 @@ fn F() { // CHECK:STDOUT: %Bleet: %Bleet.type = struct_value () [concrete] // CHECK:STDOUT: %Animal.impl_witness: = impl_witness @Goat.%Animal.impl_witness_table [concrete] // CHECK:STDOUT: %Eats.impl_witness: = impl_witness @Goat.%Eats.impl_witness_table [concrete] -// CHECK:STDOUT: %Eat.type.1b3: type = fn_type @Eat.2 [concrete] +// CHECK:STDOUT: %Eat.type.1b3: type = fn_type @Eat.loc14 [concrete] // CHECK:STDOUT: %Eat.73e: %Eat.type.1b3 = struct_value () [concrete] // CHECK:STDOUT: %Eats.facet: %Eats.type = facet_value %Goat, (%Eats.impl_witness) [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] @@ -257,7 +257,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: interface @Eats { // CHECK:STDOUT: %Self: %Eats.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.1b5] -// CHECK:STDOUT: %Eat.decl: %Eat.type.e5d = fn_decl @Eat.1 [concrete = constants.%Eat.7cd] {} {} +// CHECK:STDOUT: %Eat.decl: %Eat.type.e5d = fn_decl @Eat.loc5 [concrete = constants.%Eat.7cd] {} {} // CHECK:STDOUT: %assoc0: %Eats.assoc_type = assoc_entity element0, %Eat.decl [concrete = constants.%assoc0.e43] // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -280,7 +280,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @Eats.impl: %Self.ref as %Eats.ref { -// CHECK:STDOUT: %Eat.decl: %Eat.type.1b3 = fn_decl @Eat.2 [concrete = constants.%Eat.73e] {} {} +// CHECK:STDOUT: %Eat.decl: %Eat.type.1b3 = fn_decl @Eat.loc14 [concrete = constants.%Eat.73e] {} {} // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .Eat = %Eat.decl @@ -314,7 +314,7 @@ fn F() { // CHECK:STDOUT: extend @Eats.impl.%Eats.ref // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @Eat.1(@Eats.%Self: %Eats.type) { +// CHECK:STDOUT: generic fn @Eat.loc5(@Eats.%Self: %Eats.type) { // CHECK:STDOUT: fn(); // CHECK:STDOUT: } // CHECK:STDOUT: @@ -323,7 +323,7 @@ fn F() { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Eat.2() { +// CHECK:STDOUT: fn @Eat.loc14() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -403,7 +403,7 @@ fn F() { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Eat.1(constants.%Self.1b5) {} +// CHECK:STDOUT: specific @Eat.loc5(constants.%Self.1b5) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @Eat.1(constants.%Eats.facet) {} +// CHECK:STDOUT: specific @Eat.loc5(constants.%Eats.facet) {} // CHECK:STDOUT: diff --git a/toolchain/check/testdata/facet/fail_convert_class_type_to_generic_facet_value.carbon b/toolchain/check/testdata/facet/fail_convert_class_type_to_generic_facet_value.carbon index e294a562aa87..643acdf88d6c 100644 --- a/toolchain/check/testdata/facet/fail_convert_class_type_to_generic_facet_value.carbon +++ b/toolchain/check/testdata/facet/fail_convert_class_type_to_generic_facet_value.carbon @@ -46,7 +46,7 @@ fn G() { // CHECK:STDOUT: %Generic.generic: %Generic.type.c21 = struct_value () [concrete] // CHECK:STDOUT: %Generic.type.91ccba.1: type = facet_type <@Generic, @Generic(%Scalar)> [symbolic] // CHECK:STDOUT: %Self.dee: %Generic.type.91ccba.1 = bind_symbolic_name Self, 1 [symbolic] -// CHECK:STDOUT: %F.type.f43: type = fn_type @F.1, @Generic(%Scalar) [symbolic] +// CHECK:STDOUT: %F.type.f43: type = fn_type @F.loc16, @Generic(%Scalar) [symbolic] // CHECK:STDOUT: %F.8a2: %F.type.f43 = struct_value () [symbolic] // CHECK:STDOUT: %Generic.assoc_type.0fd: type = assoc_entity_type @Generic, @Generic(%Scalar) [symbolic] // CHECK:STDOUT: %assoc0.296: %Generic.assoc_type.0fd = assoc_entity element0, @Generic.%F.decl [symbolic] @@ -57,12 +57,12 @@ fn G() { // CHECK:STDOUT: %ImplsGeneric: type = class_type @ImplsGeneric [concrete] // CHECK:STDOUT: %Generic.type.769: type = facet_type <@Generic, @Generic(%GenericParam)> [concrete] // CHECK:STDOUT: %Self.f84: %Generic.type.769 = bind_symbolic_name Self, 1 [symbolic] -// CHECK:STDOUT: %F.type.4cf: type = fn_type @F.1, @Generic(%GenericParam) [concrete] +// CHECK:STDOUT: %F.type.4cf: type = fn_type @F.loc16, @Generic(%GenericParam) [concrete] // CHECK:STDOUT: %F.118: %F.type.4cf = struct_value () [concrete] // CHECK:STDOUT: %Generic.assoc_type.713: type = assoc_entity_type @Generic, @Generic(%GenericParam) [concrete] // CHECK:STDOUT: %assoc0.9b7: %Generic.assoc_type.713 = assoc_entity element0, @Generic.%F.decl [concrete] // CHECK:STDOUT: %Generic.impl_witness: = impl_witness file.%Generic.impl_witness_table [concrete] -// CHECK:STDOUT: %F.type.17b: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.17b: type = fn_type @F.loc24 [concrete] // CHECK:STDOUT: %F.a56: %F.type.17b = struct_value () [concrete] // CHECK:STDOUT: %Generic.facet: %Generic.type.769 = facet_value %ImplsGeneric, (%Generic.impl_witness) [concrete] // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic] @@ -130,14 +130,14 @@ fn G() { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Generic.type: type = facet_type <@Generic, @Generic(%Scalar.loc15_19.2)> [symbolic = %Generic.type (constants.%Generic.type.91ccba.1)] // CHECK:STDOUT: %Self.2: @Generic.%Generic.type (%Generic.type.91ccba.1) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.dee)] -// CHECK:STDOUT: %F.type: type = fn_type @F.1, @Generic(%Scalar.loc15_19.2) [symbolic = %F.type (constants.%F.type.f43)] +// CHECK:STDOUT: %F.type: type = fn_type @F.loc16, @Generic(%Scalar.loc15_19.2) [symbolic = %F.type (constants.%F.type.f43)] // CHECK:STDOUT: %F: @Generic.%F.type (%F.type.f43) = struct_value () [symbolic = %F (constants.%F.8a2)] // CHECK:STDOUT: %Generic.assoc_type: type = assoc_entity_type @Generic, @Generic(%Scalar.loc15_19.2) [symbolic = %Generic.assoc_type (constants.%Generic.assoc_type.0fd)] // CHECK:STDOUT: %assoc0.loc16_9.2: @Generic.%Generic.assoc_type (%Generic.assoc_type.0fd) = assoc_entity element0, %F.decl [symbolic = %assoc0.loc16_9.2 (constants.%assoc0.296)] // CHECK:STDOUT: // CHECK:STDOUT: interface { // CHECK:STDOUT: %Self.1: @Generic.%Generic.type (%Generic.type.91ccba.1) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.dee)] -// CHECK:STDOUT: %F.decl: @Generic.%F.type (%F.type.f43) = fn_decl @F.1 [symbolic = @Generic.%F (constants.%F.8a2)] {} {} +// CHECK:STDOUT: %F.decl: @Generic.%F.type (%F.type.f43) = fn_decl @F.loc16 [symbolic = @Generic.%F (constants.%F.8a2)] {} {} // CHECK:STDOUT: %assoc0.loc16_9.1: @Generic.%Generic.assoc_type (%Generic.assoc_type.0fd) = assoc_entity element0, %F.decl [symbolic = %assoc0.loc16_9.2 (constants.%assoc0.296)] // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -148,7 +148,7 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @Generic.impl: %ImplsGeneric.ref as %Generic.type { -// CHECK:STDOUT: %F.decl: %F.type.17b = fn_decl @F.2 [concrete = constants.%F.a56] {} {} +// CHECK:STDOUT: %F.decl: %F.type.17b = fn_decl @F.loc24 [concrete = constants.%F.a56] {} {} // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .F = %F.decl @@ -182,11 +182,11 @@ fn G() { // CHECK:STDOUT: .Self = constants.%ImplsGeneric // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.1(@Generic.%Scalar.loc15_19.1: type, @Generic.%Self.1: @Generic.%Generic.type (%Generic.type.91ccba.1)) { +// CHECK:STDOUT: generic fn @F.loc16(@Generic.%Scalar.loc15_19.1: type, @Generic.%Self.1: @Generic.%Generic.type (%Generic.type.91ccba.1)) { // CHECK:STDOUT: fn(); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2() { +// CHECK:STDOUT: fn @F.loc24() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -217,7 +217,7 @@ fn G() { // CHECK:STDOUT: %Scalar.loc15_19.2 => constants.%Scalar // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%Scalar, constants.%Self.dee) {} +// CHECK:STDOUT: specific @F.loc16(constants.%Scalar, constants.%Self.dee) {} // CHECK:STDOUT: // CHECK:STDOUT: specific @Generic(constants.%GenericParam) { // CHECK:STDOUT: %Scalar.loc15_19.2 => constants.%GenericParam @@ -231,7 +231,7 @@ fn G() { // CHECK:STDOUT: %assoc0.loc16_9.2 => constants.%assoc0.9b7 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%GenericParam, constants.%Generic.facet) {} +// CHECK:STDOUT: specific @F.loc16(constants.%GenericParam, constants.%Generic.facet) {} // CHECK:STDOUT: // CHECK:STDOUT: specific @Generic(constants.%T) { // CHECK:STDOUT: %Scalar.loc15_19.2 => constants.%T diff --git a/toolchain/check/testdata/facet/fail_deduction_uses_runtime_type_conversion.carbon b/toolchain/check/testdata/facet/fail_deduction_uses_runtime_type_conversion.carbon index e881a41e9054..9989fbe96d82 100644 --- a/toolchain/check/testdata/facet/fail_deduction_uses_runtime_type_conversion.carbon +++ b/toolchain/check/testdata/facet/fail_deduction_uses_runtime_type_conversion.carbon @@ -62,7 +62,7 @@ fn G(holds_to: HoldsType((RuntimeConvertTo, ))) { // CHECK:STDOUT: %ImplicitAs.impl_witness: = impl_witness file.%ImplicitAs.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.f64: type = pattern_type %RuntimeConvertFrom [concrete] // CHECK:STDOUT: %pattern_type.109: type = pattern_type %RuntimeConvertTo [concrete] -// CHECK:STDOUT: %Convert.type.e8b: type = fn_type @Convert.2 [concrete] +// CHECK:STDOUT: %Convert.type.e8b: type = fn_type @Convert.loc24 [concrete] // CHECK:STDOUT: %Convert.e81: %Convert.type.e8b = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.580 = facet_value %RuntimeConvertFrom, (%ImplicitAs.impl_witness) [concrete] // CHECK:STDOUT: %RuntimeConvertTo.val: %RuntimeConvertTo = struct_value () [concrete] @@ -178,7 +178,7 @@ fn G(holds_to: HoldsType((RuntimeConvertTo, ))) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @ImplicitAs.impl: %RuntimeConvertFrom.ref as %ImplicitAs.type { -// CHECK:STDOUT: %Convert.decl: %Convert.type.e8b = fn_decl @Convert.2 [concrete = constants.%Convert.e81] { +// CHECK:STDOUT: %Convert.decl: %Convert.type.e8b = fn_decl @Convert.loc24 [concrete = constants.%Convert.e81] { // CHECK:STDOUT: %self.patt: %pattern_type.f64 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.f64 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %return.patt: %pattern_type.109 = return_slot_pattern [concrete] @@ -231,7 +231,7 @@ fn G(holds_to: HoldsType((RuntimeConvertTo, ))) { // CHECK:STDOUT: .Self = constants.%RuntimeConvertTo // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Convert.2(%self.param: %RuntimeConvertFrom) -> %return.param: %RuntimeConvertTo { +// CHECK:STDOUT: fn @Convert.loc24(%self.param: %RuntimeConvertFrom) -> %return.param: %RuntimeConvertTo { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc24_58.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc24_58.2: init %RuntimeConvertTo = class_init (), %return [concrete = constants.%RuntimeConvertTo.val] diff --git a/toolchain/check/testdata/for/actual.carbon b/toolchain/check/testdata/for/actual.carbon index ba87a0bc7c2c..0080788f4b87 100644 --- a/toolchain/check/testdata/for/actual.carbon +++ b/toolchain/check/testdata/for/actual.carbon @@ -88,13 +88,13 @@ fn Read() { // CHECK:STDOUT: %Some.type.b2c: type = fn_type @Some, @Optional(%T.8b3) [symbolic] // CHECK:STDOUT: %Some.d0d: %Some.type.b2c = struct_value () [symbolic] // CHECK:STDOUT: %Iterate.impl_witness: = impl_witness @IntRange.%Iterate.impl_witness_table, @Iterate.impl(%N) [symbolic] -// CHECK:STDOUT: %NewCursor.type.b02: type = fn_type @NewCursor.2, @Iterate.impl(%N) [symbolic] +// CHECK:STDOUT: %NewCursor.type.b02: type = fn_type @NewCursor.loc10, @Iterate.impl(%N) [symbolic] // CHECK:STDOUT: %NewCursor.f32: %NewCursor.type.b02 = struct_value () [symbolic] // CHECK:STDOUT: %ptr.784: type = ptr_type %Int.49d0e6.1 [symbolic] // CHECK:STDOUT: %pattern_type.4dc: type = pattern_type %ptr.784 [symbolic] // CHECK:STDOUT: %Optional.708: type = class_type @Optional, @Optional(%Int.49d0e6.1) [symbolic] // CHECK:STDOUT: %pattern_type.4b1: type = pattern_type %Optional.708 [symbolic] -// CHECK:STDOUT: %Next.type.2c8: type = fn_type @Next.2, @Iterate.impl(%N) [symbolic] +// CHECK:STDOUT: %Next.type.2c8: type = fn_type @Next.loc11, @Iterate.impl(%N) [symbolic] // CHECK:STDOUT: %Next.259: %Next.type.2c8 = struct_value () [symbolic] // CHECK:STDOUT: %require_complete.b4f426.1: = require_complete_type %Int.49d0e6.1 [symbolic] // CHECK:STDOUT: %IntRange.elem.e7c: type = unbound_element_type %IntRange.349, %Int.49d0e6.1 [symbolic] @@ -278,38 +278,38 @@ fn Read() { // CHECK:STDOUT: %Iterate.impl_witness: = impl_witness @IntRange.%Iterate.impl_witness_table, @Iterate.impl(%N) [symbolic = %Iterate.impl_witness (constants.%Iterate.impl_witness)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %NewCursor.type: type = fn_type @NewCursor.2, @Iterate.impl(%N) [symbolic = %NewCursor.type (constants.%NewCursor.type.b02)] +// CHECK:STDOUT: %NewCursor.type: type = fn_type @NewCursor.loc10, @Iterate.impl(%N) [symbolic = %NewCursor.type (constants.%NewCursor.type.b02)] // CHECK:STDOUT: %NewCursor: @Iterate.impl.%NewCursor.type (%NewCursor.type.b02) = struct_value () [symbolic = %NewCursor (constants.%NewCursor.f32)] -// CHECK:STDOUT: %Next.type: type = fn_type @Next.2, @Iterate.impl(%N) [symbolic = %Next.type (constants.%Next.type.2c8)] +// CHECK:STDOUT: %Next.type: type = fn_type @Next.loc11, @Iterate.impl(%N) [symbolic = %Next.type (constants.%Next.type.2c8)] // CHECK:STDOUT: %Next: @Iterate.impl.%Next.type (%Next.type.2c8) = struct_value () [symbolic = %Next (constants.%Next.259)] // CHECK:STDOUT: // CHECK:STDOUT: impl: %Self.ref as %.loc9_24 { -// CHECK:STDOUT: %NewCursor.decl: @Iterate.impl.%NewCursor.type (%NewCursor.type.b02) = fn_decl @NewCursor.2 [symbolic = @Iterate.impl.%NewCursor (constants.%NewCursor.f32)] { -// CHECK:STDOUT: %self.patt: @NewCursor.2.%pattern_type.loc10_18 (%pattern_type.dcd) = binding_pattern self [concrete] -// CHECK:STDOUT: %self.param_patt: @NewCursor.2.%pattern_type.loc10_18 (%pattern_type.dcd) = value_param_pattern %self.patt, call_param0 [concrete] -// CHECK:STDOUT: %return.patt: @NewCursor.2.%pattern_type.loc10_32 (%pattern_type.8963eb.1) = return_slot_pattern [concrete] -// CHECK:STDOUT: %return.param_patt: @NewCursor.2.%pattern_type.loc10_32 (%pattern_type.8963eb.1) = out_param_pattern %return.patt, call_param1 [concrete] +// CHECK:STDOUT: %NewCursor.decl: @Iterate.impl.%NewCursor.type (%NewCursor.type.b02) = fn_decl @NewCursor.loc10 [symbolic = @Iterate.impl.%NewCursor (constants.%NewCursor.f32)] { +// CHECK:STDOUT: %self.patt: @NewCursor.loc10.%pattern_type.loc10_18 (%pattern_type.dcd) = binding_pattern self [concrete] +// CHECK:STDOUT: %self.param_patt: @NewCursor.loc10.%pattern_type.loc10_18 (%pattern_type.dcd) = value_param_pattern %self.patt, call_param0 [concrete] +// CHECK:STDOUT: %return.patt: @NewCursor.loc10.%pattern_type.loc10_32 (%pattern_type.8963eb.1) = return_slot_pattern [concrete] +// CHECK:STDOUT: %return.param_patt: @NewCursor.loc10.%pattern_type.loc10_32 (%pattern_type.8963eb.1) = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %Int.ref: %Int.type = name_ref Int, imports.%Core.Int [concrete = constants.%Int.generic] // CHECK:STDOUT: %N.ref: Core.IntLiteral = name_ref N, @IntRange.%N.loc4_16.1 [symbolic = %N (constants.%N)] // CHECK:STDOUT: %Int.loc10_45.2: type = class_type @Int, @Int(constants.%N) [symbolic = %Int.loc10_45.1 (constants.%Int.49d0e6.1)] -// CHECK:STDOUT: %self.param: @NewCursor.2.%IntRange (%IntRange.349) = value_param call_param0 +// CHECK:STDOUT: %self.param: @NewCursor.loc10.%IntRange (%IntRange.349) = value_param call_param0 // CHECK:STDOUT: %.loc10_24.1: type = splice_block %Self.ref [symbolic = %IntRange (constants.%IntRange.349)] { // CHECK:STDOUT: %.loc10_24.2: type = specific_constant constants.%IntRange.349, @IntRange(constants.%N) [symbolic = %IntRange (constants.%IntRange.349)] // CHECK:STDOUT: %Self.ref: type = name_ref Self, %.loc10_24.2 [symbolic = %IntRange (constants.%IntRange.349)] // CHECK:STDOUT: } -// CHECK:STDOUT: %self: @NewCursor.2.%IntRange (%IntRange.349) = bind_name self, %self.param -// CHECK:STDOUT: %return.param: ref @NewCursor.2.%Int.loc10_45.1 (%Int.49d0e6.1) = out_param call_param1 -// CHECK:STDOUT: %return: ref @NewCursor.2.%Int.loc10_45.1 (%Int.49d0e6.1) = return_slot %return.param +// CHECK:STDOUT: %self: @NewCursor.loc10.%IntRange (%IntRange.349) = bind_name self, %self.param +// CHECK:STDOUT: %return.param: ref @NewCursor.loc10.%Int.loc10_45.1 (%Int.49d0e6.1) = out_param call_param1 +// CHECK:STDOUT: %return: ref @NewCursor.loc10.%Int.loc10_45.1 (%Int.49d0e6.1) = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %Next.decl: @Iterate.impl.%Next.type (%Next.type.2c8) = fn_decl @Next.2 [symbolic = @Iterate.impl.%Next (constants.%Next.259)] { -// CHECK:STDOUT: %self.patt: @Next.2.%pattern_type.loc11_13 (%pattern_type.dcd) = binding_pattern self [concrete] -// CHECK:STDOUT: %self.param_patt: @Next.2.%pattern_type.loc11_13 (%pattern_type.dcd) = value_param_pattern %self.patt, call_param0 [concrete] -// CHECK:STDOUT: %cursor.patt: @Next.2.%pattern_type.loc11_25 (%pattern_type.4dc) = binding_pattern cursor [concrete] -// CHECK:STDOUT: %cursor.param_patt: @Next.2.%pattern_type.loc11_25 (%pattern_type.4dc) = value_param_pattern %cursor.patt, call_param1 [concrete] -// CHECK:STDOUT: %return.patt: @Next.2.%pattern_type.loc11_47 (%pattern_type.4b1) = return_slot_pattern [concrete] -// CHECK:STDOUT: %return.param_patt: @Next.2.%pattern_type.loc11_47 (%pattern_type.4b1) = out_param_pattern %return.patt, call_param2 [concrete] +// CHECK:STDOUT: %Next.decl: @Iterate.impl.%Next.type (%Next.type.2c8) = fn_decl @Next.loc11 [symbolic = @Iterate.impl.%Next (constants.%Next.259)] { +// CHECK:STDOUT: %self.patt: @Next.loc11.%pattern_type.loc11_13 (%pattern_type.dcd) = binding_pattern self [concrete] +// CHECK:STDOUT: %self.param_patt: @Next.loc11.%pattern_type.loc11_13 (%pattern_type.dcd) = value_param_pattern %self.patt, call_param0 [concrete] +// CHECK:STDOUT: %cursor.patt: @Next.loc11.%pattern_type.loc11_25 (%pattern_type.4dc) = binding_pattern cursor [concrete] +// CHECK:STDOUT: %cursor.param_patt: @Next.loc11.%pattern_type.loc11_25 (%pattern_type.4dc) = value_param_pattern %cursor.patt, call_param1 [concrete] +// CHECK:STDOUT: %return.patt: @Next.loc11.%pattern_type.loc11_47 (%pattern_type.4b1) = return_slot_pattern [concrete] +// CHECK:STDOUT: %return.param_patt: @Next.loc11.%pattern_type.loc11_47 (%pattern_type.4b1) = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %Core.ref.loc11_50: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %Optional.ref.loc11: %Optional.type = name_ref Optional, imports.%Core.Optional [concrete = constants.%Optional.generic] @@ -318,13 +318,13 @@ fn Read() { // CHECK:STDOUT: %N.ref.loc11_73: Core.IntLiteral = name_ref N, @IntRange.%N.loc4_16.1 [symbolic = %N (constants.%N)] // CHECK:STDOUT: %Int.loc11_74: type = class_type @Int, @Int(constants.%N) [symbolic = %Int.loc11_43.1 (constants.%Int.49d0e6.1)] // CHECK:STDOUT: %Optional.loc11_75.2: type = class_type @Optional, @Optional(constants.%Int.49d0e6.1) [symbolic = %Optional.loc11_75.1 (constants.%Optional.708)] -// CHECK:STDOUT: %self.param: @Next.2.%IntRange (%IntRange.349) = value_param call_param0 +// CHECK:STDOUT: %self.param: @Next.loc11.%IntRange (%IntRange.349) = value_param call_param0 // CHECK:STDOUT: %.loc11_19.1: type = splice_block %Self.ref [symbolic = %IntRange (constants.%IntRange.349)] { // CHECK:STDOUT: %.loc11_19.2: type = specific_constant constants.%IntRange.349, @IntRange(constants.%N) [symbolic = %IntRange (constants.%IntRange.349)] // CHECK:STDOUT: %Self.ref: type = name_ref Self, %.loc11_19.2 [symbolic = %IntRange (constants.%IntRange.349)] // CHECK:STDOUT: } -// CHECK:STDOUT: %self: @Next.2.%IntRange (%IntRange.349) = bind_name self, %self.param -// CHECK:STDOUT: %cursor.param: @Next.2.%ptr.loc11_44.1 (%ptr.784) = value_param call_param1 +// CHECK:STDOUT: %self: @Next.loc11.%IntRange (%IntRange.349) = bind_name self, %self.param +// CHECK:STDOUT: %cursor.param: @Next.loc11.%ptr.loc11_44.1 (%ptr.784) = value_param call_param1 // CHECK:STDOUT: %.loc11_44: type = splice_block %ptr.loc11_44.2 [symbolic = %ptr.loc11_44.1 (constants.%ptr.784)] { // CHECK:STDOUT: %Core.ref.loc11_33: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %Int.ref.loc11_37: %Int.type = name_ref Int, imports.%Core.Int [concrete = constants.%Int.generic] @@ -332,9 +332,9 @@ fn Read() { // CHECK:STDOUT: %Int.loc11_43.2: type = class_type @Int, @Int(constants.%N) [symbolic = %Int.loc11_43.1 (constants.%Int.49d0e6.1)] // CHECK:STDOUT: %ptr.loc11_44.2: type = ptr_type %Int.loc11_43.2 [symbolic = %ptr.loc11_44.1 (constants.%ptr.784)] // CHECK:STDOUT: } -// CHECK:STDOUT: %cursor: @Next.2.%ptr.loc11_44.1 (%ptr.784) = bind_name cursor, %cursor.param -// CHECK:STDOUT: %return.param: ref @Next.2.%Optional.loc11_75.1 (%Optional.708) = out_param call_param2 -// CHECK:STDOUT: %return: ref @Next.2.%Optional.loc11_75.1 (%Optional.708) = return_slot %return.param +// CHECK:STDOUT: %cursor: @Next.loc11.%ptr.loc11_44.1 (%ptr.784) = bind_name cursor, %cursor.param +// CHECK:STDOUT: %return.param: ref @Next.loc11.%Optional.loc11_75.1 (%Optional.708) = out_param call_param2 +// CHECK:STDOUT: %return: ref @Next.loc11.%Optional.loc11_75.1 (%Optional.708) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -470,7 +470,7 @@ fn Read() { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @NewCursor.2(@IntRange.%N.loc4_16.1: Core.IntLiteral) { +// CHECK:STDOUT: generic fn @NewCursor.loc10(@IntRange.%N.loc4_16.1: Core.IntLiteral) { // CHECK:STDOUT: %N: Core.IntLiteral = bind_symbolic_name N, 0 [symbolic = %N (constants.%N)] // CHECK:STDOUT: %IntRange: type = class_type @IntRange, @IntRange(%N) [symbolic = %IntRange (constants.%IntRange.349)] // CHECK:STDOUT: %pattern_type.loc10_18: type = pattern_type %IntRange [symbolic = %pattern_type.loc10_18 (constants.%pattern_type.dcd)] @@ -482,17 +482,17 @@ fn Read() { // CHECK:STDOUT: %IntRange.elem: type = unbound_element_type %IntRange, %Int.loc10_45.1 [symbolic = %IntRange.elem (constants.%IntRange.elem.e7c)] // CHECK:STDOUT: %require_complete.loc10_60: = require_complete_type %Int.loc10_45.1 [symbolic = %require_complete.loc10_60 (constants.%require_complete.b4f426.1)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%self.param: @NewCursor.2.%IntRange (%IntRange.349)) -> @NewCursor.2.%Int.loc10_45.1 (%Int.49d0e6.1) { +// CHECK:STDOUT: fn(%self.param: @NewCursor.loc10.%IntRange (%IntRange.349)) -> @NewCursor.loc10.%Int.loc10_45.1 (%Int.49d0e6.1) { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %self.ref: @NewCursor.2.%IntRange (%IntRange.349) = name_ref self, %self -// CHECK:STDOUT: %start.ref: @NewCursor.2.%IntRange.elem (%IntRange.elem.e7c) = name_ref start, @IntRange.%.loc22 [concrete = @IntRange.%.loc22] -// CHECK:STDOUT: %.loc10_60.1: ref @NewCursor.2.%Int.loc10_45.1 (%Int.49d0e6.1) = class_element_access %self.ref, element0 -// CHECK:STDOUT: %.loc10_60.2: @NewCursor.2.%Int.loc10_45.1 (%Int.49d0e6.1) = bind_value %.loc10_60.1 +// CHECK:STDOUT: %self.ref: @NewCursor.loc10.%IntRange (%IntRange.349) = name_ref self, %self +// CHECK:STDOUT: %start.ref: @NewCursor.loc10.%IntRange.elem (%IntRange.elem.e7c) = name_ref start, @IntRange.%.loc22 [concrete = @IntRange.%.loc22] +// CHECK:STDOUT: %.loc10_60.1: ref @NewCursor.loc10.%Int.loc10_45.1 (%Int.49d0e6.1) = class_element_access %self.ref, element0 +// CHECK:STDOUT: %.loc10_60.2: @NewCursor.loc10.%Int.loc10_45.1 (%Int.49d0e6.1) = bind_value %.loc10_60.1 // CHECK:STDOUT: return %.loc10_60.2 // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @Next.2(@IntRange.%N.loc4_16.1: Core.IntLiteral) { +// CHECK:STDOUT: generic fn @Next.loc11(@IntRange.%N.loc4_16.1: Core.IntLiteral) { // CHECK:STDOUT: %N: Core.IntLiteral = bind_symbolic_name N, 0 [symbolic = %N (constants.%N)] // CHECK:STDOUT: %IntRange: type = class_type @IntRange, @IntRange(%N) [symbolic = %IntRange (constants.%IntRange.349)] // CHECK:STDOUT: %pattern_type.loc11_13: type = pattern_type %IntRange [symbolic = %pattern_type.loc11_13 (constants.%pattern_type.dcd)] @@ -512,48 +512,48 @@ fn Read() { // CHECK:STDOUT: %OrderedWith.type.loc13_17.2: type = facet_type <@OrderedWith, @OrderedWith(%Int.loc11_43.1)> [symbolic = %OrderedWith.type.loc13_17.2 (constants.%OrderedWith.type.872)] // CHECK:STDOUT: %require_complete.loc13: = require_complete_type %OrderedWith.type.loc13_17.2 [symbolic = %require_complete.loc13 (constants.%require_complete.66b6)] // CHECK:STDOUT: %OrderedWith.assoc_type: type = assoc_entity_type @OrderedWith, @OrderedWith(%Int.loc11_43.1) [symbolic = %OrderedWith.assoc_type (constants.%OrderedWith.assoc_type.d92)] -// CHECK:STDOUT: %assoc0: @Next.2.%OrderedWith.assoc_type (%OrderedWith.assoc_type.d92) = assoc_entity element0, imports.%Core.import_ref.910 [symbolic = %assoc0 (constants.%assoc0.2ae)] +// CHECK:STDOUT: %assoc0: @Next.loc11.%OrderedWith.assoc_type (%OrderedWith.assoc_type.d92) = assoc_entity element0, imports.%Core.import_ref.910 [symbolic = %assoc0 (constants.%assoc0.2ae)] // CHECK:STDOUT: %OrderedWith.impl_witness: = impl_witness imports.%OrderedWith.impl_witness_table.2b2, @OrderedWith.impl.db3(%N, %N) [symbolic = %OrderedWith.impl_witness (constants.%OrderedWith.impl_witness.df5)] // CHECK:STDOUT: %Less.type.loc13_17.1: type = fn_type @Less.1, @OrderedWith(%Int.loc11_43.1) [symbolic = %Less.type.loc13_17.1 (constants.%Less.type.8fe)] -// CHECK:STDOUT: %OrderedWith.facet: @Next.2.%OrderedWith.type.loc13_17.2 (%OrderedWith.type.872) = facet_value %Int.loc11_43.1, (%OrderedWith.impl_witness) [symbolic = %OrderedWith.facet (constants.%OrderedWith.facet)] +// CHECK:STDOUT: %OrderedWith.facet: @Next.loc11.%OrderedWith.type.loc13_17.2 (%OrderedWith.type.872) = facet_value %Int.loc11_43.1, (%OrderedWith.impl_witness) [symbolic = %OrderedWith.facet (constants.%OrderedWith.facet)] // CHECK:STDOUT: %.loc13_17.2: type = fn_type_with_self_type %Less.type.loc13_17.1, %OrderedWith.facet [symbolic = %.loc13_17.2 (constants.%.99c)] // CHECK:STDOUT: %Less.type.loc13_17.2: type = fn_type @Less.2, @OrderedWith.impl.db3(%N, %N) [symbolic = %Less.type.loc13_17.2 (constants.%Less.type.98c)] -// CHECK:STDOUT: %Less: @Next.2.%Less.type.loc13_17.2 (%Less.type.98c) = struct_value () [symbolic = %Less (constants.%Less.4be)] +// CHECK:STDOUT: %Less: @Next.loc11.%Less.type.loc13_17.2 (%Less.type.98c) = struct_value () [symbolic = %Less (constants.%Less.4be)] // CHECK:STDOUT: %Less.specific_fn: = specific_function %Less, @Less.2(%N, %N) [symbolic = %Less.specific_fn (constants.%Less.specific_fn.bb3)] // CHECK:STDOUT: %Inc.lookup_impl_witness: = lookup_impl_witness %Int.loc11_43.1, @Inc [symbolic = %Inc.lookup_impl_witness (constants.%Inc.lookup_impl_witness)] // CHECK:STDOUT: %Inc.facet: %Inc.type = facet_value %Int.loc11_43.1, (%Inc.lookup_impl_witness) [symbolic = %Inc.facet (constants.%Inc.facet)] // CHECK:STDOUT: %.loc14_9.2: type = fn_type_with_self_type constants.%Op.type.e3a, %Inc.facet [symbolic = %.loc14_9.2 (constants.%.a0d)] -// CHECK:STDOUT: %impl.elem0.loc14_9.2: @Next.2.%.loc14_9.2 (%.a0d) = impl_witness_access %Inc.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc14_9.2 (constants.%impl.elem0.437)] +// CHECK:STDOUT: %impl.elem0.loc14_9.2: @Next.loc11.%.loc14_9.2 (%.a0d) = impl_witness_access %Inc.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc14_9.2 (constants.%impl.elem0.437)] // CHECK:STDOUT: %specific_impl_fn.loc14_9.2: = specific_impl_function %impl.elem0.loc14_9.2, @Op.95(%Inc.facet) [symbolic = %specific_impl_fn.loc14_9.2 (constants.%specific_impl_fn.a5f)] // CHECK:STDOUT: %Some.type: type = fn_type @Some, @Optional(%Int.loc11_43.1) [symbolic = %Some.type (constants.%Some.type.185)] -// CHECK:STDOUT: %Some: @Next.2.%Some.type (%Some.type.185) = struct_value () [symbolic = %Some (constants.%Some.58a)] +// CHECK:STDOUT: %Some: @Next.loc11.%Some.type (%Some.type.185) = struct_value () [symbolic = %Some (constants.%Some.58a)] // CHECK:STDOUT: %Some.specific_fn.loc15_42.2: = specific_function %Some, @Some(%Int.loc11_43.1) [symbolic = %Some.specific_fn.loc15_42.2 (constants.%Some.specific_fn)] // CHECK:STDOUT: %Destroy.lookup_impl_witness.loc11: = lookup_impl_witness %Optional.loc11_75.1, @Destroy [symbolic = %Destroy.lookup_impl_witness.loc11 (constants.%Destroy.lookup_impl_witness.f9d)] // CHECK:STDOUT: %Destroy.facet.loc11: %Destroy.type = facet_value %Optional.loc11_75.1, (%Destroy.lookup_impl_witness.loc11) [symbolic = %Destroy.facet.loc11 (constants.%Destroy.facet.be9)] // CHECK:STDOUT: %.loc11_47.6: type = fn_type_with_self_type constants.%Op.type.bae, %Destroy.facet.loc11 [symbolic = %.loc11_47.6 (constants.%.1ee)] -// CHECK:STDOUT: %impl.elem0.loc11_47.4: @Next.2.%.loc11_47.6 (%.1ee) = impl_witness_access %Destroy.lookup_impl_witness.loc11, element0 [symbolic = %impl.elem0.loc11_47.4 (constants.%impl.elem0.5fd)] +// CHECK:STDOUT: %impl.elem0.loc11_47.4: @Next.loc11.%.loc11_47.6 (%.1ee) = impl_witness_access %Destroy.lookup_impl_witness.loc11, element0 [symbolic = %impl.elem0.loc11_47.4 (constants.%impl.elem0.5fd)] // CHECK:STDOUT: %specific_impl_fn.loc11_47.4: = specific_impl_function %impl.elem0.loc11_47.4, @Op.96(%Destroy.facet.loc11) [symbolic = %specific_impl_fn.loc11_47.4 (constants.%specific_impl_fn.79e)] // CHECK:STDOUT: %ptr.loc11_47: type = ptr_type %Optional.loc11_75.1 [symbolic = %ptr.loc11_47 (constants.%ptr.2aa)] // CHECK:STDOUT: %require_complete.loc11_47.2: = require_complete_type %ptr.loc11_47 [symbolic = %require_complete.loc11_47.2 (constants.%require_complete.a5e)] // CHECK:STDOUT: %Destroy.lookup_impl_witness.loc12: = lookup_impl_witness %Int.loc11_43.1, @Destroy [symbolic = %Destroy.lookup_impl_witness.loc12 (constants.%Destroy.lookup_impl_witness.34a)] // CHECK:STDOUT: %Destroy.facet.loc12: %Destroy.type = facet_value %Int.loc11_43.1, (%Destroy.lookup_impl_witness.loc12) [symbolic = %Destroy.facet.loc12 (constants.%Destroy.facet.13d)] // CHECK:STDOUT: %.loc12_7.3: type = fn_type_with_self_type constants.%Op.type.bae, %Destroy.facet.loc12 [symbolic = %.loc12_7.3 (constants.%.bbc)] -// CHECK:STDOUT: %impl.elem0.loc12_7.3: @Next.2.%.loc12_7.3 (%.bbc) = impl_witness_access %Destroy.lookup_impl_witness.loc12, element0 [symbolic = %impl.elem0.loc12_7.3 (constants.%impl.elem0.fe8)] +// CHECK:STDOUT: %impl.elem0.loc12_7.3: @Next.loc11.%.loc12_7.3 (%.bbc) = impl_witness_access %Destroy.lookup_impl_witness.loc12, element0 [symbolic = %impl.elem0.loc12_7.3 (constants.%impl.elem0.fe8)] // CHECK:STDOUT: %specific_impl_fn.loc12_7.3: = specific_impl_function %impl.elem0.loc12_7.3, @Op.96(%Destroy.facet.loc12) [symbolic = %specific_impl_fn.loc12_7.3 (constants.%specific_impl_fn.f4e)] // CHECK:STDOUT: %None.type: type = fn_type @None, @Optional(%Int.loc11_43.1) [symbolic = %None.type (constants.%None.type.73a)] -// CHECK:STDOUT: %None: @Next.2.%None.type (%None.type.73a) = struct_value () [symbolic = %None (constants.%None.83e)] +// CHECK:STDOUT: %None: @Next.loc11.%None.type (%None.type.73a) = struct_value () [symbolic = %None (constants.%None.83e)] // CHECK:STDOUT: %None.specific_fn.loc17_42.2: = specific_function %None, @None(%Int.loc11_43.1) [symbolic = %None.specific_fn.loc17_42.2 (constants.%None.specific_fn)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%self.param: @Next.2.%IntRange (%IntRange.349), %cursor.param: @Next.2.%ptr.loc11_44.1 (%ptr.784)) -> %return.param: @Next.2.%Optional.loc11_75.1 (%Optional.708) { +// CHECK:STDOUT: fn(%self.param: @Next.loc11.%IntRange (%IntRange.349), %cursor.param: @Next.loc11.%ptr.loc11_44.1 (%ptr.784)) -> %return.param: @Next.loc11.%Optional.loc11_75.1 (%Optional.708) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { -// CHECK:STDOUT: %value.patt: @Next.2.%pattern_type.loc12 (%pattern_type.8963eb.1) = binding_pattern value [concrete] -// CHECK:STDOUT: %value.var_patt: @Next.2.%pattern_type.loc12 (%pattern_type.8963eb.1) = var_pattern %value.patt [concrete] +// CHECK:STDOUT: %value.patt: @Next.loc11.%pattern_type.loc12 (%pattern_type.8963eb.1) = binding_pattern value [concrete] +// CHECK:STDOUT: %value.var_patt: @Next.loc11.%pattern_type.loc12 (%pattern_type.8963eb.1) = var_pattern %value.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %value.var: ref @Next.2.%Int.loc11_43.1 (%Int.49d0e6.1) = var %value.var_patt -// CHECK:STDOUT: %cursor.ref.loc12: @Next.2.%ptr.loc11_44.1 (%ptr.784) = name_ref cursor, %cursor -// CHECK:STDOUT: %.loc12_32.1: ref @Next.2.%Int.loc11_43.1 (%Int.49d0e6.1) = deref %cursor.ref.loc12 -// CHECK:STDOUT: %.loc12_32.2: @Next.2.%Int.loc11_43.1 (%Int.49d0e6.1) = bind_value %.loc12_32.1 +// CHECK:STDOUT: %value.var: ref @Next.loc11.%Int.loc11_43.1 (%Int.49d0e6.1) = var %value.var_patt +// CHECK:STDOUT: %cursor.ref.loc12: @Next.loc11.%ptr.loc11_44.1 (%ptr.784) = name_ref cursor, %cursor +// CHECK:STDOUT: %.loc12_32.1: ref @Next.loc11.%Int.loc11_43.1 (%Int.49d0e6.1) = deref %cursor.ref.loc12 +// CHECK:STDOUT: %.loc12_32.2: @Next.loc11.%Int.loc11_43.1 (%Int.49d0e6.1) = bind_value %.loc12_32.1 // CHECK:STDOUT: assign %value.var, %.loc12_32.2 // CHECK:STDOUT: %.loc12_28: type = splice_block %Int.loc12 [symbolic = %Int.loc11_43.1 (constants.%Int.49d0e6.1)] { // CHECK:STDOUT: %Core.ref.loc12: = name_ref Core, imports.%Core [concrete = imports.%Core] @@ -561,33 +561,33 @@ fn Read() { // CHECK:STDOUT: %N.ref.loc12: Core.IntLiteral = name_ref N, @IntRange.%N.loc4_16.1 [symbolic = %N (constants.%N)] // CHECK:STDOUT: %Int.loc12: type = class_type @Int, @Int(constants.%N) [symbolic = %Int.loc11_43.1 (constants.%Int.49d0e6.1)] // CHECK:STDOUT: } -// CHECK:STDOUT: %value: ref @Next.2.%Int.loc11_43.1 (%Int.49d0e6.1) = bind_name value, %value.var -// CHECK:STDOUT: %value.ref.loc13: ref @Next.2.%Int.loc11_43.1 (%Int.49d0e6.1) = name_ref value, %value -// CHECK:STDOUT: %self.ref: @Next.2.%IntRange (%IntRange.349) = name_ref self, %self -// CHECK:STDOUT: %end.ref: @Next.2.%IntRange.elem (%IntRange.elem.e7c) = name_ref end, @IntRange.%.loc23 [concrete = @IntRange.%.loc23] -// CHECK:STDOUT: %.loc13_23.1: ref @Next.2.%Int.loc11_43.1 (%Int.49d0e6.1) = class_element_access %self.ref, element1 -// CHECK:STDOUT: %.loc13_23.2: @Next.2.%Int.loc11_43.1 (%Int.49d0e6.1) = bind_value %.loc13_23.1 +// CHECK:STDOUT: %value: ref @Next.loc11.%Int.loc11_43.1 (%Int.49d0e6.1) = bind_name value, %value.var +// CHECK:STDOUT: %value.ref.loc13: ref @Next.loc11.%Int.loc11_43.1 (%Int.49d0e6.1) = name_ref value, %value +// CHECK:STDOUT: %self.ref: @Next.loc11.%IntRange (%IntRange.349) = name_ref self, %self +// CHECK:STDOUT: %end.ref: @Next.loc11.%IntRange.elem (%IntRange.elem.e7c) = name_ref end, @IntRange.%.loc23 [concrete = @IntRange.%.loc23] +// CHECK:STDOUT: %.loc13_23.1: ref @Next.loc11.%Int.loc11_43.1 (%Int.49d0e6.1) = class_element_access %self.ref, element1 +// CHECK:STDOUT: %.loc13_23.2: @Next.loc11.%Int.loc11_43.1 (%Int.49d0e6.1) = bind_value %.loc13_23.1 // CHECK:STDOUT: %OrderedWith.type.loc13_17.1: type = facet_type <@OrderedWith, @OrderedWith(constants.%Int.49d0e6.1)> [symbolic = %OrderedWith.type.loc13_17.2 (constants.%OrderedWith.type.872)] -// CHECK:STDOUT: %.loc13_17.1: @Next.2.%OrderedWith.assoc_type (%OrderedWith.assoc_type.d92) = specific_constant imports.%Core.import_ref.1cc, @OrderedWith(constants.%Int.49d0e6.1) [symbolic = %assoc0 (constants.%assoc0.2ae)] -// CHECK:STDOUT: %Less.ref: @Next.2.%OrderedWith.assoc_type (%OrderedWith.assoc_type.d92) = name_ref Less, %.loc13_17.1 [symbolic = %assoc0 (constants.%assoc0.2ae)] -// CHECK:STDOUT: %impl.elem0.loc13: @Next.2.%.loc13_17.2 (%.99c) = impl_witness_access constants.%OrderedWith.impl_witness.df5, element0 [symbolic = %Less (constants.%Less.4be)] +// CHECK:STDOUT: %.loc13_17.1: @Next.loc11.%OrderedWith.assoc_type (%OrderedWith.assoc_type.d92) = specific_constant imports.%Core.import_ref.1cc, @OrderedWith(constants.%Int.49d0e6.1) [symbolic = %assoc0 (constants.%assoc0.2ae)] +// CHECK:STDOUT: %Less.ref: @Next.loc11.%OrderedWith.assoc_type (%OrderedWith.assoc_type.d92) = name_ref Less, %.loc13_17.1 [symbolic = %assoc0 (constants.%assoc0.2ae)] +// CHECK:STDOUT: %impl.elem0.loc13: @Next.loc11.%.loc13_17.2 (%.99c) = impl_witness_access constants.%OrderedWith.impl_witness.df5, element0 [symbolic = %Less (constants.%Less.4be)] // CHECK:STDOUT: %bound_method.loc13_17.1: = bound_method %value.ref.loc13, %impl.elem0.loc13 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0.loc13, @Less.2(constants.%N, constants.%N) [symbolic = %Less.specific_fn (constants.%Less.specific_fn.bb3)] // CHECK:STDOUT: %bound_method.loc13_17.2: = bound_method %value.ref.loc13, %specific_fn -// CHECK:STDOUT: %.loc13_11: @Next.2.%Int.loc11_43.1 (%Int.49d0e6.1) = bind_value %value.ref.loc13 +// CHECK:STDOUT: %.loc13_11: @Next.loc11.%Int.loc11_43.1 (%Int.49d0e6.1) = bind_value %value.ref.loc13 // CHECK:STDOUT: %int.less: init bool = call %bound_method.loc13_17.2(%.loc13_11, %.loc13_23.2) // CHECK:STDOUT: %.loc13_27.1: bool = value_of_initializer %int.less // CHECK:STDOUT: %.loc13_27.2: bool = converted %int.less, %.loc13_27.1 // CHECK:STDOUT: if %.loc13_27.2 br !if.then else br !if.else // CHECK:STDOUT: // CHECK:STDOUT: !if.then: -// CHECK:STDOUT: %cursor.ref.loc14: @Next.2.%ptr.loc11_44.1 (%ptr.784) = name_ref cursor, %cursor -// CHECK:STDOUT: %.loc14_11: ref @Next.2.%Int.loc11_43.1 (%Int.49d0e6.1) = deref %cursor.ref.loc14 -// CHECK:STDOUT: %impl.elem0.loc14_9.1: @Next.2.%.loc14_9.2 (%.a0d) = impl_witness_access constants.%Inc.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc14_9.2 (constants.%impl.elem0.437)] +// CHECK:STDOUT: %cursor.ref.loc14: @Next.loc11.%ptr.loc11_44.1 (%ptr.784) = name_ref cursor, %cursor +// CHECK:STDOUT: %.loc14_11: ref @Next.loc11.%Int.loc11_43.1 (%Int.49d0e6.1) = deref %cursor.ref.loc14 +// CHECK:STDOUT: %impl.elem0.loc14_9.1: @Next.loc11.%.loc14_9.2 (%.a0d) = impl_witness_access constants.%Inc.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc14_9.2 (constants.%impl.elem0.437)] // CHECK:STDOUT: %bound_method.loc14_9.1: = bound_method %.loc14_11, %impl.elem0.loc14_9.1 // CHECK:STDOUT: %specific_impl_fn.loc14_9.1: = specific_impl_function %impl.elem0.loc14_9.1, @Op.95(constants.%Inc.facet) [symbolic = %specific_impl_fn.loc14_9.2 (constants.%specific_impl_fn.a5f)] // CHECK:STDOUT: %bound_method.loc14_9.2: = bound_method %.loc14_11, %specific_impl_fn.loc14_9.1 -// CHECK:STDOUT: %addr.loc14: @Next.2.%ptr.loc11_44.1 (%ptr.784) = addr_of %.loc14_11 +// CHECK:STDOUT: %addr.loc14: @Next.loc11.%ptr.loc11_44.1 (%ptr.784) = addr_of %.loc14_11 // CHECK:STDOUT: %.loc14_9.1: init %empty_tuple.type = call %bound_method.loc14_9.2(%addr.loc14) // CHECK:STDOUT: %Core.ref.loc15_16: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %Optional.ref.loc15: %Optional.type = name_ref Optional, imports.%Core.Optional [concrete = constants.%Optional.generic] @@ -596,24 +596,24 @@ fn Read() { // CHECK:STDOUT: %N.ref.loc15: Core.IntLiteral = name_ref N, @IntRange.%N.loc4_16.1 [symbolic = %N (constants.%N)] // CHECK:STDOUT: %Int.loc15: type = class_type @Int, @Int(constants.%N) [symbolic = %Int.loc11_43.1 (constants.%Int.49d0e6.1)] // CHECK:STDOUT: %Optional.loc15: type = class_type @Optional, @Optional(constants.%Int.49d0e6.1) [symbolic = %Optional.loc11_75.1 (constants.%Optional.708)] -// CHECK:STDOUT: %.loc15_42: @Next.2.%Some.type (%Some.type.185) = specific_constant imports.%Core.import_ref.5c6, @Optional(constants.%Int.49d0e6.1) [symbolic = %Some (constants.%Some.58a)] -// CHECK:STDOUT: %Some.ref: @Next.2.%Some.type (%Some.type.185) = name_ref Some, %.loc15_42 [symbolic = %Some (constants.%Some.58a)] -// CHECK:STDOUT: %value.ref.loc15: ref @Next.2.%Int.loc11_43.1 (%Int.49d0e6.1) = name_ref value, %value +// CHECK:STDOUT: %.loc15_42: @Next.loc11.%Some.type (%Some.type.185) = specific_constant imports.%Core.import_ref.5c6, @Optional(constants.%Int.49d0e6.1) [symbolic = %Some (constants.%Some.58a)] +// CHECK:STDOUT: %Some.ref: @Next.loc11.%Some.type (%Some.type.185) = name_ref Some, %.loc15_42 [symbolic = %Some (constants.%Some.58a)] +// CHECK:STDOUT: %value.ref.loc15: ref @Next.loc11.%Int.loc11_43.1 (%Int.49d0e6.1) = name_ref value, %value // CHECK:STDOUT: %Some.specific_fn.loc15_42.1: = specific_function %Some.ref, @Some(constants.%Int.49d0e6.1) [symbolic = %Some.specific_fn.loc15_42.2 (constants.%Some.specific_fn)] -// CHECK:STDOUT: %.loc11_47.1: ref @Next.2.%Optional.loc11_75.1 (%Optional.708) = splice_block %return {} -// CHECK:STDOUT: %.loc15_48: @Next.2.%Int.loc11_43.1 (%Int.49d0e6.1) = bind_value %value.ref.loc15 -// CHECK:STDOUT: %Some.call: init @Next.2.%Optional.loc11_75.1 (%Optional.708) = call %Some.specific_fn.loc15_42.1(%.loc15_48) to %.loc11_47.1 -// CHECK:STDOUT: %impl.elem0.loc11_47.1: @Next.2.%.loc11_47.6 (%.1ee) = impl_witness_access constants.%Destroy.lookup_impl_witness.f9d, element0 [symbolic = %impl.elem0.loc11_47.4 (constants.%impl.elem0.5fd)] +// CHECK:STDOUT: %.loc11_47.1: ref @Next.loc11.%Optional.loc11_75.1 (%Optional.708) = splice_block %return {} +// CHECK:STDOUT: %.loc15_48: @Next.loc11.%Int.loc11_43.1 (%Int.49d0e6.1) = bind_value %value.ref.loc15 +// CHECK:STDOUT: %Some.call: init @Next.loc11.%Optional.loc11_75.1 (%Optional.708) = call %Some.specific_fn.loc15_42.1(%.loc15_48) to %.loc11_47.1 +// CHECK:STDOUT: %impl.elem0.loc11_47.1: @Next.loc11.%.loc11_47.6 (%.1ee) = impl_witness_access constants.%Destroy.lookup_impl_witness.f9d, element0 [symbolic = %impl.elem0.loc11_47.4 (constants.%impl.elem0.5fd)] // CHECK:STDOUT: %bound_method.loc11_47.1: = bound_method %.loc11_47.1, %impl.elem0.loc11_47.1 // CHECK:STDOUT: %specific_impl_fn.loc11_47.1: = specific_impl_function %impl.elem0.loc11_47.1, @Op.96(constants.%Destroy.facet.be9) [symbolic = %specific_impl_fn.loc11_47.4 (constants.%specific_impl_fn.79e)] // CHECK:STDOUT: %bound_method.loc11_47.2: = bound_method %.loc11_47.1, %specific_impl_fn.loc11_47.1 -// CHECK:STDOUT: %addr.loc11_47.1: @Next.2.%ptr.loc11_47 (%ptr.2aa) = addr_of %.loc11_47.1 +// CHECK:STDOUT: %addr.loc11_47.1: @Next.loc11.%ptr.loc11_47 (%ptr.2aa) = addr_of %.loc11_47.1 // CHECK:STDOUT: %.loc11_47.2: init %empty_tuple.type = call %bound_method.loc11_47.2(%addr.loc11_47.1) -// CHECK:STDOUT: %impl.elem0.loc12_7.1: @Next.2.%.loc12_7.3 (%.bbc) = impl_witness_access constants.%Destroy.lookup_impl_witness.34a, element0 [symbolic = %impl.elem0.loc12_7.3 (constants.%impl.elem0.fe8)] +// CHECK:STDOUT: %impl.elem0.loc12_7.1: @Next.loc11.%.loc12_7.3 (%.bbc) = impl_witness_access constants.%Destroy.lookup_impl_witness.34a, element0 [symbolic = %impl.elem0.loc12_7.3 (constants.%impl.elem0.fe8)] // CHECK:STDOUT: %bound_method.loc12_7.1: = bound_method %value.var, %impl.elem0.loc12_7.1 // CHECK:STDOUT: %specific_impl_fn.loc12_7.1: = specific_impl_function %impl.elem0.loc12_7.1, @Op.96(constants.%Destroy.facet.13d) [symbolic = %specific_impl_fn.loc12_7.3 (constants.%specific_impl_fn.f4e)] // CHECK:STDOUT: %bound_method.loc12_7.2: = bound_method %value.var, %specific_impl_fn.loc12_7.1 -// CHECK:STDOUT: %addr.loc12_7.1: @Next.2.%ptr.loc11_44.1 (%ptr.784) = addr_of %value.var +// CHECK:STDOUT: %addr.loc12_7.1: @Next.loc11.%ptr.loc11_44.1 (%ptr.784) = addr_of %value.var // CHECK:STDOUT: %.loc12_7.1: init %empty_tuple.type = call %bound_method.loc12_7.2(%addr.loc12_7.1) // CHECK:STDOUT: return %Some.call to %return // CHECK:STDOUT: @@ -625,28 +625,28 @@ fn Read() { // CHECK:STDOUT: %N.ref.loc17: Core.IntLiteral = name_ref N, @IntRange.%N.loc4_16.1 [symbolic = %N (constants.%N)] // CHECK:STDOUT: %Int.loc17: type = class_type @Int, @Int(constants.%N) [symbolic = %Int.loc11_43.1 (constants.%Int.49d0e6.1)] // CHECK:STDOUT: %Optional.loc17: type = class_type @Optional, @Optional(constants.%Int.49d0e6.1) [symbolic = %Optional.loc11_75.1 (constants.%Optional.708)] -// CHECK:STDOUT: %.loc17: @Next.2.%None.type (%None.type.73a) = specific_constant imports.%Core.import_ref.2b7, @Optional(constants.%Int.49d0e6.1) [symbolic = %None (constants.%None.83e)] -// CHECK:STDOUT: %None.ref: @Next.2.%None.type (%None.type.73a) = name_ref None, %.loc17 [symbolic = %None (constants.%None.83e)] +// CHECK:STDOUT: %.loc17: @Next.loc11.%None.type (%None.type.73a) = specific_constant imports.%Core.import_ref.2b7, @Optional(constants.%Int.49d0e6.1) [symbolic = %None (constants.%None.83e)] +// CHECK:STDOUT: %None.ref: @Next.loc11.%None.type (%None.type.73a) = name_ref None, %.loc17 [symbolic = %None (constants.%None.83e)] // CHECK:STDOUT: %None.specific_fn.loc17_42.1: = specific_function %None.ref, @None(constants.%Int.49d0e6.1) [symbolic = %None.specific_fn.loc17_42.2 (constants.%None.specific_fn)] -// CHECK:STDOUT: %.loc11_47.3: ref @Next.2.%Optional.loc11_75.1 (%Optional.708) = splice_block %return {} -// CHECK:STDOUT: %None.call: init @Next.2.%Optional.loc11_75.1 (%Optional.708) = call %None.specific_fn.loc17_42.1() to %.loc11_47.3 -// CHECK:STDOUT: %impl.elem0.loc11_47.2: @Next.2.%.loc11_47.6 (%.1ee) = impl_witness_access constants.%Destroy.lookup_impl_witness.f9d, element0 [symbolic = %impl.elem0.loc11_47.4 (constants.%impl.elem0.5fd)] +// CHECK:STDOUT: %.loc11_47.3: ref @Next.loc11.%Optional.loc11_75.1 (%Optional.708) = splice_block %return {} +// CHECK:STDOUT: %None.call: init @Next.loc11.%Optional.loc11_75.1 (%Optional.708) = call %None.specific_fn.loc17_42.1() to %.loc11_47.3 +// CHECK:STDOUT: %impl.elem0.loc11_47.2: @Next.loc11.%.loc11_47.6 (%.1ee) = impl_witness_access constants.%Destroy.lookup_impl_witness.f9d, element0 [symbolic = %impl.elem0.loc11_47.4 (constants.%impl.elem0.5fd)] // CHECK:STDOUT: %bound_method.loc11_47.3: = bound_method %.loc11_47.3, %impl.elem0.loc11_47.2 // CHECK:STDOUT: %specific_impl_fn.loc11_47.2: = specific_impl_function %impl.elem0.loc11_47.2, @Op.96(constants.%Destroy.facet.be9) [symbolic = %specific_impl_fn.loc11_47.4 (constants.%specific_impl_fn.79e)] // CHECK:STDOUT: %bound_method.loc11_47.4: = bound_method %.loc11_47.3, %specific_impl_fn.loc11_47.2 -// CHECK:STDOUT: %addr.loc11_47.2: @Next.2.%ptr.loc11_47 (%ptr.2aa) = addr_of %.loc11_47.3 +// CHECK:STDOUT: %addr.loc11_47.2: @Next.loc11.%ptr.loc11_47 (%ptr.2aa) = addr_of %.loc11_47.3 // CHECK:STDOUT: %.loc11_47.4: init %empty_tuple.type = call %bound_method.loc11_47.4(%addr.loc11_47.2) -// CHECK:STDOUT: %impl.elem0.loc11_47.3: @Next.2.%.loc11_47.6 (%.1ee) = impl_witness_access constants.%Destroy.lookup_impl_witness.f9d, element0 [symbolic = %impl.elem0.loc11_47.4 (constants.%impl.elem0.5fd)] +// CHECK:STDOUT: %impl.elem0.loc11_47.3: @Next.loc11.%.loc11_47.6 (%.1ee) = impl_witness_access constants.%Destroy.lookup_impl_witness.f9d, element0 [symbolic = %impl.elem0.loc11_47.4 (constants.%impl.elem0.5fd)] // CHECK:STDOUT: %bound_method.loc11_47.5: = bound_method %.loc11_47.1, %impl.elem0.loc11_47.3 // CHECK:STDOUT: %specific_impl_fn.loc11_47.3: = specific_impl_function %impl.elem0.loc11_47.3, @Op.96(constants.%Destroy.facet.be9) [symbolic = %specific_impl_fn.loc11_47.4 (constants.%specific_impl_fn.79e)] // CHECK:STDOUT: %bound_method.loc11_47.6: = bound_method %.loc11_47.1, %specific_impl_fn.loc11_47.3 -// CHECK:STDOUT: %addr.loc11_47.3: @Next.2.%ptr.loc11_47 (%ptr.2aa) = addr_of %.loc11_47.1 +// CHECK:STDOUT: %addr.loc11_47.3: @Next.loc11.%ptr.loc11_47 (%ptr.2aa) = addr_of %.loc11_47.1 // CHECK:STDOUT: %.loc11_47.5: init %empty_tuple.type = call %bound_method.loc11_47.6(%addr.loc11_47.3) -// CHECK:STDOUT: %impl.elem0.loc12_7.2: @Next.2.%.loc12_7.3 (%.bbc) = impl_witness_access constants.%Destroy.lookup_impl_witness.34a, element0 [symbolic = %impl.elem0.loc12_7.3 (constants.%impl.elem0.fe8)] +// CHECK:STDOUT: %impl.elem0.loc12_7.2: @Next.loc11.%.loc12_7.3 (%.bbc) = impl_witness_access constants.%Destroy.lookup_impl_witness.34a, element0 [symbolic = %impl.elem0.loc12_7.3 (constants.%impl.elem0.fe8)] // CHECK:STDOUT: %bound_method.loc12_7.3: = bound_method %value.var, %impl.elem0.loc12_7.2 // CHECK:STDOUT: %specific_impl_fn.loc12_7.2: = specific_impl_function %impl.elem0.loc12_7.2, @Op.96(constants.%Destroy.facet.13d) [symbolic = %specific_impl_fn.loc12_7.3 (constants.%specific_impl_fn.f4e)] // CHECK:STDOUT: %bound_method.loc12_7.4: = bound_method %value.var, %specific_impl_fn.loc12_7.2 -// CHECK:STDOUT: %addr.loc12_7.2: @Next.2.%ptr.loc11_44.1 (%ptr.784) = addr_of %value.var +// CHECK:STDOUT: %addr.loc12_7.2: @Next.loc11.%ptr.loc11_44.1 (%ptr.784) = addr_of %value.var // CHECK:STDOUT: %.loc12_7.2: init %empty_tuple.type = call %bound_method.loc12_7.4(%addr.loc12_7.2) // CHECK:STDOUT: return %None.call to %return // CHECK:STDOUT: } @@ -724,7 +724,7 @@ fn Read() { // CHECK:STDOUT: %Next => constants.%Next.259 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @NewCursor.2(constants.%N) { +// CHECK:STDOUT: specific @NewCursor.loc10(constants.%N) { // CHECK:STDOUT: %N => constants.%N // CHECK:STDOUT: %IntRange => constants.%IntRange.349 // CHECK:STDOUT: %pattern_type.loc10_18 => constants.%pattern_type.dcd @@ -732,7 +732,7 @@ fn Read() { // CHECK:STDOUT: %pattern_type.loc10_32 => constants.%pattern_type.8963eb.1 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Next.2(constants.%N) { +// CHECK:STDOUT: specific @Next.loc11(constants.%N) { // CHECK:STDOUT: %N => constants.%N // CHECK:STDOUT: %IntRange => constants.%IntRange.349 // CHECK:STDOUT: %pattern_type.loc11_13 => constants.%pattern_type.dcd diff --git a/toolchain/check/testdata/for/basic.carbon b/toolchain/check/testdata/for/basic.carbon index 392514a0251c..7d64a5db2c0b 100644 --- a/toolchain/check/testdata/for/basic.carbon +++ b/toolchain/check/testdata/for/basic.carbon @@ -67,15 +67,15 @@ fn Run() { // CHECK:STDOUT: %Get.type.e03: type = fn_type @Get, @Optional(%T) [symbolic] // CHECK:STDOUT: %Get.971: %Get.type.e03 = struct_value () [symbolic] // CHECK:STDOUT: %Iterate.impl_witness: = impl_witness @TrivialRange.%Iterate.impl_witness_table [concrete] -// CHECK:STDOUT: %NewCursor.type.bd2331.1: type = fn_type @NewCursor.2 [concrete] +// CHECK:STDOUT: %NewCursor.type.bd2331.1: type = fn_type @NewCursor.loc6_32.1 [concrete] // CHECK:STDOUT: %NewCursor.c20a1c.1: %NewCursor.type.bd2331.1 = struct_value () [concrete] // CHECK:STDOUT: %ptr.843: type = ptr_type %empty_tuple.type [concrete] // CHECK:STDOUT: %Optional.f9a: type = class_type @Optional, @Optional(%empty_tuple.type) [concrete] -// CHECK:STDOUT: %Next.type.9f0: type = fn_type @Next.2 [concrete] +// CHECK:STDOUT: %Next.type.9f0: type = fn_type @Next.loc7 [concrete] // CHECK:STDOUT: %Next.029: %Next.type.9f0 = struct_value () [concrete] // CHECK:STDOUT: %Iterate.facet.d50: %Iterate.type = facet_value %TrivialRange, (%Iterate.impl_witness) [concrete] // CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] -// CHECK:STDOUT: %NewCursor.type.bd2331.2: type = fn_type @NewCursor.3 [concrete] +// CHECK:STDOUT: %NewCursor.type.bd2331.2: type = fn_type @NewCursor.loc6_32.2 [concrete] // CHECK:STDOUT: %NewCursor.c20a1c.2: %NewCursor.type.bd2331.2 = struct_value () [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %HasValue.type.b7a: type = fn_type @HasValue, @Optional(%empty_tuple.type) [concrete] diff --git a/toolchain/check/testdata/function/builtin/call_from_operator.carbon b/toolchain/check/testdata/function/builtin/call_from_operator.carbon index 3300a296ff27..97809c406ca7 100644 --- a/toolchain/check/testdata/function/builtin/call_from_operator.carbon +++ b/toolchain/check/testdata/function/builtin/call_from_operator.carbon @@ -69,7 +69,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %Self.deb: %AddWith.type.bc7 = bind_symbolic_name Self, 1 [symbolic] // CHECK:STDOUT: %Self.as_type.6cc: type = facet_access_type %Self.deb [symbolic] // CHECK:STDOUT: %pattern_type.4a8: type = pattern_type %Self.as_type.6cc [symbolic] -// CHECK:STDOUT: %Op.type.5b7: type = fn_type @Op.1, @AddWith(%T) [symbolic] +// CHECK:STDOUT: %Op.type.5b7: type = fn_type @Op.loc8, @AddWith(%T) [symbolic] // CHECK:STDOUT: %Op.037: %Op.type.5b7 = struct_value () [symbolic] // CHECK:STDOUT: %AddWith.assoc_type.36e: type = assoc_entity_type @AddWith, @AddWith(%T) [symbolic] // CHECK:STDOUT: %assoc0.adf: %AddWith.assoc_type.36e = assoc_entity element0, @AddWith.%Op.decl [symbolic] @@ -80,7 +80,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %Self.as_type.7f0: type = facet_access_type %Self.b4e [symbolic] // CHECK:STDOUT: %pattern_type.947: type = pattern_type %Self.as_type.7f0 [symbolic] // CHECK:STDOUT: %pattern_type.7dc: type = pattern_type %T [symbolic] -// CHECK:STDOUT: %Convert.type.ad1: type = fn_type @Convert.1, @As(%T) [symbolic] +// CHECK:STDOUT: %Convert.type.ad1: type = fn_type @Convert.loc12, @As(%T) [symbolic] // CHECK:STDOUT: %Convert.0ed: %Convert.type.ad1 = struct_value () [symbolic] // CHECK:STDOUT: %As.assoc_type.a21: type = assoc_entity_type @As, @As(%T) [symbolic] // CHECK:STDOUT: %assoc0.1d5: %As.assoc_type.a21 = assoc_entity element0, @As.%Convert.decl [symbolic] @@ -90,7 +90,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %Self.0f3: %ImplicitAs.type.07f = bind_symbolic_name Self, 1 [symbolic] // CHECK:STDOUT: %Self.as_type.419: type = facet_access_type %Self.0f3 [symbolic] // CHECK:STDOUT: %pattern_type.a93: type = pattern_type %Self.as_type.419 [symbolic] -// CHECK:STDOUT: %Convert.type.4cf: type = fn_type @Convert.2, @ImplicitAs(%T) [symbolic] +// CHECK:STDOUT: %Convert.type.4cf: type = fn_type @Convert.loc16, @ImplicitAs(%T) [symbolic] // CHECK:STDOUT: %Convert.147: %Convert.type.4cf = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.assoc_type.095: type = assoc_entity_type @ImplicitAs, @ImplicitAs(%T) [symbolic] // CHECK:STDOUT: %assoc0.8f8: %ImplicitAs.assoc_type.095 = assoc_entity element0, @ImplicitAs.%Convert.decl [symbolic] @@ -98,43 +98,43 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %i32.builtin: type = int_type signed, %int_32 [concrete] // CHECK:STDOUT: %AddWith.type.49d: type = facet_type <@AddWith, @AddWith(%i32.builtin)> [concrete] // CHECK:STDOUT: %Self.da9: %AddWith.type.49d = bind_symbolic_name Self, 1 [symbolic] -// CHECK:STDOUT: %Op.type.efc: type = fn_type @Op.1, @AddWith(%i32.builtin) [concrete] +// CHECK:STDOUT: %Op.type.efc: type = fn_type @Op.loc8, @AddWith(%i32.builtin) [concrete] // CHECK:STDOUT: %Op.a62: %Op.type.efc = struct_value () [concrete] // CHECK:STDOUT: %AddWith.assoc_type.a65: type = assoc_entity_type @AddWith, @AddWith(%i32.builtin) [concrete] // CHECK:STDOUT: %assoc0.ee2: %AddWith.assoc_type.a65 = assoc_entity element0, @AddWith.%Op.decl [concrete] // CHECK:STDOUT: %AddWith.impl_witness: = impl_witness file.%AddWith.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.956: type = pattern_type %i32.builtin [concrete] -// CHECK:STDOUT: %Op.type.e57: type = fn_type @Op.2 [concrete] +// CHECK:STDOUT: %Op.type.e57: type = fn_type @Op.loc20 [concrete] // CHECK:STDOUT: %Op.c8a: %Op.type.e57 = struct_value () [concrete] // CHECK:STDOUT: %AddWith.facet: %AddWith.type.49d = facet_value %i32.builtin, (%AddWith.impl_witness) [concrete] // CHECK:STDOUT: %As.type.a09: type = facet_type <@As, @As(%i32.builtin)> [concrete] // CHECK:STDOUT: %Self.2fa: %As.type.a09 = bind_symbolic_name Self, 1 [symbolic] -// CHECK:STDOUT: %Convert.type.c0d: type = fn_type @Convert.1, @As(%i32.builtin) [concrete] +// CHECK:STDOUT: %Convert.type.c0d: type = fn_type @Convert.loc12, @As(%i32.builtin) [concrete] // CHECK:STDOUT: %Convert.713: %Convert.type.c0d = struct_value () [concrete] // CHECK:STDOUT: %As.assoc_type.b9b: type = assoc_entity_type @As, @As(%i32.builtin) [concrete] // CHECK:STDOUT: %assoc0.b02: %As.assoc_type.b9b = assoc_entity element0, @As.%Convert.decl [concrete] // CHECK:STDOUT: %As.impl_witness: = impl_witness file.%As.impl_witness_table [concrete] -// CHECK:STDOUT: %Convert.type.fc9: type = fn_type @Convert.3 [concrete] +// CHECK:STDOUT: %Convert.type.fc9: type = fn_type @Convert.loc24 [concrete] // CHECK:STDOUT: %Convert.33c: %Convert.type.fc9 = struct_value () [concrete] // CHECK:STDOUT: %As.facet: %As.type.a09 = facet_value Core.IntLiteral, (%As.impl_witness) [concrete] // CHECK:STDOUT: %ImplicitAs.type.11a: type = facet_type <@ImplicitAs, @ImplicitAs(%i32.builtin)> [concrete] // CHECK:STDOUT: %Self.e0a: %ImplicitAs.type.11a = bind_symbolic_name Self, 1 [symbolic] -// CHECK:STDOUT: %Convert.type.752: type = fn_type @Convert.2, @ImplicitAs(%i32.builtin) [concrete] +// CHECK:STDOUT: %Convert.type.752: type = fn_type @Convert.loc16, @ImplicitAs(%i32.builtin) [concrete] // CHECK:STDOUT: %Convert.fcc: %Convert.type.752 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.assoc_type.1cf: type = assoc_entity_type @ImplicitAs, @ImplicitAs(%i32.builtin) [concrete] // CHECK:STDOUT: %assoc0.3ce: %ImplicitAs.assoc_type.1cf = assoc_entity element0, @ImplicitAs.%Convert.decl [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness.be0: = impl_witness file.%ImplicitAs.impl_witness_table.loc27 [concrete] -// CHECK:STDOUT: %Convert.type.c2a: type = fn_type @Convert.4 [concrete] +// CHECK:STDOUT: %Convert.type.c2a: type = fn_type @Convert.loc28 [concrete] // CHECK:STDOUT: %Convert.40d: %Convert.type.c2a = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.bcb: %ImplicitAs.type.11a = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.be0) [concrete] // CHECK:STDOUT: %ImplicitAs.type.9fc: type = facet_type <@ImplicitAs, @ImplicitAs(Core.IntLiteral)> [concrete] // CHECK:STDOUT: %Self.37e: %ImplicitAs.type.9fc = bind_symbolic_name Self, 1 [symbolic] -// CHECK:STDOUT: %Convert.type.60e: type = fn_type @Convert.2, @ImplicitAs(Core.IntLiteral) [concrete] +// CHECK:STDOUT: %Convert.type.60e: type = fn_type @Convert.loc16, @ImplicitAs(Core.IntLiteral) [concrete] // CHECK:STDOUT: %Convert.c73: %Convert.type.60e = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.assoc_type.014: type = assoc_entity_type @ImplicitAs, @ImplicitAs(Core.IntLiteral) [concrete] // CHECK:STDOUT: %assoc0.757: %ImplicitAs.assoc_type.014 = assoc_entity element0, @ImplicitAs.%Convert.decl [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness.95b: = impl_witness file.%ImplicitAs.impl_witness_table.loc31 [concrete] -// CHECK:STDOUT: %Convert.type.295: type = fn_type @Convert.5 [concrete] +// CHECK:STDOUT: %Convert.type.295: type = fn_type @Convert.loc32 [concrete] // CHECK:STDOUT: %Convert.2bf: %Convert.type.295 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.a85: %ImplicitAs.type.9fc = facet_value %i32.builtin, (%ImplicitAs.impl_witness.95b) [concrete] // CHECK:STDOUT: } @@ -250,43 +250,43 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: !definition: // CHECK:STDOUT: %AddWith.type: type = facet_type <@AddWith, @AddWith(%T.loc7_19.2)> [symbolic = %AddWith.type (constants.%AddWith.type.bc7)] // CHECK:STDOUT: %Self.2: @AddWith.%AddWith.type (%AddWith.type.bc7) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.deb)] -// CHECK:STDOUT: %Op.type: type = fn_type @Op.1, @AddWith(%T.loc7_19.2) [symbolic = %Op.type (constants.%Op.type.5b7)] +// CHECK:STDOUT: %Op.type: type = fn_type @Op.loc8, @AddWith(%T.loc7_19.2) [symbolic = %Op.type (constants.%Op.type.5b7)] // CHECK:STDOUT: %Op: @AddWith.%Op.type (%Op.type.5b7) = struct_value () [symbolic = %Op (constants.%Op.037)] // CHECK:STDOUT: %AddWith.assoc_type: type = assoc_entity_type @AddWith, @AddWith(%T.loc7_19.2) [symbolic = %AddWith.assoc_type (constants.%AddWith.assoc_type.36e)] // CHECK:STDOUT: %assoc0.loc8_41.2: @AddWith.%AddWith.assoc_type (%AddWith.assoc_type.36e) = assoc_entity element0, %Op.decl [symbolic = %assoc0.loc8_41.2 (constants.%assoc0.adf)] // CHECK:STDOUT: // CHECK:STDOUT: interface { // CHECK:STDOUT: %Self.1: @AddWith.%AddWith.type (%AddWith.type.bc7) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.deb)] -// CHECK:STDOUT: %Op.decl: @AddWith.%Op.type (%Op.type.5b7) = fn_decl @Op.1 [symbolic = @AddWith.%Op (constants.%Op.037)] { -// CHECK:STDOUT: %self.patt: @Op.1.%pattern_type (%pattern_type.4a8) = binding_pattern self [concrete] -// CHECK:STDOUT: %self.param_patt: @Op.1.%pattern_type (%pattern_type.4a8) = value_param_pattern %self.patt, call_param0 [concrete] -// CHECK:STDOUT: %other.patt: @Op.1.%pattern_type (%pattern_type.4a8) = binding_pattern other [concrete] -// CHECK:STDOUT: %other.param_patt: @Op.1.%pattern_type (%pattern_type.4a8) = value_param_pattern %other.patt, call_param1 [concrete] -// CHECK:STDOUT: %return.patt: @Op.1.%pattern_type (%pattern_type.4a8) = return_slot_pattern [concrete] -// CHECK:STDOUT: %return.param_patt: @Op.1.%pattern_type (%pattern_type.4a8) = out_param_pattern %return.patt, call_param2 [concrete] +// CHECK:STDOUT: %Op.decl: @AddWith.%Op.type (%Op.type.5b7) = fn_decl @Op.loc8 [symbolic = @AddWith.%Op (constants.%Op.037)] { +// CHECK:STDOUT: %self.patt: @Op.loc8.%pattern_type (%pattern_type.4a8) = binding_pattern self [concrete] +// CHECK:STDOUT: %self.param_patt: @Op.loc8.%pattern_type (%pattern_type.4a8) = value_param_pattern %self.patt, call_param0 [concrete] +// CHECK:STDOUT: %other.patt: @Op.loc8.%pattern_type (%pattern_type.4a8) = binding_pattern other [concrete] +// CHECK:STDOUT: %other.param_patt: @Op.loc8.%pattern_type (%pattern_type.4a8) = value_param_pattern %other.patt, call_param1 [concrete] +// CHECK:STDOUT: %return.patt: @Op.loc8.%pattern_type (%pattern_type.4a8) = return_slot_pattern [concrete] +// CHECK:STDOUT: %return.param_patt: @Op.loc8.%pattern_type (%pattern_type.4a8) = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.loc8_37.1: @Op.1.%AddWith.type (%AddWith.type.bc7) = specific_constant @AddWith.%Self.1, @AddWith(constants.%T) [symbolic = %Self (constants.%Self.deb)] -// CHECK:STDOUT: %Self.ref.loc8_37: @Op.1.%AddWith.type (%AddWith.type.bc7) = name_ref Self, %.loc8_37.1 [symbolic = %Self (constants.%Self.deb)] +// CHECK:STDOUT: %.loc8_37.1: @Op.loc8.%AddWith.type (%AddWith.type.bc7) = specific_constant @AddWith.%Self.1, @AddWith(constants.%T) [symbolic = %Self (constants.%Self.deb)] +// CHECK:STDOUT: %Self.ref.loc8_37: @Op.loc8.%AddWith.type (%AddWith.type.bc7) = name_ref Self, %.loc8_37.1 [symbolic = %Self (constants.%Self.deb)] // CHECK:STDOUT: %Self.as_type.loc8_37: type = facet_access_type %Self.ref.loc8_37 [symbolic = %Self.as_type.loc8_15.1 (constants.%Self.as_type.6cc)] // CHECK:STDOUT: %.loc8_37.2: type = converted %Self.ref.loc8_37, %Self.as_type.loc8_37 [symbolic = %Self.as_type.loc8_15.1 (constants.%Self.as_type.6cc)] -// CHECK:STDOUT: %self.param: @Op.1.%Self.as_type.loc8_15.1 (%Self.as_type.6cc) = value_param call_param0 +// CHECK:STDOUT: %self.param: @Op.loc8.%Self.as_type.loc8_15.1 (%Self.as_type.6cc) = value_param call_param0 // CHECK:STDOUT: %.loc8_15.1: type = splice_block %.loc8_15.3 [symbolic = %Self.as_type.loc8_15.1 (constants.%Self.as_type.6cc)] { -// CHECK:STDOUT: %.loc8_15.2: @Op.1.%AddWith.type (%AddWith.type.bc7) = specific_constant @AddWith.%Self.1, @AddWith(constants.%T) [symbolic = %Self (constants.%Self.deb)] -// CHECK:STDOUT: %Self.ref.loc8_15: @Op.1.%AddWith.type (%AddWith.type.bc7) = name_ref Self, %.loc8_15.2 [symbolic = %Self (constants.%Self.deb)] +// CHECK:STDOUT: %.loc8_15.2: @Op.loc8.%AddWith.type (%AddWith.type.bc7) = specific_constant @AddWith.%Self.1, @AddWith(constants.%T) [symbolic = %Self (constants.%Self.deb)] +// CHECK:STDOUT: %Self.ref.loc8_15: @Op.loc8.%AddWith.type (%AddWith.type.bc7) = name_ref Self, %.loc8_15.2 [symbolic = %Self (constants.%Self.deb)] // CHECK:STDOUT: %Self.as_type.loc8_15.2: type = facet_access_type %Self.ref.loc8_15 [symbolic = %Self.as_type.loc8_15.1 (constants.%Self.as_type.6cc)] // CHECK:STDOUT: %.loc8_15.3: type = converted %Self.ref.loc8_15, %Self.as_type.loc8_15.2 [symbolic = %Self.as_type.loc8_15.1 (constants.%Self.as_type.6cc)] // CHECK:STDOUT: } -// CHECK:STDOUT: %self: @Op.1.%Self.as_type.loc8_15.1 (%Self.as_type.6cc) = bind_name self, %self.param -// CHECK:STDOUT: %other.param: @Op.1.%Self.as_type.loc8_15.1 (%Self.as_type.6cc) = value_param call_param1 +// CHECK:STDOUT: %self: @Op.loc8.%Self.as_type.loc8_15.1 (%Self.as_type.6cc) = bind_name self, %self.param +// CHECK:STDOUT: %other.param: @Op.loc8.%Self.as_type.loc8_15.1 (%Self.as_type.6cc) = value_param call_param1 // CHECK:STDOUT: %.loc8_28.1: type = splice_block %.loc8_28.3 [symbolic = %Self.as_type.loc8_15.1 (constants.%Self.as_type.6cc)] { -// CHECK:STDOUT: %.loc8_28.2: @Op.1.%AddWith.type (%AddWith.type.bc7) = specific_constant @AddWith.%Self.1, @AddWith(constants.%T) [symbolic = %Self (constants.%Self.deb)] -// CHECK:STDOUT: %Self.ref.loc8_28: @Op.1.%AddWith.type (%AddWith.type.bc7) = name_ref Self, %.loc8_28.2 [symbolic = %Self (constants.%Self.deb)] +// CHECK:STDOUT: %.loc8_28.2: @Op.loc8.%AddWith.type (%AddWith.type.bc7) = specific_constant @AddWith.%Self.1, @AddWith(constants.%T) [symbolic = %Self (constants.%Self.deb)] +// CHECK:STDOUT: %Self.ref.loc8_28: @Op.loc8.%AddWith.type (%AddWith.type.bc7) = name_ref Self, %.loc8_28.2 [symbolic = %Self (constants.%Self.deb)] // CHECK:STDOUT: %Self.as_type.loc8_28: type = facet_access_type %Self.ref.loc8_28 [symbolic = %Self.as_type.loc8_15.1 (constants.%Self.as_type.6cc)] // CHECK:STDOUT: %.loc8_28.3: type = converted %Self.ref.loc8_28, %Self.as_type.loc8_28 [symbolic = %Self.as_type.loc8_15.1 (constants.%Self.as_type.6cc)] // CHECK:STDOUT: } -// CHECK:STDOUT: %other: @Op.1.%Self.as_type.loc8_15.1 (%Self.as_type.6cc) = bind_name other, %other.param -// CHECK:STDOUT: %return.param: ref @Op.1.%Self.as_type.loc8_15.1 (%Self.as_type.6cc) = out_param call_param2 -// CHECK:STDOUT: %return: ref @Op.1.%Self.as_type.loc8_15.1 (%Self.as_type.6cc) = return_slot %return.param +// CHECK:STDOUT: %other: @Op.loc8.%Self.as_type.loc8_15.1 (%Self.as_type.6cc) = bind_name other, %other.param +// CHECK:STDOUT: %return.param: ref @Op.loc8.%Self.as_type.loc8_15.1 (%Self.as_type.6cc) = out_param call_param2 +// CHECK:STDOUT: %return: ref @Op.loc8.%Self.as_type.loc8_15.1 (%Self.as_type.6cc) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %assoc0.loc8_41.1: @AddWith.%AddWith.assoc_type (%AddWith.assoc_type.36e) = assoc_entity element0, %Op.decl [symbolic = %assoc0.loc8_41.2 (constants.%assoc0.adf)] // CHECK:STDOUT: @@ -303,30 +303,30 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: !definition: // CHECK:STDOUT: %As.type: type = facet_type <@As, @As(%T.loc11_14.2)> [symbolic = %As.type (constants.%As.type.8ba)] // CHECK:STDOUT: %Self.2: @As.%As.type (%As.type.8ba) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.b4e)] -// CHECK:STDOUT: %Convert.type: type = fn_type @Convert.1, @As(%T.loc11_14.2) [symbolic = %Convert.type (constants.%Convert.type.ad1)] +// CHECK:STDOUT: %Convert.type: type = fn_type @Convert.loc12, @As(%T.loc11_14.2) [symbolic = %Convert.type (constants.%Convert.type.ad1)] // CHECK:STDOUT: %Convert: @As.%Convert.type (%Convert.type.ad1) = struct_value () [symbolic = %Convert (constants.%Convert.0ed)] // CHECK:STDOUT: %As.assoc_type: type = assoc_entity_type @As, @As(%T.loc11_14.2) [symbolic = %As.assoc_type (constants.%As.assoc_type.a21)] // CHECK:STDOUT: %assoc0.loc12_32.2: @As.%As.assoc_type (%As.assoc_type.a21) = assoc_entity element0, %Convert.decl [symbolic = %assoc0.loc12_32.2 (constants.%assoc0.1d5)] // CHECK:STDOUT: // CHECK:STDOUT: interface { // CHECK:STDOUT: %Self.1: @As.%As.type (%As.type.8ba) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.b4e)] -// CHECK:STDOUT: %Convert.decl: @As.%Convert.type (%Convert.type.ad1) = fn_decl @Convert.1 [symbolic = @As.%Convert (constants.%Convert.0ed)] { -// CHECK:STDOUT: %self.patt: @Convert.1.%pattern_type.loc12_14 (%pattern_type.947) = binding_pattern self [concrete] -// CHECK:STDOUT: %self.param_patt: @Convert.1.%pattern_type.loc12_14 (%pattern_type.947) = value_param_pattern %self.patt, call_param0 [concrete] -// CHECK:STDOUT: %return.patt: @Convert.1.%pattern_type.loc12_28 (%pattern_type.7dc) = return_slot_pattern [concrete] -// CHECK:STDOUT: %return.param_patt: @Convert.1.%pattern_type.loc12_28 (%pattern_type.7dc) = out_param_pattern %return.patt, call_param1 [concrete] +// CHECK:STDOUT: %Convert.decl: @As.%Convert.type (%Convert.type.ad1) = fn_decl @Convert.loc12 [symbolic = @As.%Convert (constants.%Convert.0ed)] { +// CHECK:STDOUT: %self.patt: @Convert.loc12.%pattern_type.loc12_14 (%pattern_type.947) = binding_pattern self [concrete] +// CHECK:STDOUT: %self.param_patt: @Convert.loc12.%pattern_type.loc12_14 (%pattern_type.947) = value_param_pattern %self.patt, call_param0 [concrete] +// CHECK:STDOUT: %return.patt: @Convert.loc12.%pattern_type.loc12_28 (%pattern_type.7dc) = return_slot_pattern [concrete] +// CHECK:STDOUT: %return.param_patt: @Convert.loc12.%pattern_type.loc12_28 (%pattern_type.7dc) = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, @As.%T.loc11_14.1 [symbolic = %T (constants.%T)] -// CHECK:STDOUT: %self.param: @Convert.1.%Self.as_type.loc12_20.1 (%Self.as_type.7f0) = value_param call_param0 +// CHECK:STDOUT: %self.param: @Convert.loc12.%Self.as_type.loc12_20.1 (%Self.as_type.7f0) = value_param call_param0 // CHECK:STDOUT: %.loc12_20.1: type = splice_block %.loc12_20.3 [symbolic = %Self.as_type.loc12_20.1 (constants.%Self.as_type.7f0)] { -// CHECK:STDOUT: %.loc12_20.2: @Convert.1.%As.type (%As.type.8ba) = specific_constant @As.%Self.1, @As(constants.%T) [symbolic = %Self (constants.%Self.b4e)] -// CHECK:STDOUT: %Self.ref: @Convert.1.%As.type (%As.type.8ba) = name_ref Self, %.loc12_20.2 [symbolic = %Self (constants.%Self.b4e)] +// CHECK:STDOUT: %.loc12_20.2: @Convert.loc12.%As.type (%As.type.8ba) = specific_constant @As.%Self.1, @As(constants.%T) [symbolic = %Self (constants.%Self.b4e)] +// CHECK:STDOUT: %Self.ref: @Convert.loc12.%As.type (%As.type.8ba) = name_ref Self, %.loc12_20.2 [symbolic = %Self (constants.%Self.b4e)] // CHECK:STDOUT: %Self.as_type.loc12_20.2: type = facet_access_type %Self.ref [symbolic = %Self.as_type.loc12_20.1 (constants.%Self.as_type.7f0)] // CHECK:STDOUT: %.loc12_20.3: type = converted %Self.ref, %Self.as_type.loc12_20.2 [symbolic = %Self.as_type.loc12_20.1 (constants.%Self.as_type.7f0)] // CHECK:STDOUT: } -// CHECK:STDOUT: %self: @Convert.1.%Self.as_type.loc12_20.1 (%Self.as_type.7f0) = bind_name self, %self.param -// CHECK:STDOUT: %return.param: ref @Convert.1.%T (%T) = out_param call_param1 -// CHECK:STDOUT: %return: ref @Convert.1.%T (%T) = return_slot %return.param +// CHECK:STDOUT: %self: @Convert.loc12.%Self.as_type.loc12_20.1 (%Self.as_type.7f0) = bind_name self, %self.param +// CHECK:STDOUT: %return.param: ref @Convert.loc12.%T (%T) = out_param call_param1 +// CHECK:STDOUT: %return: ref @Convert.loc12.%T (%T) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %assoc0.loc12_32.1: @As.%As.assoc_type (%As.assoc_type.a21) = assoc_entity element0, %Convert.decl [symbolic = %assoc0.loc12_32.2 (constants.%assoc0.1d5)] // CHECK:STDOUT: @@ -344,30 +344,30 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: !definition: // CHECK:STDOUT: %ImplicitAs.type: type = facet_type <@ImplicitAs, @ImplicitAs(%T.loc15_22.2)> [symbolic = %ImplicitAs.type (constants.%ImplicitAs.type.07f)] // CHECK:STDOUT: %Self.2: @ImplicitAs.%ImplicitAs.type (%ImplicitAs.type.07f) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.0f3)] -// CHECK:STDOUT: %Convert.type: type = fn_type @Convert.2, @ImplicitAs(%T.loc15_22.2) [symbolic = %Convert.type (constants.%Convert.type.4cf)] +// CHECK:STDOUT: %Convert.type: type = fn_type @Convert.loc16, @ImplicitAs(%T.loc15_22.2) [symbolic = %Convert.type (constants.%Convert.type.4cf)] // CHECK:STDOUT: %Convert: @ImplicitAs.%Convert.type (%Convert.type.4cf) = struct_value () [symbolic = %Convert (constants.%Convert.147)] // CHECK:STDOUT: %ImplicitAs.assoc_type: type = assoc_entity_type @ImplicitAs, @ImplicitAs(%T.loc15_22.2) [symbolic = %ImplicitAs.assoc_type (constants.%ImplicitAs.assoc_type.095)] // CHECK:STDOUT: %assoc0.loc16_32.2: @ImplicitAs.%ImplicitAs.assoc_type (%ImplicitAs.assoc_type.095) = assoc_entity element0, %Convert.decl [symbolic = %assoc0.loc16_32.2 (constants.%assoc0.8f8)] // CHECK:STDOUT: // CHECK:STDOUT: interface { // CHECK:STDOUT: %Self.1: @ImplicitAs.%ImplicitAs.type (%ImplicitAs.type.07f) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.0f3)] -// CHECK:STDOUT: %Convert.decl: @ImplicitAs.%Convert.type (%Convert.type.4cf) = fn_decl @Convert.2 [symbolic = @ImplicitAs.%Convert (constants.%Convert.147)] { -// CHECK:STDOUT: %self.patt: @Convert.2.%pattern_type.loc16_14 (%pattern_type.a93) = binding_pattern self [concrete] -// CHECK:STDOUT: %self.param_patt: @Convert.2.%pattern_type.loc16_14 (%pattern_type.a93) = value_param_pattern %self.patt, call_param0 [concrete] -// CHECK:STDOUT: %return.patt: @Convert.2.%pattern_type.loc16_28 (%pattern_type.7dc) = return_slot_pattern [concrete] -// CHECK:STDOUT: %return.param_patt: @Convert.2.%pattern_type.loc16_28 (%pattern_type.7dc) = out_param_pattern %return.patt, call_param1 [concrete] +// CHECK:STDOUT: %Convert.decl: @ImplicitAs.%Convert.type (%Convert.type.4cf) = fn_decl @Convert.loc16 [symbolic = @ImplicitAs.%Convert (constants.%Convert.147)] { +// CHECK:STDOUT: %self.patt: @Convert.loc16.%pattern_type.loc16_14 (%pattern_type.a93) = binding_pattern self [concrete] +// CHECK:STDOUT: %self.param_patt: @Convert.loc16.%pattern_type.loc16_14 (%pattern_type.a93) = value_param_pattern %self.patt, call_param0 [concrete] +// CHECK:STDOUT: %return.patt: @Convert.loc16.%pattern_type.loc16_28 (%pattern_type.7dc) = return_slot_pattern [concrete] +// CHECK:STDOUT: %return.param_patt: @Convert.loc16.%pattern_type.loc16_28 (%pattern_type.7dc) = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, @ImplicitAs.%T.loc15_22.1 [symbolic = %T (constants.%T)] -// CHECK:STDOUT: %self.param: @Convert.2.%Self.as_type.loc16_20.1 (%Self.as_type.419) = value_param call_param0 +// CHECK:STDOUT: %self.param: @Convert.loc16.%Self.as_type.loc16_20.1 (%Self.as_type.419) = value_param call_param0 // CHECK:STDOUT: %.loc16_20.1: type = splice_block %.loc16_20.3 [symbolic = %Self.as_type.loc16_20.1 (constants.%Self.as_type.419)] { -// CHECK:STDOUT: %.loc16_20.2: @Convert.2.%ImplicitAs.type (%ImplicitAs.type.07f) = specific_constant @ImplicitAs.%Self.1, @ImplicitAs(constants.%T) [symbolic = %Self (constants.%Self.0f3)] -// CHECK:STDOUT: %Self.ref: @Convert.2.%ImplicitAs.type (%ImplicitAs.type.07f) = name_ref Self, %.loc16_20.2 [symbolic = %Self (constants.%Self.0f3)] +// CHECK:STDOUT: %.loc16_20.2: @Convert.loc16.%ImplicitAs.type (%ImplicitAs.type.07f) = specific_constant @ImplicitAs.%Self.1, @ImplicitAs(constants.%T) [symbolic = %Self (constants.%Self.0f3)] +// CHECK:STDOUT: %Self.ref: @Convert.loc16.%ImplicitAs.type (%ImplicitAs.type.07f) = name_ref Self, %.loc16_20.2 [symbolic = %Self (constants.%Self.0f3)] // CHECK:STDOUT: %Self.as_type.loc16_20.2: type = facet_access_type %Self.ref [symbolic = %Self.as_type.loc16_20.1 (constants.%Self.as_type.419)] // CHECK:STDOUT: %.loc16_20.3: type = converted %Self.ref, %Self.as_type.loc16_20.2 [symbolic = %Self.as_type.loc16_20.1 (constants.%Self.as_type.419)] // CHECK:STDOUT: } -// CHECK:STDOUT: %self: @Convert.2.%Self.as_type.loc16_20.1 (%Self.as_type.419) = bind_name self, %self.param -// CHECK:STDOUT: %return.param: ref @Convert.2.%T (%T) = out_param call_param1 -// CHECK:STDOUT: %return: ref @Convert.2.%T (%T) = return_slot %return.param +// CHECK:STDOUT: %self: @Convert.loc16.%Self.as_type.loc16_20.1 (%Self.as_type.419) = bind_name self, %self.param +// CHECK:STDOUT: %return.param: ref @Convert.loc16.%T (%T) = out_param call_param1 +// CHECK:STDOUT: %return: ref @Convert.loc16.%T (%T) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %assoc0.loc16_32.1: @ImplicitAs.%ImplicitAs.assoc_type (%ImplicitAs.assoc_type.095) = assoc_entity element0, %Convert.decl [symbolic = %assoc0.loc16_32.2 (constants.%assoc0.8f8)] // CHECK:STDOUT: @@ -380,7 +380,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @AddWith.impl: %.loc19_6.2 as %AddWith.type { -// CHECK:STDOUT: %Op.decl: %Op.type.e57 = fn_decl @Op.2 [concrete = constants.%Op.c8a] { +// CHECK:STDOUT: %Op.decl: %Op.type.e57 = fn_decl @Op.loc20 [concrete = constants.%Op.c8a] { // CHECK:STDOUT: %self.patt: %pattern_type.956 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.956 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %other.patt: %pattern_type.956 = binding_pattern other [concrete] @@ -405,7 +405,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @As.impl: %.loc23_17.2 as %As.type { -// CHECK:STDOUT: %Convert.decl: %Convert.type.fc9 = fn_decl @Convert.3 [concrete = constants.%Convert.33c] { +// CHECK:STDOUT: %Convert.decl: %Convert.type.fc9 = fn_decl @Convert.loc24 [concrete = constants.%Convert.33c] { // CHECK:STDOUT: %self.patt: %pattern_type.dc0 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.dc0 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %return.patt: %pattern_type.956 = return_slot_pattern [concrete] @@ -428,7 +428,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @ImplicitAs.impl.e13: %.loc27_17.2 as %ImplicitAs.type { -// CHECK:STDOUT: %Convert.decl: %Convert.type.c2a = fn_decl @Convert.4 [concrete = constants.%Convert.40d] { +// CHECK:STDOUT: %Convert.decl: %Convert.type.c2a = fn_decl @Convert.loc28 [concrete = constants.%Convert.40d] { // CHECK:STDOUT: %self.patt: %pattern_type.dc0 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.dc0 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %return.patt: %pattern_type.956 = return_slot_pattern [concrete] @@ -451,7 +451,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @ImplicitAs.impl.3df: %.loc31_6.2 as %ImplicitAs.type { -// CHECK:STDOUT: %Convert.decl: %Convert.type.295 = fn_decl @Convert.5 [concrete = constants.%Convert.2bf] { +// CHECK:STDOUT: %Convert.decl: %Convert.type.295 = fn_decl @Convert.loc32 [concrete = constants.%Convert.2bf] { // CHECK:STDOUT: %self.patt: %pattern_type.956 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.956 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %return.patt: %pattern_type.dc0 = return_slot_pattern [concrete] @@ -478,51 +478,51 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: // CHECK:STDOUT: fn @Int(%N.param: Core.IntLiteral) -> type = "int.make_type_signed"; // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @Op.1(@AddWith.%T.loc7_19.1: type, @AddWith.%Self.1: @AddWith.%AddWith.type (%AddWith.type.bc7)) { +// CHECK:STDOUT: generic fn @Op.loc8(@AddWith.%T.loc7_19.1: type, @AddWith.%Self.1: @AddWith.%AddWith.type (%AddWith.type.bc7)) { // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic = %T (constants.%T)] // CHECK:STDOUT: %AddWith.type: type = facet_type <@AddWith, @AddWith(%T)> [symbolic = %AddWith.type (constants.%AddWith.type.bc7)] -// CHECK:STDOUT: %Self: @Op.1.%AddWith.type (%AddWith.type.bc7) = bind_symbolic_name Self, 1 [symbolic = %Self (constants.%Self.deb)] +// CHECK:STDOUT: %Self: @Op.loc8.%AddWith.type (%AddWith.type.bc7) = bind_symbolic_name Self, 1 [symbolic = %Self (constants.%Self.deb)] // CHECK:STDOUT: %Self.as_type.loc8_15.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc8_15.1 (constants.%Self.as_type.6cc)] // CHECK:STDOUT: %pattern_type: type = pattern_type %Self.as_type.loc8_15.1 [symbolic = %pattern_type (constants.%pattern_type.4a8)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%self.param: @Op.1.%Self.as_type.loc8_15.1 (%Self.as_type.6cc), %other.param: @Op.1.%Self.as_type.loc8_15.1 (%Self.as_type.6cc)) -> @Op.1.%Self.as_type.loc8_15.1 (%Self.as_type.6cc); +// CHECK:STDOUT: fn(%self.param: @Op.loc8.%Self.as_type.loc8_15.1 (%Self.as_type.6cc), %other.param: @Op.loc8.%Self.as_type.loc8_15.1 (%Self.as_type.6cc)) -> @Op.loc8.%Self.as_type.loc8_15.1 (%Self.as_type.6cc); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @Convert.1(@As.%T.loc11_14.1: type, @As.%Self.1: @As.%As.type (%As.type.8ba)) { +// CHECK:STDOUT: generic fn @Convert.loc12(@As.%T.loc11_14.1: type, @As.%Self.1: @As.%As.type (%As.type.8ba)) { // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic = %T (constants.%T)] // CHECK:STDOUT: %As.type: type = facet_type <@As, @As(%T)> [symbolic = %As.type (constants.%As.type.8ba)] -// CHECK:STDOUT: %Self: @Convert.1.%As.type (%As.type.8ba) = bind_symbolic_name Self, 1 [symbolic = %Self (constants.%Self.b4e)] +// CHECK:STDOUT: %Self: @Convert.loc12.%As.type (%As.type.8ba) = bind_symbolic_name Self, 1 [symbolic = %Self (constants.%Self.b4e)] // CHECK:STDOUT: %Self.as_type.loc12_20.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc12_20.1 (constants.%Self.as_type.7f0)] // CHECK:STDOUT: %pattern_type.loc12_14: type = pattern_type %Self.as_type.loc12_20.1 [symbolic = %pattern_type.loc12_14 (constants.%pattern_type.947)] // CHECK:STDOUT: %pattern_type.loc12_28: type = pattern_type %T [symbolic = %pattern_type.loc12_28 (constants.%pattern_type.7dc)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%self.param: @Convert.1.%Self.as_type.loc12_20.1 (%Self.as_type.7f0)) -> @Convert.1.%T (%T); +// CHECK:STDOUT: fn(%self.param: @Convert.loc12.%Self.as_type.loc12_20.1 (%Self.as_type.7f0)) -> @Convert.loc12.%T (%T); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @Convert.2(@ImplicitAs.%T.loc15_22.1: type, @ImplicitAs.%Self.1: @ImplicitAs.%ImplicitAs.type (%ImplicitAs.type.07f)) { +// CHECK:STDOUT: generic fn @Convert.loc16(@ImplicitAs.%T.loc15_22.1: type, @ImplicitAs.%Self.1: @ImplicitAs.%ImplicitAs.type (%ImplicitAs.type.07f)) { // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic = %T (constants.%T)] // CHECK:STDOUT: %ImplicitAs.type: type = facet_type <@ImplicitAs, @ImplicitAs(%T)> [symbolic = %ImplicitAs.type (constants.%ImplicitAs.type.07f)] -// CHECK:STDOUT: %Self: @Convert.2.%ImplicitAs.type (%ImplicitAs.type.07f) = bind_symbolic_name Self, 1 [symbolic = %Self (constants.%Self.0f3)] +// CHECK:STDOUT: %Self: @Convert.loc16.%ImplicitAs.type (%ImplicitAs.type.07f) = bind_symbolic_name Self, 1 [symbolic = %Self (constants.%Self.0f3)] // CHECK:STDOUT: %Self.as_type.loc16_20.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc16_20.1 (constants.%Self.as_type.419)] // CHECK:STDOUT: %pattern_type.loc16_14: type = pattern_type %Self.as_type.loc16_20.1 [symbolic = %pattern_type.loc16_14 (constants.%pattern_type.a93)] // CHECK:STDOUT: %pattern_type.loc16_28: type = pattern_type %T [symbolic = %pattern_type.loc16_28 (constants.%pattern_type.7dc)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%self.param: @Convert.2.%Self.as_type.loc16_20.1 (%Self.as_type.419)) -> @Convert.2.%T (%T); +// CHECK:STDOUT: fn(%self.param: @Convert.loc16.%Self.as_type.loc16_20.1 (%Self.as_type.419)) -> @Convert.loc16.%T (%T); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Op.2(%self.param: %i32.builtin, %other.param: %i32.builtin) -> %i32.builtin = "int.sadd"; +// CHECK:STDOUT: fn @Op.loc20(%self.param: %i32.builtin, %other.param: %i32.builtin) -> %i32.builtin = "int.sadd"; // CHECK:STDOUT: -// CHECK:STDOUT: fn @Convert.3(%self.param: Core.IntLiteral) -> %i32.builtin = "int.convert_checked"; +// CHECK:STDOUT: fn @Convert.loc24(%self.param: Core.IntLiteral) -> %i32.builtin = "int.convert_checked"; // CHECK:STDOUT: -// CHECK:STDOUT: fn @Convert.4(%self.param: Core.IntLiteral) -> %i32.builtin = "int.convert_checked"; +// CHECK:STDOUT: fn @Convert.loc28(%self.param: Core.IntLiteral) -> %i32.builtin = "int.convert_checked"; // CHECK:STDOUT: -// CHECK:STDOUT: fn @Convert.5(%self.param: %i32.builtin) -> Core.IntLiteral = "int.convert_checked"; +// CHECK:STDOUT: fn @Convert.loc32(%self.param: %i32.builtin) -> Core.IntLiteral = "int.convert_checked"; // CHECK:STDOUT: // CHECK:STDOUT: specific @AddWith(constants.%T) { // CHECK:STDOUT: %T.loc7_19.2 => constants.%T // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Op.1(constants.%T, constants.%Self.deb) { +// CHECK:STDOUT: specific @Op.loc8(constants.%T, constants.%Self.deb) { // CHECK:STDOUT: %T => constants.%T // CHECK:STDOUT: %AddWith.type => constants.%AddWith.type.bc7 // CHECK:STDOUT: %Self => constants.%Self.deb @@ -534,7 +534,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %T.loc11_14.2 => constants.%T // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Convert.1(constants.%T, constants.%Self.b4e) { +// CHECK:STDOUT: specific @Convert.loc12(constants.%T, constants.%Self.b4e) { // CHECK:STDOUT: %T => constants.%T // CHECK:STDOUT: %As.type => constants.%As.type.8ba // CHECK:STDOUT: %Self => constants.%Self.b4e @@ -547,7 +547,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %T.loc15_22.2 => constants.%T // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Convert.2(constants.%T, constants.%Self.0f3) { +// CHECK:STDOUT: specific @Convert.loc16(constants.%T, constants.%Self.0f3) { // CHECK:STDOUT: %T => constants.%T // CHECK:STDOUT: %ImplicitAs.type => constants.%ImplicitAs.type.07f // CHECK:STDOUT: %Self => constants.%Self.0f3 @@ -568,7 +568,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %assoc0.loc8_41.2 => constants.%assoc0.ee2 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Op.1(constants.%i32.builtin, constants.%AddWith.facet) { +// CHECK:STDOUT: specific @Op.loc8(constants.%i32.builtin, constants.%AddWith.facet) { // CHECK:STDOUT: %T => constants.%i32.builtin // CHECK:STDOUT: %AddWith.type => constants.%AddWith.type.49d // CHECK:STDOUT: %Self => constants.%AddWith.facet @@ -588,7 +588,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %assoc0.loc12_32.2 => constants.%assoc0.b02 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Convert.1(constants.%i32.builtin, constants.%As.facet) { +// CHECK:STDOUT: specific @Convert.loc12(constants.%i32.builtin, constants.%As.facet) { // CHECK:STDOUT: %T => constants.%i32.builtin // CHECK:STDOUT: %As.type => constants.%As.type.a09 // CHECK:STDOUT: %Self => constants.%As.facet @@ -609,7 +609,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %assoc0.loc16_32.2 => constants.%assoc0.3ce // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Convert.2(constants.%i32.builtin, constants.%ImplicitAs.facet.bcb) { +// CHECK:STDOUT: specific @Convert.loc16(constants.%i32.builtin, constants.%ImplicitAs.facet.bcb) { // CHECK:STDOUT: %T => constants.%i32.builtin // CHECK:STDOUT: %ImplicitAs.type => constants.%ImplicitAs.type.11a // CHECK:STDOUT: %Self => constants.%ImplicitAs.facet.bcb @@ -630,7 +630,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %assoc0.loc16_32.2 => constants.%assoc0.757 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Convert.2(Core.IntLiteral, constants.%ImplicitAs.facet.a85) { +// CHECK:STDOUT: specific @Convert.loc16(Core.IntLiteral, constants.%ImplicitAs.facet.a85) { // CHECK:STDOUT: %T => Core.IntLiteral // CHECK:STDOUT: %ImplicitAs.type => constants.%ImplicitAs.type.9fc // CHECK:STDOUT: %Self => constants.%ImplicitAs.facet.a85 diff --git a/toolchain/check/testdata/function/builtin/fail_redefined.carbon b/toolchain/check/testdata/function/builtin/fail_redefined.carbon index e5b866d2d058..84d6f52a606d 100644 --- a/toolchain/check/testdata/function/builtin/fail_redefined.carbon +++ b/toolchain/check/testdata/function/builtin/fail_redefined.carbon @@ -50,17 +50,17 @@ fn C(n: i32, m: i32) -> i32 = "int.sadd"; // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %pattern_type.7ce: type = pattern_type %i32 [concrete] -// CHECK:STDOUT: %A.type.00d7e7.1: type = fn_type @A.1 [concrete] +// CHECK:STDOUT: %A.type.00d7e7.1: type = fn_type @A.loc15 [concrete] // CHECK:STDOUT: %A.1db889.1: %A.type.00d7e7.1 = struct_value () [concrete] -// CHECK:STDOUT: %A.type.00d7e7.2: type = fn_type @A.2 [concrete] +// CHECK:STDOUT: %A.type.00d7e7.2: type = fn_type @A.loc23 [concrete] // CHECK:STDOUT: %A.1db889.2: %A.type.00d7e7.2 = struct_value () [concrete] -// CHECK:STDOUT: %B.type.e168e5.1: type = fn_type @B.1 [concrete] +// CHECK:STDOUT: %B.type.e168e5.1: type = fn_type @B.loc25 [concrete] // CHECK:STDOUT: %B.d1e2df.1: %B.type.e168e5.1 = struct_value () [concrete] -// CHECK:STDOUT: %B.type.e168e5.2: type = fn_type @B.2 [concrete] +// CHECK:STDOUT: %B.type.e168e5.2: type = fn_type @B.loc33 [concrete] // CHECK:STDOUT: %B.d1e2df.2: %B.type.e168e5.2 = struct_value () [concrete] -// CHECK:STDOUT: %C.type.de0bfe.1: type = fn_type @C.1 [concrete] +// CHECK:STDOUT: %C.type.de0bfe.1: type = fn_type @C.loc35 [concrete] // CHECK:STDOUT: %C.1b0370.1: %C.type.de0bfe.1 = struct_value () [concrete] -// CHECK:STDOUT: %C.type.de0bfe.2: type = fn_type @C.2 [concrete] +// CHECK:STDOUT: %C.type.de0bfe.2: type = fn_type @C.loc43 [concrete] // CHECK:STDOUT: %C.1b0370.2: %C.type.de0bfe.2 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -81,7 +81,7 @@ fn C(n: i32, m: i32) -> i32 = "int.sadd"; // CHECK:STDOUT: .C = %C.decl.loc35 // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core -// CHECK:STDOUT: %A.decl.loc15: %A.type.00d7e7.1 = fn_decl @A.1 [concrete = constants.%A.1db889.1] { +// CHECK:STDOUT: %A.decl.loc15: %A.type.00d7e7.1 = fn_decl @A.loc15 [concrete = constants.%A.1db889.1] { // CHECK:STDOUT: %n.patt: %pattern_type.7ce = binding_pattern n [concrete] // CHECK:STDOUT: %n.param_patt: %pattern_type.7ce = value_param_pattern %n.patt, call_param0 [concrete] // CHECK:STDOUT: %m.patt: %pattern_type.7ce = binding_pattern m [concrete] @@ -106,7 +106,7 @@ fn C(n: i32, m: i32) -> i32 = "int.sadd"; // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param2 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %A.decl.loc23: %A.type.00d7e7.2 = fn_decl @A.2 [concrete = constants.%A.1db889.2] { +// CHECK:STDOUT: %A.decl.loc23: %A.type.00d7e7.2 = fn_decl @A.loc23 [concrete = constants.%A.1db889.2] { // CHECK:STDOUT: %n.patt: %pattern_type.7ce = binding_pattern n [concrete] // CHECK:STDOUT: %n.param_patt: %pattern_type.7ce = value_param_pattern %n.patt, call_param0 [concrete] // CHECK:STDOUT: %m.patt: %pattern_type.7ce = binding_pattern m [concrete] @@ -131,7 +131,7 @@ fn C(n: i32, m: i32) -> i32 = "int.sadd"; // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param2 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %B.decl.loc25: %B.type.e168e5.1 = fn_decl @B.1 [concrete = constants.%B.d1e2df.1] { +// CHECK:STDOUT: %B.decl.loc25: %B.type.e168e5.1 = fn_decl @B.loc25 [concrete = constants.%B.d1e2df.1] { // CHECK:STDOUT: %n.patt: %pattern_type.7ce = binding_pattern n [concrete] // CHECK:STDOUT: %n.param_patt: %pattern_type.7ce = value_param_pattern %n.patt, call_param0 [concrete] // CHECK:STDOUT: %m.patt: %pattern_type.7ce = binding_pattern m [concrete] @@ -156,7 +156,7 @@ fn C(n: i32, m: i32) -> i32 = "int.sadd"; // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param2 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %B.decl.loc33: %B.type.e168e5.2 = fn_decl @B.2 [concrete = constants.%B.d1e2df.2] { +// CHECK:STDOUT: %B.decl.loc33: %B.type.e168e5.2 = fn_decl @B.loc33 [concrete = constants.%B.d1e2df.2] { // CHECK:STDOUT: %n.patt: %pattern_type.7ce = binding_pattern n [concrete] // CHECK:STDOUT: %n.param_patt: %pattern_type.7ce = value_param_pattern %n.patt, call_param0 [concrete] // CHECK:STDOUT: %m.patt: %pattern_type.7ce = binding_pattern m [concrete] @@ -181,7 +181,7 @@ fn C(n: i32, m: i32) -> i32 = "int.sadd"; // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param2 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %C.decl.loc35: %C.type.de0bfe.1 = fn_decl @C.1 [concrete = constants.%C.1b0370.1] { +// CHECK:STDOUT: %C.decl.loc35: %C.type.de0bfe.1 = fn_decl @C.loc35 [concrete = constants.%C.1b0370.1] { // CHECK:STDOUT: %n.patt: %pattern_type.7ce = binding_pattern n [concrete] // CHECK:STDOUT: %n.param_patt: %pattern_type.7ce = value_param_pattern %n.patt, call_param0 [concrete] // CHECK:STDOUT: %m.patt: %pattern_type.7ce = binding_pattern m [concrete] @@ -206,7 +206,7 @@ fn C(n: i32, m: i32) -> i32 = "int.sadd"; // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param2 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %C.decl.loc43: %C.type.de0bfe.2 = fn_decl @C.2 [concrete = constants.%C.1b0370.2] { +// CHECK:STDOUT: %C.decl.loc43: %C.type.de0bfe.2 = fn_decl @C.loc43 [concrete = constants.%C.1b0370.2] { // CHECK:STDOUT: %n.patt: %pattern_type.7ce = binding_pattern n [concrete] // CHECK:STDOUT: %n.param_patt: %pattern_type.7ce = value_param_pattern %n.patt, call_param0 [concrete] // CHECK:STDOUT: %m.patt: %pattern_type.7ce = binding_pattern m [concrete] @@ -233,23 +233,23 @@ fn C(n: i32, m: i32) -> i32 = "int.sadd"; // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @A.1(%n.param: %i32, %m.param: %i32) -> %i32 = "int.sadd"; +// CHECK:STDOUT: fn @A.loc15(%n.param: %i32, %m.param: %i32) -> %i32 = "int.sadd"; // CHECK:STDOUT: -// CHECK:STDOUT: fn @A.2(%n.param: %i32, %m.param: %i32) -> %i32 { +// CHECK:STDOUT: fn @A.loc23(%n.param: %i32, %m.param: %i32) -> %i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %n.ref: %i32 = name_ref n, %n // CHECK:STDOUT: return %n.ref // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @B.1(%n.param: %i32, %m.param: %i32) -> %i32 { +// CHECK:STDOUT: fn @B.loc25(%n.param: %i32, %m.param: %i32) -> %i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %n.ref: %i32 = name_ref n, %n // CHECK:STDOUT: return %n.ref // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @B.2(%n.param: %i32, %m.param: %i32) -> %i32 = "int.sadd"; +// CHECK:STDOUT: fn @B.loc33(%n.param: %i32, %m.param: %i32) -> %i32 = "int.sadd"; // CHECK:STDOUT: -// CHECK:STDOUT: fn @C.1(%n.param: %i32, %m.param: %i32) -> %i32 = "int.sadd"; +// CHECK:STDOUT: fn @C.loc35(%n.param: %i32, %m.param: %i32) -> %i32 = "int.sadd"; // CHECK:STDOUT: -// CHECK:STDOUT: fn @C.2(%n.param: %i32, %m.param: %i32) -> %i32 = "int.sadd"; +// CHECK:STDOUT: fn @C.loc43(%n.param: %i32, %m.param: %i32) -> %i32 = "int.sadd"; // CHECK:STDOUT: diff --git a/toolchain/check/testdata/function/builtin/method.carbon b/toolchain/check/testdata/function/builtin/method.carbon index 242a2a4e3359..307c90f1a25b 100644 --- a/toolchain/check/testdata/function/builtin/method.carbon +++ b/toolchain/check/testdata/function/builtin/method.carbon @@ -29,7 +29,7 @@ var arr: array(i32, (1 as i32).(I.F)(2)); // CHECK:STDOUT: %Self.826: %I.type = bind_symbolic_name Self, 0 [symbolic] // CHECK:STDOUT: %Self.as_type.b70: type = facet_access_type %Self.826 [symbolic] // CHECK:STDOUT: %pattern_type.6de: type = pattern_type %Self.as_type.b70 [symbolic] -// CHECK:STDOUT: %F.type.cf0: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.cf0: type = fn_type @F.loc16 [concrete] // CHECK:STDOUT: %F.bc6: %F.type.cf0 = struct_value () [concrete] // CHECK:STDOUT: %I.assoc_type: type = assoc_entity_type @I [concrete] // CHECK:STDOUT: %assoc0.82e: %I.assoc_type = assoc_entity element0, @I.%F.decl [concrete] @@ -39,7 +39,7 @@ var arr: array(i32, (1 as i32).(I.F)(2)); // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness file.%I.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.7ce: type = pattern_type %i32 [concrete] -// CHECK:STDOUT: %F.type.066: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.066: type = fn_type @F.loc20 [concrete] // CHECK:STDOUT: %F.9ec: %F.type.066 = struct_value () [concrete] // CHECK:STDOUT: %I.facet: %I.type = facet_value %i32, (%I.impl_witness) [concrete] // CHECK:STDOUT: %int_1.5b8: Core.IntLiteral = int_value 1 [concrete] @@ -177,33 +177,33 @@ var arr: array(i32, (1 as i32).(I.F)(2)); // CHECK:STDOUT: // CHECK:STDOUT: interface @I { // CHECK:STDOUT: %Self: %I.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.826] -// CHECK:STDOUT: %F.decl: %F.type.cf0 = fn_decl @F.1 [concrete = constants.%F.bc6] { -// CHECK:STDOUT: %self.patt: @F.1.%pattern_type (%pattern_type.6de) = binding_pattern self [concrete] -// CHECK:STDOUT: %self.param_patt: @F.1.%pattern_type (%pattern_type.6de) = value_param_pattern %self.patt, call_param0 [concrete] -// CHECK:STDOUT: %other.patt: @F.1.%pattern_type (%pattern_type.6de) = binding_pattern other [concrete] -// CHECK:STDOUT: %other.param_patt: @F.1.%pattern_type (%pattern_type.6de) = value_param_pattern %other.patt, call_param1 [concrete] -// CHECK:STDOUT: %return.patt: @F.1.%pattern_type (%pattern_type.6de) = return_slot_pattern [concrete] -// CHECK:STDOUT: %return.param_patt: @F.1.%pattern_type (%pattern_type.6de) = out_param_pattern %return.patt, call_param2 [concrete] +// CHECK:STDOUT: %F.decl: %F.type.cf0 = fn_decl @F.loc16 [concrete = constants.%F.bc6] { +// CHECK:STDOUT: %self.patt: @F.loc16.%pattern_type (%pattern_type.6de) = binding_pattern self [concrete] +// CHECK:STDOUT: %self.param_patt: @F.loc16.%pattern_type (%pattern_type.6de) = value_param_pattern %self.patt, call_param0 [concrete] +// CHECK:STDOUT: %other.patt: @F.loc16.%pattern_type (%pattern_type.6de) = binding_pattern other [concrete] +// CHECK:STDOUT: %other.param_patt: @F.loc16.%pattern_type (%pattern_type.6de) = value_param_pattern %other.patt, call_param1 [concrete] +// CHECK:STDOUT: %return.patt: @F.loc16.%pattern_type (%pattern_type.6de) = return_slot_pattern [concrete] +// CHECK:STDOUT: %return.param_patt: @F.loc16.%pattern_type (%pattern_type.6de) = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref.loc16_36: %I.type = name_ref Self, @I.%Self [symbolic = %Self (constants.%Self.826)] // CHECK:STDOUT: %Self.as_type.loc16_36: type = facet_access_type %Self.ref.loc16_36 [symbolic = %Self.as_type.loc16_14.1 (constants.%Self.as_type.b70)] // CHECK:STDOUT: %.loc16_36: type = converted %Self.ref.loc16_36, %Self.as_type.loc16_36 [symbolic = %Self.as_type.loc16_14.1 (constants.%Self.as_type.b70)] -// CHECK:STDOUT: %self.param: @F.1.%Self.as_type.loc16_14.1 (%Self.as_type.b70) = value_param call_param0 +// CHECK:STDOUT: %self.param: @F.loc16.%Self.as_type.loc16_14.1 (%Self.as_type.b70) = value_param call_param0 // CHECK:STDOUT: %.loc16_14.1: type = splice_block %.loc16_14.2 [symbolic = %Self.as_type.loc16_14.1 (constants.%Self.as_type.b70)] { // CHECK:STDOUT: %Self.ref.loc16_14: %I.type = name_ref Self, @I.%Self [symbolic = %Self (constants.%Self.826)] // CHECK:STDOUT: %Self.as_type.loc16_14.2: type = facet_access_type %Self.ref.loc16_14 [symbolic = %Self.as_type.loc16_14.1 (constants.%Self.as_type.b70)] // CHECK:STDOUT: %.loc16_14.2: type = converted %Self.ref.loc16_14, %Self.as_type.loc16_14.2 [symbolic = %Self.as_type.loc16_14.1 (constants.%Self.as_type.b70)] // CHECK:STDOUT: } -// CHECK:STDOUT: %self: @F.1.%Self.as_type.loc16_14.1 (%Self.as_type.b70) = bind_name self, %self.param -// CHECK:STDOUT: %other.param: @F.1.%Self.as_type.loc16_14.1 (%Self.as_type.b70) = value_param call_param1 +// CHECK:STDOUT: %self: @F.loc16.%Self.as_type.loc16_14.1 (%Self.as_type.b70) = bind_name self, %self.param +// CHECK:STDOUT: %other.param: @F.loc16.%Self.as_type.loc16_14.1 (%Self.as_type.b70) = value_param call_param1 // CHECK:STDOUT: %.loc16_27.1: type = splice_block %.loc16_27.2 [symbolic = %Self.as_type.loc16_14.1 (constants.%Self.as_type.b70)] { // CHECK:STDOUT: %Self.ref.loc16_27: %I.type = name_ref Self, @I.%Self [symbolic = %Self (constants.%Self.826)] // CHECK:STDOUT: %Self.as_type.loc16_27: type = facet_access_type %Self.ref.loc16_27 [symbolic = %Self.as_type.loc16_14.1 (constants.%Self.as_type.b70)] // CHECK:STDOUT: %.loc16_27.2: type = converted %Self.ref.loc16_27, %Self.as_type.loc16_27 [symbolic = %Self.as_type.loc16_14.1 (constants.%Self.as_type.b70)] // CHECK:STDOUT: } -// CHECK:STDOUT: %other: @F.1.%Self.as_type.loc16_14.1 (%Self.as_type.b70) = bind_name other, %other.param -// CHECK:STDOUT: %return.param: ref @F.1.%Self.as_type.loc16_14.1 (%Self.as_type.b70) = out_param call_param2 -// CHECK:STDOUT: %return: ref @F.1.%Self.as_type.loc16_14.1 (%Self.as_type.b70) = return_slot %return.param +// CHECK:STDOUT: %other: @F.loc16.%Self.as_type.loc16_14.1 (%Self.as_type.b70) = bind_name other, %other.param +// CHECK:STDOUT: %return.param: ref @F.loc16.%Self.as_type.loc16_14.1 (%Self.as_type.b70) = out_param call_param2 +// CHECK:STDOUT: %return: ref @F.loc16.%Self.as_type.loc16_14.1 (%Self.as_type.b70) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %assoc0: %I.assoc_type = assoc_entity element0, %F.decl [concrete = constants.%assoc0.82e] // CHECK:STDOUT: @@ -214,7 +214,7 @@ var arr: array(i32, (1 as i32).(I.F)(2)); // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @I.impl: %i32 as %I.ref { -// CHECK:STDOUT: %F.decl: %F.type.066 = fn_decl @F.2 [concrete = constants.%F.9ec] { +// CHECK:STDOUT: %F.decl: %F.type.066 = fn_decl @F.loc20 [concrete = constants.%F.9ec] { // CHECK:STDOUT: %self.patt: %pattern_type.7ce = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.7ce = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %other.patt: %pattern_type.7ce = binding_pattern other [concrete] @@ -245,23 +245,23 @@ var arr: array(i32, (1 as i32).(I.F)(2)); // CHECK:STDOUT: witness = file.%I.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.1(@I.%Self: %I.type) { +// CHECK:STDOUT: generic fn @F.loc16(@I.%Self: %I.type) { // CHECK:STDOUT: %Self: %I.type = bind_symbolic_name Self, 0 [symbolic = %Self (constants.%Self.826)] // CHECK:STDOUT: %Self.as_type.loc16_14.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc16_14.1 (constants.%Self.as_type.b70)] // CHECK:STDOUT: %pattern_type: type = pattern_type %Self.as_type.loc16_14.1 [symbolic = %pattern_type (constants.%pattern_type.6de)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%self.param: @F.1.%Self.as_type.loc16_14.1 (%Self.as_type.b70), %other.param: @F.1.%Self.as_type.loc16_14.1 (%Self.as_type.b70)) -> @F.1.%Self.as_type.loc16_14.1 (%Self.as_type.b70); +// CHECK:STDOUT: fn(%self.param: @F.loc16.%Self.as_type.loc16_14.1 (%Self.as_type.b70), %other.param: @F.loc16.%Self.as_type.loc16_14.1 (%Self.as_type.b70)) -> @F.loc16.%Self.as_type.loc16_14.1 (%Self.as_type.b70); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2(%self.param: %i32, %other.param: %i32) -> %i32 = "int.sadd"; +// CHECK:STDOUT: fn @F.loc20(%self.param: %i32, %other.param: %i32) -> %i32 = "int.sadd"; // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%Self.826) { +// CHECK:STDOUT: specific @F.loc16(constants.%Self.826) { // CHECK:STDOUT: %Self => constants.%Self.826 // CHECK:STDOUT: %Self.as_type.loc16_14.1 => constants.%Self.as_type.b70 // CHECK:STDOUT: %pattern_type => constants.%pattern_type.6de // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%I.facet) { +// CHECK:STDOUT: specific @F.loc16(constants.%I.facet) { // CHECK:STDOUT: %Self => constants.%I.facet // CHECK:STDOUT: %Self.as_type.loc16_14.1 => constants.%i32 // CHECK:STDOUT: %pattern_type => constants.%pattern_type.7ce diff --git a/toolchain/check/testdata/function/declaration/fail_redecl.carbon b/toolchain/check/testdata/function/declaration/fail_redecl.carbon index 8336b11b7810..da37de438e11 100644 --- a/toolchain/check/testdata/function/declaration/fail_redecl.carbon +++ b/toolchain/check/testdata/function/declaration/fail_redecl.carbon @@ -71,15 +71,15 @@ fn E() {} // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_tuple.type [concrete] // CHECK:STDOUT: %B.type: type = fn_type @B [concrete] // CHECK:STDOUT: %B: %B.type = struct_value () [concrete] -// CHECK:STDOUT: %C.type.de0bfe.1: type = fn_type @C.1 [concrete] +// CHECK:STDOUT: %C.type.de0bfe.1: type = fn_type @C.loc35 [concrete] // CHECK:STDOUT: %C.1b0370.1: %C.type.de0bfe.1 = struct_value () [concrete] -// CHECK:STDOUT: %C.type.de0bfe.2: type = fn_type @C.2 [concrete] +// CHECK:STDOUT: %C.type.de0bfe.2: type = fn_type @C.loc43 [concrete] // CHECK:STDOUT: %C.1b0370.2: %C.type.de0bfe.2 = struct_value () [concrete] // CHECK:STDOUT: %D.type: type = fn_type @D [concrete] // CHECK:STDOUT: %D: %D.type = struct_value () [concrete] -// CHECK:STDOUT: %E.type.851869.1: type = fn_type @E.1 [concrete] +// CHECK:STDOUT: %E.type.851869.1: type = fn_type @E.loc55 [concrete] // CHECK:STDOUT: %E.237d29.1: %E.type.851869.1 = struct_value () [concrete] -// CHECK:STDOUT: %E.type.851869.2: type = fn_type @E.2 [concrete] +// CHECK:STDOUT: %E.type.851869.2: type = fn_type @E.loc63 [concrete] // CHECK:STDOUT: %E.237d29.2: %E.type.851869.2 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -115,8 +115,8 @@ fn E() {} // CHECK:STDOUT: } // CHECK:STDOUT: %x.loc33: %empty_tuple.type = bind_name x, %x.param.loc33 // CHECK:STDOUT: } -// CHECK:STDOUT: %C.decl.loc35: %C.type.de0bfe.1 = fn_decl @C.1 [concrete = constants.%C.1b0370.1] {} {} -// CHECK:STDOUT: %C.decl.loc43: %C.type.de0bfe.2 = fn_decl @C.2 [concrete = constants.%C.1b0370.2] { +// CHECK:STDOUT: %C.decl.loc35: %C.type.de0bfe.1 = fn_decl @C.loc35 [concrete = constants.%C.1b0370.1] {} {} +// CHECK:STDOUT: %C.decl.loc43: %C.type.de0bfe.2 = fn_decl @C.loc43 [concrete = constants.%C.1b0370.2] { // CHECK:STDOUT: %x.patt: %pattern_type = binding_pattern x [concrete] // CHECK:STDOUT: %x.param_patt: %pattern_type = value_param_pattern %x.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -129,29 +129,29 @@ fn E() {} // CHECK:STDOUT: } // CHECK:STDOUT: %D.decl.loc45: %D.type = fn_decl @D [concrete = constants.%D] {} {} // CHECK:STDOUT: %D.decl.loc53: %D.type = fn_decl @D [concrete = constants.%D] {} {} -// CHECK:STDOUT: %E.decl.loc55: %E.type.851869.1 = fn_decl @E.1 [concrete = constants.%E.237d29.1] {} {} -// CHECK:STDOUT: %E.decl.loc63: %E.type.851869.2 = fn_decl @E.2 [concrete = constants.%E.237d29.2] {} {} +// CHECK:STDOUT: %E.decl.loc55: %E.type.851869.1 = fn_decl @E.loc55 [concrete = constants.%E.237d29.1] {} {} +// CHECK:STDOUT: %E.decl.loc63: %E.type.851869.2 = fn_decl @E.loc63 [concrete = constants.%E.237d29.2] {} {} // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @A(); // CHECK:STDOUT: // CHECK:STDOUT: fn @B(%x.param.loc25: %empty_tuple.type); // CHECK:STDOUT: -// CHECK:STDOUT: fn @C.1(); +// CHECK:STDOUT: fn @C.loc35(); // CHECK:STDOUT: -// CHECK:STDOUT: fn @C.2(%x.param: %empty_tuple.type); +// CHECK:STDOUT: fn @C.loc43(%x.param: %empty_tuple.type); // CHECK:STDOUT: // CHECK:STDOUT: fn @D() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @E.1() { +// CHECK:STDOUT: fn @E.loc55() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @E.2() { +// CHECK:STDOUT: fn @E.loc63() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/definition/fail_decl_param_mismatch.carbon b/toolchain/check/testdata/function/definition/fail_decl_param_mismatch.carbon index 2f8e92102982..8fe2205f8949 100644 --- a/toolchain/check/testdata/function/definition/fail_decl_param_mismatch.carbon +++ b/toolchain/check/testdata/function/definition/fail_decl_param_mismatch.carbon @@ -72,34 +72,34 @@ fn K() -> {} { return {}; } // CHECK:STDOUT: --- fail_decl_param_mismatch.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %F.type.b25846.1: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.b25846.1: type = fn_type @F.loc15 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %F.c41931.1: %F.type.b25846.1 = struct_value () [concrete] // CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] -// CHECK:STDOUT: %F.type.b25846.2: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.b25846.2: type = fn_type @F.loc23 [concrete] // CHECK:STDOUT: %F.c41931.2: %F.type.b25846.2 = struct_value () [concrete] -// CHECK:STDOUT: %G.type.9f9306.1: type = fn_type @G.1 [concrete] +// CHECK:STDOUT: %G.type.9f9306.1: type = fn_type @G.loc25 [concrete] // CHECK:STDOUT: %G.57b67a.1: %G.type.9f9306.1 = struct_value () [concrete] -// CHECK:STDOUT: %G.type.9f9306.2: type = fn_type @G.2 [concrete] +// CHECK:STDOUT: %G.type.9f9306.2: type = fn_type @G.loc33 [concrete] // CHECK:STDOUT: %G.57b67a.2: %G.type.9f9306.2 = struct_value () [concrete] -// CHECK:STDOUT: %H.type.6826c6.1: type = fn_type @H.1 [concrete] +// CHECK:STDOUT: %H.type.6826c6.1: type = fn_type @H.loc35 [concrete] // CHECK:STDOUT: %H.8a6545.1: %H.type.6826c6.1 = struct_value () [concrete] -// CHECK:STDOUT: %H.type.6826c6.2: type = fn_type @H.2 [concrete] +// CHECK:STDOUT: %H.type.6826c6.2: type = fn_type @H.loc40 [concrete] // CHECK:STDOUT: %H.8a6545.2: %H.type.6826c6.2 = struct_value () [concrete] -// CHECK:STDOUT: %I.type.af49c4.1: type = fn_type @I.1 [concrete] +// CHECK:STDOUT: %I.type.af49c4.1: type = fn_type @I.loc42 [concrete] // CHECK:STDOUT: %I.58e4ec.1: %I.type.af49c4.1 = struct_value () [concrete] -// CHECK:STDOUT: %I.type.af49c4.2: type = fn_type @I.2 [concrete] +// CHECK:STDOUT: %I.type.af49c4.2: type = fn_type @I.loc50 [concrete] // CHECK:STDOUT: %I.58e4ec.2: %I.type.af49c4.2 = struct_value () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] -// CHECK:STDOUT: %J.type.8e2c84.1: type = fn_type @J.1 [concrete] +// CHECK:STDOUT: %J.type.8e2c84.1: type = fn_type @J.loc52 [concrete] // CHECK:STDOUT: %J.3662e8.1: %J.type.8e2c84.1 = struct_value () [concrete] -// CHECK:STDOUT: %J.type.8e2c84.2: type = fn_type @J.2 [concrete] +// CHECK:STDOUT: %J.type.8e2c84.2: type = fn_type @J.loc60 [concrete] // CHECK:STDOUT: %J.3662e8.2: %J.type.8e2c84.2 = struct_value () [concrete] -// CHECK:STDOUT: %K.type.6cc1c5.1: type = fn_type @K.1 [concrete] +// CHECK:STDOUT: %K.type.6cc1c5.1: type = fn_type @K.loc62 [concrete] // CHECK:STDOUT: %K.460d95.1: %K.type.6cc1c5.1 = struct_value () [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %pattern_type.a96: type = pattern_type %empty_struct_type [concrete] -// CHECK:STDOUT: %K.type.6cc1c5.2: type = fn_type @K.2 [concrete] +// CHECK:STDOUT: %K.type.6cc1c5.2: type = fn_type @K.loc70 [concrete] // CHECK:STDOUT: %K.460d95.2: %K.type.6cc1c5.2 = struct_value () [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: } @@ -113,8 +113,8 @@ fn K() -> {} { return {}; } // CHECK:STDOUT: .J = %J.decl.loc52 // CHECK:STDOUT: .K = %K.decl.loc62 // CHECK:STDOUT: } -// CHECK:STDOUT: %F.decl.loc15: %F.type.b25846.1 = fn_decl @F.1 [concrete = constants.%F.c41931.1] {} {} -// CHECK:STDOUT: %F.decl.loc23: %F.type.b25846.2 = fn_decl @F.2 [concrete = constants.%F.c41931.2] { +// CHECK:STDOUT: %F.decl.loc15: %F.type.b25846.1 = fn_decl @F.loc15 [concrete = constants.%F.c41931.1] {} {} +// CHECK:STDOUT: %F.decl.loc23: %F.type.b25846.2 = fn_decl @F.loc23 [concrete = constants.%F.c41931.2] { // CHECK:STDOUT: %x.patt: %pattern_type.cb1 = binding_pattern x [concrete] // CHECK:STDOUT: %x.param_patt: %pattern_type.cb1 = value_param_pattern %x.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -125,7 +125,7 @@ fn K() -> {} { return {}; } // CHECK:STDOUT: } // CHECK:STDOUT: %x: %empty_tuple.type = bind_name x, %x.param // CHECK:STDOUT: } -// CHECK:STDOUT: %G.decl.loc25: %G.type.9f9306.1 = fn_decl @G.1 [concrete = constants.%G.57b67a.1] { +// CHECK:STDOUT: %G.decl.loc25: %G.type.9f9306.1 = fn_decl @G.loc25 [concrete = constants.%G.57b67a.1] { // CHECK:STDOUT: %x.patt: %pattern_type.cb1 = binding_pattern x [concrete] // CHECK:STDOUT: %x.param_patt: %pattern_type.cb1 = value_param_pattern %x.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -136,8 +136,8 @@ fn K() -> {} { return {}; } // CHECK:STDOUT: } // CHECK:STDOUT: %x: %empty_tuple.type = bind_name x, %x.param // CHECK:STDOUT: } -// CHECK:STDOUT: %G.decl.loc33: %G.type.9f9306.2 = fn_decl @G.2 [concrete = constants.%G.57b67a.2] {} {} -// CHECK:STDOUT: %H.decl.loc35: %H.type.6826c6.1 = fn_decl @H.1 [concrete = constants.%H.8a6545.1] { +// CHECK:STDOUT: %G.decl.loc33: %G.type.9f9306.2 = fn_decl @G.loc33 [concrete = constants.%G.57b67a.2] {} {} +// CHECK:STDOUT: %H.decl.loc35: %H.type.6826c6.1 = fn_decl @H.loc35 [concrete = constants.%H.8a6545.1] { // CHECK:STDOUT: %x.patt: %pattern_type.cb1 = binding_pattern x [concrete] // CHECK:STDOUT: %x.param_patt: %pattern_type.cb1 = value_param_pattern %x.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -148,15 +148,15 @@ fn K() -> {} { return {}; } // CHECK:STDOUT: } // CHECK:STDOUT: %x: %empty_tuple.type = bind_name x, %x.param // CHECK:STDOUT: } -// CHECK:STDOUT: %H.decl.loc40: %H.type.6826c6.2 = fn_decl @H.2 [concrete = constants.%H.8a6545.2] { +// CHECK:STDOUT: %H.decl.loc40: %H.type.6826c6.2 = fn_decl @H.loc40 [concrete = constants.%H.8a6545.2] { // CHECK:STDOUT: %x.patt: = binding_pattern x [concrete] // CHECK:STDOUT: %x.param_patt: = value_param_pattern %x.patt, call_param0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %x.param: = value_param call_param0 // CHECK:STDOUT: %x: = bind_name x, %x.param // CHECK:STDOUT: } -// CHECK:STDOUT: %I.decl.loc42: %I.type.af49c4.1 = fn_decl @I.1 [concrete = constants.%I.58e4ec.1] {} {} -// CHECK:STDOUT: %I.decl.loc50: %I.type.af49c4.2 = fn_decl @I.2 [concrete = constants.%I.58e4ec.2] { +// CHECK:STDOUT: %I.decl.loc42: %I.type.af49c4.1 = fn_decl @I.loc42 [concrete = constants.%I.58e4ec.1] {} {} +// CHECK:STDOUT: %I.decl.loc50: %I.type.af49c4.2 = fn_decl @I.loc50 [concrete = constants.%I.58e4ec.2] { // CHECK:STDOUT: %return.patt: %pattern_type.cb1 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.cb1 = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -165,7 +165,7 @@ fn K() -> {} { return {}; } // CHECK:STDOUT: %return.param: ref %empty_tuple.type = out_param call_param0 // CHECK:STDOUT: %return: ref %empty_tuple.type = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %J.decl.loc52: %J.type.8e2c84.1 = fn_decl @J.1 [concrete = constants.%J.3662e8.1] { +// CHECK:STDOUT: %J.decl.loc52: %J.type.8e2c84.1 = fn_decl @J.loc52 [concrete = constants.%J.3662e8.1] { // CHECK:STDOUT: %return.patt: %pattern_type.cb1 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.cb1 = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -174,8 +174,8 @@ fn K() -> {} { return {}; } // CHECK:STDOUT: %return.param: ref %empty_tuple.type = out_param call_param0 // CHECK:STDOUT: %return: ref %empty_tuple.type = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %J.decl.loc60: %J.type.8e2c84.2 = fn_decl @J.2 [concrete = constants.%J.3662e8.2] {} {} -// CHECK:STDOUT: %K.decl.loc62: %K.type.6cc1c5.1 = fn_decl @K.1 [concrete = constants.%K.460d95.1] { +// CHECK:STDOUT: %J.decl.loc60: %J.type.8e2c84.2 = fn_decl @J.loc60 [concrete = constants.%J.3662e8.2] {} {} +// CHECK:STDOUT: %K.decl.loc62: %K.type.6cc1c5.1 = fn_decl @K.loc62 [concrete = constants.%K.460d95.1] { // CHECK:STDOUT: %return.patt: %pattern_type.cb1 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.cb1 = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -184,7 +184,7 @@ fn K() -> {} { return {}; } // CHECK:STDOUT: %return.param: ref %empty_tuple.type = out_param call_param0 // CHECK:STDOUT: %return: ref %empty_tuple.type = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %K.decl.loc70: %K.type.6cc1c5.2 = fn_decl @K.2 [concrete = constants.%K.460d95.2] { +// CHECK:STDOUT: %K.decl.loc70: %K.type.6cc1c5.2 = fn_decl @K.loc70 [concrete = constants.%K.460d95.2] { // CHECK:STDOUT: %return.patt: %pattern_type.a96 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.a96 = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -195,30 +195,30 @@ fn K() -> {} { return {}; } // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.1(); +// CHECK:STDOUT: fn @F.loc15(); // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2(%x.param: %empty_tuple.type) { +// CHECK:STDOUT: fn @F.loc23(%x.param: %empty_tuple.type) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @G.1(%x.param: %empty_tuple.type); +// CHECK:STDOUT: fn @G.loc25(%x.param: %empty_tuple.type); // CHECK:STDOUT: -// CHECK:STDOUT: fn @G.2() { +// CHECK:STDOUT: fn @G.loc33() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @H.1(%x.param: %empty_tuple.type); +// CHECK:STDOUT: fn @H.loc35(%x.param: %empty_tuple.type); // CHECK:STDOUT: -// CHECK:STDOUT: fn @H.2(%x.param: ) { +// CHECK:STDOUT: fn @H.loc40(%x.param: ) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @I.1(); +// CHECK:STDOUT: fn @I.loc42(); // CHECK:STDOUT: -// CHECK:STDOUT: fn @I.2() -> %empty_tuple.type { +// CHECK:STDOUT: fn @I.loc50() -> %empty_tuple.type { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc50_24: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete = constants.%empty_tuple] @@ -226,16 +226,16 @@ fn K() -> {} { return {}; } // CHECK:STDOUT: return %.loc50_25 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @J.1() -> %empty_tuple.type; +// CHECK:STDOUT: fn @J.loc52() -> %empty_tuple.type; // CHECK:STDOUT: -// CHECK:STDOUT: fn @J.2() { +// CHECK:STDOUT: fn @J.loc60() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @K.1() -> %empty_tuple.type; +// CHECK:STDOUT: fn @K.loc62() -> %empty_tuple.type; // CHECK:STDOUT: -// CHECK:STDOUT: fn @K.2() -> %empty_struct_type { +// CHECK:STDOUT: fn @K.loc70() -> %empty_struct_type { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc70_24: %empty_struct_type = struct_literal () // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete = constants.%empty_struct] diff --git a/toolchain/check/testdata/function/definition/fail_local_decl.carbon b/toolchain/check/testdata/function/definition/fail_local_decl.carbon index e100ea014686..0ff13d4729ad 100644 --- a/toolchain/check/testdata/function/definition/fail_local_decl.carbon +++ b/toolchain/check/testdata/function/definition/fail_local_decl.carbon @@ -54,9 +54,9 @@ fn F() { // CHECK:STDOUT: --- fail_virtual.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %F.type.b25: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.b25: type = fn_type @F.loc4 [concrete] // CHECK:STDOUT: %F.c41: %F.type.b25 = struct_value () [concrete] -// CHECK:STDOUT: %F.type.21a: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.21a: type = fn_type @F.loc9 [concrete] // CHECK:STDOUT: %F.c14: %F.type.21a = struct_value () [concrete] // CHECK:STDOUT: %G.type: type = fn_type @G [concrete] // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] @@ -77,18 +77,18 @@ fn F() { // CHECK:STDOUT: .F = %F.decl // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core -// CHECK:STDOUT: %F.decl: %F.type.b25 = fn_decl @F.1 [concrete = constants.%F.c41] {} {} +// CHECK:STDOUT: %F.decl: %F.type.b25 = fn_decl @F.loc4 [concrete = constants.%F.c41] {} {} // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.1() { +// CHECK:STDOUT: fn @F.loc4() { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %F.decl: %F.type.21a = fn_decl @F.2 [concrete = constants.%F.c14] {} {} +// CHECK:STDOUT: %F.decl: %F.type.21a = fn_decl @F.loc9 [concrete = constants.%F.c14] {} {} // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [concrete = constants.%G] {} {} // CHECK:STDOUT: %H.decl: %H.type = fn_decl @H [concrete = constants.%H] {} {} // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2(); +// CHECK:STDOUT: fn @F.loc9(); // CHECK:STDOUT: // CHECK:STDOUT: fn @G(); // CHECK:STDOUT: diff --git a/toolchain/check/testdata/function/definition/fail_redef.carbon b/toolchain/check/testdata/function/definition/fail_redef.carbon index a4e7a5a9b55a..2dc591c86ddf 100644 --- a/toolchain/check/testdata/function/definition/fail_redef.carbon +++ b/toolchain/check/testdata/function/definition/fail_redef.carbon @@ -25,9 +25,9 @@ fn F() {} // CHECK:STDOUT: --- fail_redef.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %F.type.b25846.1: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.b25846.1: type = fn_type @F.loc15 [concrete] // CHECK:STDOUT: %F.c41931.1: %F.type.b25846.1 = struct_value () [concrete] -// CHECK:STDOUT: %F.type.b25846.2: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.b25846.2: type = fn_type @F.loc23 [concrete] // CHECK:STDOUT: %F.c41931.2: %F.type.b25846.2 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -35,16 +35,16 @@ fn F() {} // CHECK:STDOUT: package: = namespace [concrete] { // CHECK:STDOUT: .F = %F.decl.loc15 // CHECK:STDOUT: } -// CHECK:STDOUT: %F.decl.loc15: %F.type.b25846.1 = fn_decl @F.1 [concrete = constants.%F.c41931.1] {} {} -// CHECK:STDOUT: %F.decl.loc23: %F.type.b25846.2 = fn_decl @F.2 [concrete = constants.%F.c41931.2] {} {} +// CHECK:STDOUT: %F.decl.loc15: %F.type.b25846.1 = fn_decl @F.loc15 [concrete = constants.%F.c41931.1] {} {} +// CHECK:STDOUT: %F.decl.loc23: %F.type.b25846.2 = fn_decl @F.loc23 [concrete = constants.%F.c41931.2] {} {} // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.1() { +// CHECK:STDOUT: fn @F.loc15() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2() { +// CHECK:STDOUT: fn @F.loc23() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/definition/implicit_import.carbon b/toolchain/check/testdata/function/definition/implicit_import.carbon index 18c8e1701f82..c6c19073eb77 100644 --- a/toolchain/check/testdata/function/definition/implicit_import.carbon +++ b/toolchain/check/testdata/function/definition/implicit_import.carbon @@ -309,7 +309,7 @@ fn B() {} // CHECK:STDOUT: constants { // CHECK:STDOUT: %A.type.00d7e7.1: type = fn_type @A.1 [concrete] // CHECK:STDOUT: %A.1db889.1: %A.type.00d7e7.1 = struct_value () [concrete] -// CHECK:STDOUT: %A.type.00d7e7.2: type = fn_type @A.2 [concrete] +// CHECK:STDOUT: %A.type.00d7e7.2: type = fn_type @A.loc12 [concrete] // CHECK:STDOUT: %A.1db889.2: %A.type.00d7e7.2 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -323,12 +323,12 @@ fn B() {} // CHECK:STDOUT: } // CHECK:STDOUT: %default.import.loc2_31.1 = import // CHECK:STDOUT: %default.import.loc2_31.2 = import -// CHECK:STDOUT: %A.decl: %A.type.00d7e7.2 = fn_decl @A.2 [concrete = constants.%A.1db889.2] {} {} +// CHECK:STDOUT: %A.decl: %A.type.00d7e7.2 = fn_decl @A.loc12 [concrete = constants.%A.1db889.2] {} {} // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @A.1 [from "redef_after_def.carbon"]; // CHECK:STDOUT: -// CHECK:STDOUT: fn @A.2() { +// CHECK:STDOUT: fn @A.loc12() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/definition/import.carbon b/toolchain/check/testdata/function/definition/import.carbon index c58f87ec8a16..5f93cc7ffd2d 100644 --- a/toolchain/check/testdata/function/definition/import.carbon +++ b/toolchain/check/testdata/function/definition/import.carbon @@ -393,7 +393,7 @@ fn D() {} // CHECK:STDOUT: constants { // CHECK:STDOUT: %A.type.00d7e7.1: type = fn_type @A.1 [concrete] // CHECK:STDOUT: %A.1db889.1: %A.type.00d7e7.1 = struct_value () [concrete] -// CHECK:STDOUT: %A.type.00d7e7.2: type = fn_type @A.2 [concrete] +// CHECK:STDOUT: %A.type.00d7e7.2: type = fn_type @A.loc14 [concrete] // CHECK:STDOUT: %A.1db889.2: %A.type.00d7e7.2 = struct_value () [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] @@ -425,7 +425,7 @@ fn D() {} // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %default.import = import -// CHECK:STDOUT: %A.decl: %A.type.00d7e7.2 = fn_decl @A.2 [concrete = constants.%A.1db889.2] {} {} +// CHECK:STDOUT: %A.decl: %A.type.00d7e7.2 = fn_decl @A.loc14 [concrete = constants.%A.1db889.2] {} {} // CHECK:STDOUT: %B.decl: %B.type = fn_decl @B [concrete = constants.%B] {} { // CHECK:STDOUT: %int_32.loc23_17: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc23_17: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -442,7 +442,7 @@ fn D() {} // CHECK:STDOUT: // CHECK:STDOUT: fn @A.1 [from "fns.carbon"]; // CHECK:STDOUT: -// CHECK:STDOUT: fn @A.2() { +// CHECK:STDOUT: fn @A.loc14() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/definition/syntactic_merge.carbon b/toolchain/check/testdata/function/definition/syntactic_merge.carbon index 43d263df6e97..9ecb3acaa976 100644 --- a/toolchain/check/testdata/function/definition/syntactic_merge.carbon +++ b/toolchain/check/testdata/function/definition/syntactic_merge.carbon @@ -330,9 +330,9 @@ fn Foo(a: const (const C)) {} // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] -// CHECK:STDOUT: %Foo.type.a02530.1: type = fn_type @Foo.1 [concrete] +// CHECK:STDOUT: %Foo.type.a02530.1: type = fn_type @Foo.loc6 [concrete] // CHECK:STDOUT: %Foo.ddeb7d.1: %Foo.type.a02530.1 = struct_value () [concrete] -// CHECK:STDOUT: %Foo.type.a02530.2: type = fn_type @Foo.2 [concrete] +// CHECK:STDOUT: %Foo.type.a02530.2: type = fn_type @Foo.loc14 [concrete] // CHECK:STDOUT: %Foo.ddeb7d.2: %Foo.type.a02530.2 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -342,7 +342,7 @@ fn Foo(a: const (const C)) {} // CHECK:STDOUT: .Foo = %Foo.decl.loc6 // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} -// CHECK:STDOUT: %Foo.decl.loc6: %Foo.type.a02530.1 = fn_decl @Foo.1 [concrete = constants.%Foo.ddeb7d.1] { +// CHECK:STDOUT: %Foo.decl.loc6: %Foo.type.a02530.1 = fn_decl @Foo.loc6 [concrete = constants.%Foo.ddeb7d.1] { // CHECK:STDOUT: %a.patt: %pattern_type = binding_pattern a [concrete] // CHECK:STDOUT: %a.param_patt: %pattern_type = value_param_pattern %a.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -350,7 +350,7 @@ fn Foo(a: const (const C)) {} // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %a: %C = bind_name a, %a.param // CHECK:STDOUT: } -// CHECK:STDOUT: %Foo.decl.loc14: %Foo.type.a02530.2 = fn_decl @Foo.2 [concrete = constants.%Foo.ddeb7d.2] { +// CHECK:STDOUT: %Foo.decl.loc14: %Foo.type.a02530.2 = fn_decl @Foo.loc14 [concrete = constants.%Foo.ddeb7d.2] { // CHECK:STDOUT: %a.patt: %pattern_type = binding_pattern a [concrete] // CHECK:STDOUT: %a.param_patt: %pattern_type = value_param_pattern %a.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -369,9 +369,9 @@ fn Foo(a: const (const C)) {} // CHECK:STDOUT: .Self = constants.%C // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Foo.1(%a.param: %C); +// CHECK:STDOUT: fn @Foo.loc6(%a.param: %C); // CHECK:STDOUT: -// CHECK:STDOUT: fn @Foo.2(%a.param: %C) { +// CHECK:STDOUT: fn @Foo.loc14(%a.param: %C) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -382,9 +382,9 @@ fn Foo(a: const (const C)) {} // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] -// CHECK:STDOUT: %Foo.type.a02530.1: type = fn_type @Foo.1 [concrete] +// CHECK:STDOUT: %Foo.type.a02530.1: type = fn_type @Foo.loc14 [concrete] // CHECK:STDOUT: %Foo.ddeb7d.1: %Foo.type.a02530.1 = struct_value () [concrete] -// CHECK:STDOUT: %Foo.type.a02530.2: type = fn_type @Foo.2 [concrete] +// CHECK:STDOUT: %Foo.type.a02530.2: type = fn_type @Foo.loc23 [concrete] // CHECK:STDOUT: %Foo.ddeb7d.2: %Foo.type.a02530.2 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -394,8 +394,8 @@ fn Foo(a: const (const C)) {} // CHECK:STDOUT: .Foo = %Foo.decl.loc14 // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} -// CHECK:STDOUT: %Foo.decl.loc14: %Foo.type.a02530.1 = fn_decl @Foo.1 [concrete = constants.%Foo.ddeb7d.1] {} {} -// CHECK:STDOUT: %Foo.decl.loc23: %Foo.type.a02530.2 = fn_decl @Foo.2 [concrete = constants.%Foo.ddeb7d.2] {} {} +// CHECK:STDOUT: %Foo.decl.loc14: %Foo.type.a02530.1 = fn_decl @Foo.loc14 [concrete = constants.%Foo.ddeb7d.1] {} {} +// CHECK:STDOUT: %Foo.decl.loc23: %Foo.type.a02530.2 = fn_decl @Foo.loc23 [concrete = constants.%Foo.ddeb7d.2] {} {} // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @C { @@ -407,9 +407,9 @@ fn Foo(a: const (const C)) {} // CHECK:STDOUT: .Self = constants.%C // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Foo.1(); +// CHECK:STDOUT: fn @Foo.loc14(); // CHECK:STDOUT: -// CHECK:STDOUT: fn @Foo.2() { +// CHECK:STDOUT: fn @Foo.loc23() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -588,9 +588,9 @@ fn Foo(a: const (const C)) {} // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] -// CHECK:STDOUT: %Foo.type.a02530.1: type = fn_type @Foo.1 [concrete] +// CHECK:STDOUT: %Foo.type.a02530.1: type = fn_type @Foo.loc7 [concrete] // CHECK:STDOUT: %Foo.ddeb7d.1: %Foo.type.a02530.1 = struct_value () [concrete] -// CHECK:STDOUT: %Foo.type.a02530.2: type = fn_type @Foo.2 [concrete] +// CHECK:STDOUT: %Foo.type.a02530.2: type = fn_type @Foo.loc15 [concrete] // CHECK:STDOUT: %Foo.ddeb7d.2: %Foo.type.a02530.2 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -603,7 +603,7 @@ fn Foo(a: const (const C)) {} // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} // CHECK:STDOUT: %C.ref: type = name_ref C, %C.decl [concrete = constants.%C] // CHECK:STDOUT: %D: type = bind_alias D, %C.decl [concrete = constants.%C] -// CHECK:STDOUT: %Foo.decl.loc7: %Foo.type.a02530.1 = fn_decl @Foo.1 [concrete = constants.%Foo.ddeb7d.1] { +// CHECK:STDOUT: %Foo.decl.loc7: %Foo.type.a02530.1 = fn_decl @Foo.loc7 [concrete = constants.%Foo.ddeb7d.1] { // CHECK:STDOUT: %a.patt: %pattern_type = binding_pattern a [concrete] // CHECK:STDOUT: %a.param_patt: %pattern_type = value_param_pattern %a.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -611,7 +611,7 @@ fn Foo(a: const (const C)) {} // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %a: %C = bind_name a, %a.param // CHECK:STDOUT: } -// CHECK:STDOUT: %Foo.decl.loc15: %Foo.type.a02530.2 = fn_decl @Foo.2 [concrete = constants.%Foo.ddeb7d.2] { +// CHECK:STDOUT: %Foo.decl.loc15: %Foo.type.a02530.2 = fn_decl @Foo.loc15 [concrete = constants.%Foo.ddeb7d.2] { // CHECK:STDOUT: %b.patt: %pattern_type = binding_pattern b [concrete] // CHECK:STDOUT: %b.param_patt: %pattern_type = value_param_pattern %b.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -630,9 +630,9 @@ fn Foo(a: const (const C)) {} // CHECK:STDOUT: .Self = constants.%C // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Foo.1(%a.param: %C); +// CHECK:STDOUT: fn @Foo.loc7(%a.param: %C); // CHECK:STDOUT: -// CHECK:STDOUT: fn @Foo.2(%b.param: %C) { +// CHECK:STDOUT: fn @Foo.loc15(%b.param: %C) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -644,9 +644,9 @@ fn Foo(a: const (const C)) {} // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] -// CHECK:STDOUT: %Foo.type.a02530.1: type = fn_type @Foo.1 [concrete] +// CHECK:STDOUT: %Foo.type.a02530.1: type = fn_type @Foo.loc7 [concrete] // CHECK:STDOUT: %Foo.ddeb7d.1: %Foo.type.a02530.1 = struct_value () [concrete] -// CHECK:STDOUT: %Foo.type.a02530.2: type = fn_type @Foo.2 [concrete] +// CHECK:STDOUT: %Foo.type.a02530.2: type = fn_type @Foo.loc15 [concrete] // CHECK:STDOUT: %Foo.ddeb7d.2: %Foo.type.a02530.2 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -659,7 +659,7 @@ fn Foo(a: const (const C)) {} // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} // CHECK:STDOUT: %C.ref: type = name_ref C, %C.decl [concrete = constants.%C] // CHECK:STDOUT: %D: type = bind_alias D, %C.decl [concrete = constants.%C] -// CHECK:STDOUT: %Foo.decl.loc7: %Foo.type.a02530.1 = fn_decl @Foo.1 [concrete = constants.%Foo.ddeb7d.1] { +// CHECK:STDOUT: %Foo.decl.loc7: %Foo.type.a02530.1 = fn_decl @Foo.loc7 [concrete = constants.%Foo.ddeb7d.1] { // CHECK:STDOUT: %a.patt: %pattern_type = binding_pattern a [concrete] // CHECK:STDOUT: %a.param_patt: %pattern_type = value_param_pattern %a.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -667,7 +667,7 @@ fn Foo(a: const (const C)) {} // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %a: %C = bind_name a, %a.param // CHECK:STDOUT: } -// CHECK:STDOUT: %Foo.decl.loc15: %Foo.type.a02530.2 = fn_decl @Foo.2 [concrete = constants.%Foo.ddeb7d.2] { +// CHECK:STDOUT: %Foo.decl.loc15: %Foo.type.a02530.2 = fn_decl @Foo.loc15 [concrete = constants.%Foo.ddeb7d.2] { // CHECK:STDOUT: %a.patt: %pattern_type = binding_pattern a [concrete] // CHECK:STDOUT: %a.param_patt: %pattern_type = value_param_pattern %a.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -686,9 +686,9 @@ fn Foo(a: const (const C)) {} // CHECK:STDOUT: .Self = constants.%C // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Foo.1(%a.param: %C); +// CHECK:STDOUT: fn @Foo.loc7(%a.param: %C); // CHECK:STDOUT: -// CHECK:STDOUT: fn @Foo.2(%a.param: %C) { +// CHECK:STDOUT: fn @Foo.loc15(%a.param: %C) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -701,9 +701,9 @@ fn Foo(a: const (const C)) {} // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %a: %C = bind_symbolic_name a, 0 [symbolic] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] -// CHECK:STDOUT: %Foo.type.a02530.1: type = fn_type @Foo.1 [concrete] +// CHECK:STDOUT: %Foo.type.a02530.1: type = fn_type @Foo.loc7 [concrete] // CHECK:STDOUT: %Foo.ddeb7d.1: %Foo.type.a02530.1 = struct_value () [concrete] -// CHECK:STDOUT: %Foo.type.a02530.2: type = fn_type @Foo.2 [concrete] +// CHECK:STDOUT: %Foo.type.a02530.2: type = fn_type @Foo.loc15 [concrete] // CHECK:STDOUT: %Foo.ddeb7d.2: %Foo.type.a02530.2 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -716,13 +716,13 @@ fn Foo(a: const (const C)) {} // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} // CHECK:STDOUT: %C.ref: type = name_ref C, %C.decl [concrete = constants.%C] // CHECK:STDOUT: %D: type = bind_alias D, %C.decl [concrete = constants.%C] -// CHECK:STDOUT: %Foo.decl.loc7: %Foo.type.a02530.1 = fn_decl @Foo.1 [concrete = constants.%Foo.ddeb7d.1] { +// CHECK:STDOUT: %Foo.decl.loc7: %Foo.type.a02530.1 = fn_decl @Foo.loc7 [concrete = constants.%Foo.ddeb7d.1] { // CHECK:STDOUT: %a.patt: %pattern_type = symbolic_binding_pattern a, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %a.loc7_8.1: %C = bind_symbolic_name a, 0 [symbolic = %a.loc7_8.2 (constants.%a)] // CHECK:STDOUT: } -// CHECK:STDOUT: %Foo.decl.loc15: %Foo.type.a02530.2 = fn_decl @Foo.2 [concrete = constants.%Foo.ddeb7d.2] { +// CHECK:STDOUT: %Foo.decl.loc15: %Foo.type.a02530.2 = fn_decl @Foo.loc15 [concrete = constants.%Foo.ddeb7d.2] { // CHECK:STDOUT: %a.patt: %pattern_type = symbolic_binding_pattern a, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D [concrete = constants.%C] @@ -739,13 +739,13 @@ fn Foo(a: const (const C)) {} // CHECK:STDOUT: .Self = constants.%C // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @Foo.1(%a.loc7_8.1: %C) { +// CHECK:STDOUT: generic fn @Foo.loc7(%a.loc7_8.1: %C) { // CHECK:STDOUT: %a.loc7_8.2: %C = bind_symbolic_name a, 0 [symbolic = %a.loc7_8.2 (constants.%a)] // CHECK:STDOUT: // CHECK:STDOUT: fn(); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @Foo.2(%a.loc15_8.1: %C) { +// CHECK:STDOUT: generic fn @Foo.loc15(%a.loc15_8.1: %C) { // CHECK:STDOUT: %a.loc15_8.2: %C = bind_symbolic_name a, 0 [symbolic = %a.loc15_8.2 (constants.%a)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -756,11 +756,11 @@ fn Foo(a: const (const C)) {} // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Foo.1(constants.%a) { +// CHECK:STDOUT: specific @Foo.loc7(constants.%a) { // CHECK:STDOUT: %a.loc7_8.2 => constants.%a // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Foo.2(constants.%a) { +// CHECK:STDOUT: specific @Foo.loc15(constants.%a) { // CHECK:STDOUT: %a.loc15_8.2 => constants.%a // CHECK:STDOUT: } // CHECK:STDOUT: @@ -915,9 +915,9 @@ fn Foo(a: const (const C)) {} // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %const: type = const_type %C [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %const [concrete] -// CHECK:STDOUT: %Foo.type.a02530.1: type = fn_type @Foo.1 [concrete] +// CHECK:STDOUT: %Foo.type.a02530.1: type = fn_type @Foo.loc6 [concrete] // CHECK:STDOUT: %Foo.ddeb7d.1: %Foo.type.a02530.1 = struct_value () [concrete] -// CHECK:STDOUT: %Foo.type.a02530.2: type = fn_type @Foo.2 [concrete] +// CHECK:STDOUT: %Foo.type.a02530.2: type = fn_type @Foo.loc18 [concrete] // CHECK:STDOUT: %Foo.ddeb7d.2: %Foo.type.a02530.2 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -927,7 +927,7 @@ fn Foo(a: const (const C)) {} // CHECK:STDOUT: .Foo = %Foo.decl.loc6 // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} -// CHECK:STDOUT: %Foo.decl.loc6: %Foo.type.a02530.1 = fn_decl @Foo.1 [concrete = constants.%Foo.ddeb7d.1] { +// CHECK:STDOUT: %Foo.decl.loc6: %Foo.type.a02530.1 = fn_decl @Foo.loc6 [concrete = constants.%Foo.ddeb7d.1] { // CHECK:STDOUT: %a.patt: %pattern_type = binding_pattern a [concrete] // CHECK:STDOUT: %a.param_patt: %pattern_type = value_param_pattern %a.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -938,7 +938,7 @@ fn Foo(a: const (const C)) {} // CHECK:STDOUT: } // CHECK:STDOUT: %a: %const = bind_name a, %a.param // CHECK:STDOUT: } -// CHECK:STDOUT: %Foo.decl.loc18: %Foo.type.a02530.2 = fn_decl @Foo.2 [concrete = constants.%Foo.ddeb7d.2] { +// CHECK:STDOUT: %Foo.decl.loc18: %Foo.type.a02530.2 = fn_decl @Foo.loc18 [concrete = constants.%Foo.ddeb7d.2] { // CHECK:STDOUT: %a.patt: %pattern_type = binding_pattern a [concrete] // CHECK:STDOUT: %a.param_patt: %pattern_type = value_param_pattern %a.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -961,9 +961,9 @@ fn Foo(a: const (const C)) {} // CHECK:STDOUT: .Self = constants.%C // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Foo.1(%a.param: %const); +// CHECK:STDOUT: fn @Foo.loc6(%a.param: %const); // CHECK:STDOUT: -// CHECK:STDOUT: fn @Foo.2(%a.param: %const) { +// CHECK:STDOUT: fn @Foo.loc18(%a.param: %const) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/generic/call_method_on_generic_facet.carbon b/toolchain/check/testdata/function/generic/call_method_on_generic_facet.carbon index 2ffd7d14cbb5..3f853dc7a06f 100644 --- a/toolchain/check/testdata/function/generic/call_method_on_generic_facet.carbon +++ b/toolchain/check/testdata/function/generic/call_method_on_generic_facet.carbon @@ -48,7 +48,7 @@ fn G() { // CHECK:STDOUT: %Generic.generic: %Generic.type.c21 = struct_value () [concrete] // CHECK:STDOUT: %Generic.type.91ccba.1: type = facet_type <@Generic, @Generic(%Scalar)> [symbolic] // CHECK:STDOUT: %Self.dee8d8.1: %Generic.type.91ccba.1 = bind_symbolic_name Self, 1 [symbolic] -// CHECK:STDOUT: %F.type.f439a9.1: type = fn_type @F.1, @Generic(%Scalar) [symbolic] +// CHECK:STDOUT: %F.type.f439a9.1: type = fn_type @F.loc16, @Generic(%Scalar) [symbolic] // CHECK:STDOUT: %F.8a2d67.1: %F.type.f439a9.1 = struct_value () [symbolic] // CHECK:STDOUT: %Generic.assoc_type.0fd877.1: type = assoc_entity_type @Generic, @Generic(%Scalar) [symbolic] // CHECK:STDOUT: %assoc0.2966cb.1: %Generic.assoc_type.0fd877.1 = assoc_entity element0, @Generic.%F.decl [symbolic] @@ -58,22 +58,22 @@ fn G() { // CHECK:STDOUT: %ImplsGeneric: type = class_type @ImplsGeneric [concrete] // CHECK:STDOUT: %Generic.type.769: type = facet_type <@Generic, @Generic(%GenericParam)> [concrete] // CHECK:STDOUT: %Self.f84: %Generic.type.769 = bind_symbolic_name Self, 1 [symbolic] -// CHECK:STDOUT: %F.type.4cf: type = fn_type @F.1, @Generic(%GenericParam) [concrete] +// CHECK:STDOUT: %F.type.4cf: type = fn_type @F.loc16, @Generic(%GenericParam) [concrete] // CHECK:STDOUT: %F.118: %F.type.4cf = struct_value () [concrete] // CHECK:STDOUT: %Generic.assoc_type.713: type = assoc_entity_type @Generic, @Generic(%GenericParam) [concrete] // CHECK:STDOUT: %assoc0.9b7: %Generic.assoc_type.713 = assoc_entity element0, @Generic.%F.decl [concrete] // CHECK:STDOUT: %Generic.impl_witness: = impl_witness file.%Generic.impl_witness_table [concrete] -// CHECK:STDOUT: %F.type.17b: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.17b: type = fn_type @F.loc23 [concrete] // CHECK:STDOUT: %F.a56: %F.type.17b = struct_value () [concrete] // CHECK:STDOUT: %Generic.facet.8ff: %Generic.type.769 = facet_value %ImplsGeneric, (%Generic.impl_witness) [concrete] // CHECK:STDOUT: %Other.type: type = facet_type <@Other> [concrete] // CHECK:STDOUT: %Self.807: %Other.type = bind_symbolic_name Self, 0 [symbolic] -// CHECK:STDOUT: %G.type.0c6: type = fn_type @G.1 [concrete] +// CHECK:STDOUT: %G.type.0c6: type = fn_type @G.loc27 [concrete] // CHECK:STDOUT: %G.17f: %G.type.0c6 = struct_value () [concrete] // CHECK:STDOUT: %Other.assoc_type: type = assoc_entity_type @Other [concrete] // CHECK:STDOUT: %assoc0.25d: %Other.assoc_type = assoc_entity element0, @Other.%G.decl [concrete] // CHECK:STDOUT: %Other.impl_witness: = impl_witness file.%Other.impl_witness_table [concrete] -// CHECK:STDOUT: %G.type.58d: type = fn_type @G.2 [concrete] +// CHECK:STDOUT: %G.type.58d: type = fn_type @G.loc30 [concrete] // CHECK:STDOUT: %G.b67: %G.type.58d = struct_value () [concrete] // CHECK:STDOUT: %Other.facet: %Other.type = facet_value %ImplsGeneric, (%Other.impl_witness) [concrete] // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic] @@ -83,7 +83,7 @@ fn G() { // CHECK:STDOUT: %CallGenericMethod.type: type = fn_type @CallGenericMethod [concrete] // CHECK:STDOUT: %CallGenericMethod: %CallGenericMethod.type = struct_value () [concrete] // CHECK:STDOUT: %Self.dee8d8.2: %Generic.type.91ccba.2 = bind_symbolic_name Self, 1 [symbolic] -// CHECK:STDOUT: %F.type.f439a9.2: type = fn_type @F.1, @Generic(%T) [symbolic] +// CHECK:STDOUT: %F.type.f439a9.2: type = fn_type @F.loc16, @Generic(%T) [symbolic] // CHECK:STDOUT: %F.8a2d67.2: %F.type.f439a9.2 = struct_value () [symbolic] // CHECK:STDOUT: %Generic.assoc_type.0fd877.2: type = assoc_entity_type @Generic, @Generic(%T) [symbolic] // CHECK:STDOUT: %assoc0.2966cb.2: %Generic.assoc_type.0fd877.2 = assoc_entity element0, @Generic.%F.decl [symbolic] @@ -93,8 +93,8 @@ fn G() { // CHECK:STDOUT: %Generic.facet.680: %Generic.type.91ccba.2 = facet_value %U.as_type, (%Generic.lookup_impl_witness) [symbolic] // CHECK:STDOUT: %.177: type = fn_type_with_self_type %F.type.f439a9.2, %Generic.facet.680 [symbolic] // CHECK:STDOUT: %impl.elem0: %.177 = impl_witness_access %Generic.lookup_impl_witness, element0 [symbolic] -// CHECK:STDOUT: %specific_impl_fn: = specific_impl_function %impl.elem0, @F.1(%T, %Generic.facet.680) [symbolic] -// CHECK:STDOUT: %G.type.9f9: type = fn_type @G.3 [concrete] +// CHECK:STDOUT: %specific_impl_fn: = specific_impl_function %impl.elem0, @F.loc16(%T, %Generic.facet.680) [symbolic] +// CHECK:STDOUT: %G.type.9f9: type = fn_type @G.loc37 [concrete] // CHECK:STDOUT: %G.57b: %G.type.9f9 = struct_value () [concrete] // CHECK:STDOUT: %pattern_type.ded: type = pattern_type %Generic.type.769 [concrete] // CHECK:STDOUT: %CallGenericMethod.specific_fn: = specific_function %CallGenericMethod, @CallGenericMethod(%GenericParam, %Generic.facet.8ff) [concrete] @@ -154,7 +154,7 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: %U.loc33_32.1: @CallGenericMethod.%Generic.type.loc33_45.2 (%Generic.type.91ccba.2) = bind_symbolic_name U, 1 [symbolic = %U.loc33_32.2 (constants.%U)] // CHECK:STDOUT: } -// CHECK:STDOUT: %G.decl: %G.type.9f9 = fn_decl @G.3 [concrete = constants.%G.57b] {} {} +// CHECK:STDOUT: %G.decl: %G.type.9f9 = fn_decl @G.loc37 [concrete = constants.%G.57b] {} {} // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @Generic(%Scalar.loc15_19.1: type) { @@ -163,14 +163,14 @@ fn G() { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Generic.type: type = facet_type <@Generic, @Generic(%Scalar.loc15_19.2)> [symbolic = %Generic.type (constants.%Generic.type.91ccba.1)] // CHECK:STDOUT: %Self.2: @Generic.%Generic.type (%Generic.type.91ccba.1) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.dee8d8.1)] -// CHECK:STDOUT: %F.type: type = fn_type @F.1, @Generic(%Scalar.loc15_19.2) [symbolic = %F.type (constants.%F.type.f439a9.1)] +// CHECK:STDOUT: %F.type: type = fn_type @F.loc16, @Generic(%Scalar.loc15_19.2) [symbolic = %F.type (constants.%F.type.f439a9.1)] // CHECK:STDOUT: %F: @Generic.%F.type (%F.type.f439a9.1) = struct_value () [symbolic = %F (constants.%F.8a2d67.1)] // CHECK:STDOUT: %Generic.assoc_type: type = assoc_entity_type @Generic, @Generic(%Scalar.loc15_19.2) [symbolic = %Generic.assoc_type (constants.%Generic.assoc_type.0fd877.1)] // CHECK:STDOUT: %assoc0.loc16_9.2: @Generic.%Generic.assoc_type (%Generic.assoc_type.0fd877.1) = assoc_entity element0, %F.decl [symbolic = %assoc0.loc16_9.2 (constants.%assoc0.2966cb.1)] // CHECK:STDOUT: // CHECK:STDOUT: interface { // CHECK:STDOUT: %Self.1: @Generic.%Generic.type (%Generic.type.91ccba.1) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.dee8d8.1)] -// CHECK:STDOUT: %F.decl: @Generic.%F.type (%F.type.f439a9.1) = fn_decl @F.1 [symbolic = @Generic.%F (constants.%F.8a2d67.1)] {} {} +// CHECK:STDOUT: %F.decl: @Generic.%F.type (%F.type.f439a9.1) = fn_decl @F.loc16 [symbolic = @Generic.%F (constants.%F.8a2d67.1)] {} {} // CHECK:STDOUT: %assoc0.loc16_9.1: @Generic.%Generic.assoc_type (%Generic.assoc_type.0fd877.1) = assoc_entity element0, %F.decl [symbolic = %assoc0.loc16_9.2 (constants.%assoc0.2966cb.1)] // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -182,7 +182,7 @@ fn G() { // CHECK:STDOUT: // CHECK:STDOUT: interface @Other { // CHECK:STDOUT: %Self: %Other.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.807] -// CHECK:STDOUT: %G.decl: %G.type.0c6 = fn_decl @G.1 [concrete = constants.%G.17f] {} {} +// CHECK:STDOUT: %G.decl: %G.type.0c6 = fn_decl @G.loc27 [concrete = constants.%G.17f] {} {} // CHECK:STDOUT: %assoc0: %Other.assoc_type = assoc_entity element0, %G.decl [concrete = constants.%assoc0.25d] // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -192,7 +192,7 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @Generic.impl: %ImplsGeneric.ref as %Generic.type { -// CHECK:STDOUT: %F.decl: %F.type.17b = fn_decl @F.2 [concrete = constants.%F.a56] {} {} +// CHECK:STDOUT: %F.decl: %F.type.17b = fn_decl @F.loc23 [concrete = constants.%F.a56] {} {} // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .F = %F.decl @@ -200,7 +200,7 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @Other.impl: %ImplsGeneric.ref as %Other.ref { -// CHECK:STDOUT: %G.decl: %G.type.58d = fn_decl @G.2 [concrete = constants.%G.b67] {} {} +// CHECK:STDOUT: %G.decl: %G.type.58d = fn_decl @G.loc30 [concrete = constants.%G.b67] {} {} // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .G = %G.decl @@ -225,20 +225,20 @@ fn G() { // CHECK:STDOUT: .Self = constants.%ImplsGeneric // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.1(@Generic.%Scalar.loc15_19.1: type, @Generic.%Self.1: @Generic.%Generic.type (%Generic.type.91ccba.1)) { +// CHECK:STDOUT: generic fn @F.loc16(@Generic.%Scalar.loc15_19.1: type, @Generic.%Self.1: @Generic.%Generic.type (%Generic.type.91ccba.1)) { // CHECK:STDOUT: fn(); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2() { +// CHECK:STDOUT: fn @F.loc23() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @G.1(@Other.%Self: %Other.type) { +// CHECK:STDOUT: generic fn @G.loc27(@Other.%Self: %Other.type) { // CHECK:STDOUT: fn(); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @G.2(); +// CHECK:STDOUT: fn @G.loc30(); // CHECK:STDOUT: // CHECK:STDOUT: generic fn @CallGenericMethod(%T.loc33_22.1: type, %U.loc33_32.1: @CallGenericMethod.%Generic.type.loc33_45.2 (%Generic.type.91ccba.2)) { // CHECK:STDOUT: %T.loc33_22.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc33_22.2 (constants.%T)] @@ -252,11 +252,11 @@ fn G() { // CHECK:STDOUT: %assoc0: @CallGenericMethod.%Generic.assoc_type (%Generic.assoc_type.0fd877.2) = assoc_entity element0, @Generic.%F.decl [symbolic = %assoc0 (constants.%assoc0.2966cb.2)] // CHECK:STDOUT: %U.as_type.loc34_4.2: type = facet_access_type %U.loc33_32.2 [symbolic = %U.as_type.loc34_4.2 (constants.%U.as_type)] // CHECK:STDOUT: %Generic.lookup_impl_witness: = lookup_impl_witness %U.loc33_32.2, @Generic, @Generic(%T.loc33_22.2) [symbolic = %Generic.lookup_impl_witness (constants.%Generic.lookup_impl_witness)] -// CHECK:STDOUT: %F.type: type = fn_type @F.1, @Generic(%T.loc33_22.2) [symbolic = %F.type (constants.%F.type.f439a9.2)] +// CHECK:STDOUT: %F.type: type = fn_type @F.loc16, @Generic(%T.loc33_22.2) [symbolic = %F.type (constants.%F.type.f439a9.2)] // CHECK:STDOUT: %Generic.facet: @CallGenericMethod.%Generic.type.loc33_45.2 (%Generic.type.91ccba.2) = facet_value %U.as_type.loc34_4.2, (%Generic.lookup_impl_witness) [symbolic = %Generic.facet (constants.%Generic.facet.680)] // CHECK:STDOUT: %.loc34_4.3: type = fn_type_with_self_type %F.type, %Generic.facet [symbolic = %.loc34_4.3 (constants.%.177)] // CHECK:STDOUT: %impl.elem0.loc34_4.2: @CallGenericMethod.%.loc34_4.3 (%.177) = impl_witness_access %Generic.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc34_4.2 (constants.%impl.elem0)] -// CHECK:STDOUT: %specific_impl_fn.loc34_4.2: = specific_impl_function %impl.elem0.loc34_4.2, @F.1(%T.loc33_22.2, %Generic.facet) [symbolic = %specific_impl_fn.loc34_4.2 (constants.%specific_impl_fn)] +// CHECK:STDOUT: %specific_impl_fn.loc34_4.2: = specific_impl_function %impl.elem0.loc34_4.2, @F.loc16(%T.loc33_22.2, %Generic.facet) [symbolic = %specific_impl_fn.loc34_4.2 (constants.%specific_impl_fn)] // CHECK:STDOUT: // CHECK:STDOUT: fn() { // CHECK:STDOUT: !entry: @@ -266,13 +266,13 @@ fn G() { // CHECK:STDOUT: %U.as_type.loc34_4.1: type = facet_access_type %U.ref [symbolic = %U.as_type.loc34_4.2 (constants.%U.as_type)] // CHECK:STDOUT: %.loc34_4.2: type = converted %U.ref, %U.as_type.loc34_4.1 [symbolic = %U.as_type.loc34_4.2 (constants.%U.as_type)] // CHECK:STDOUT: %impl.elem0.loc34_4.1: @CallGenericMethod.%.loc34_4.3 (%.177) = impl_witness_access constants.%Generic.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc34_4.2 (constants.%impl.elem0)] -// CHECK:STDOUT: %specific_impl_fn.loc34_4.1: = specific_impl_function %impl.elem0.loc34_4.1, @F.1(constants.%T, constants.%Generic.facet.680) [symbolic = %specific_impl_fn.loc34_4.2 (constants.%specific_impl_fn)] +// CHECK:STDOUT: %specific_impl_fn.loc34_4.1: = specific_impl_function %impl.elem0.loc34_4.1, @F.loc16(constants.%T, constants.%Generic.facet.680) [symbolic = %specific_impl_fn.loc34_4.2 (constants.%specific_impl_fn)] // CHECK:STDOUT: %.loc34_7: init %empty_tuple.type = call %specific_impl_fn.loc34_4.1() // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @G.3() { +// CHECK:STDOUT: fn @G.loc37() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %CallGenericMethod.ref: %CallGenericMethod.type = name_ref CallGenericMethod, file.%CallGenericMethod.decl [concrete = constants.%CallGenericMethod] // CHECK:STDOUT: %GenericParam.ref: type = name_ref GenericParam, file.%GenericParam.decl [concrete = constants.%GenericParam] @@ -288,7 +288,7 @@ fn G() { // CHECK:STDOUT: %Scalar.loc15_19.2 => constants.%Scalar // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%Scalar, constants.%Self.dee8d8.1) {} +// CHECK:STDOUT: specific @F.loc16(constants.%Scalar, constants.%Self.dee8d8.1) {} // CHECK:STDOUT: // CHECK:STDOUT: specific @Generic(constants.%GenericParam) { // CHECK:STDOUT: %Scalar.loc15_19.2 => constants.%GenericParam @@ -302,11 +302,11 @@ fn G() { // CHECK:STDOUT: %assoc0.loc16_9.2 => constants.%assoc0.9b7 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%GenericParam, constants.%Generic.facet.8ff) {} +// CHECK:STDOUT: specific @F.loc16(constants.%GenericParam, constants.%Generic.facet.8ff) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @G.1(constants.%Self.807) {} +// CHECK:STDOUT: specific @G.loc27(constants.%Self.807) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @G.1(constants.%Other.facet) {} +// CHECK:STDOUT: specific @G.loc27(constants.%Other.facet) {} // CHECK:STDOUT: // CHECK:STDOUT: specific @Generic(constants.%T) { // CHECK:STDOUT: %Scalar.loc15_19.2 => constants.%T @@ -327,7 +327,7 @@ fn G() { // CHECK:STDOUT: %pattern_type => constants.%pattern_type.80f // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%T, constants.%Generic.facet.680) {} +// CHECK:STDOUT: specific @F.loc16(constants.%T, constants.%Generic.facet.680) {} // CHECK:STDOUT: // CHECK:STDOUT: specific @CallGenericMethod(constants.%GenericParam, constants.%Generic.facet.8ff) { // CHECK:STDOUT: %T.loc33_22.2 => constants.%GenericParam diff --git a/toolchain/check/testdata/function/generic/fail_deduce_imported_function.carbon b/toolchain/check/testdata/function/generic/fail_deduce_imported_function.carbon index ed7d0f933c98..fe9fe77f566a 100644 --- a/toolchain/check/testdata/function/generic/fail_deduce_imported_function.carbon +++ b/toolchain/check/testdata/function/generic/fail_deduce_imported_function.carbon @@ -123,14 +123,14 @@ fn B() { // CHECK:STDOUT: %T.as_type: type = facet_access_type %T [symbolic] // CHECK:STDOUT: %struct_type.a: type = struct_type {.a: %T.as_type} [symbolic] // CHECK:STDOUT: %pattern_type.ea1: type = pattern_type %struct_type.a [symbolic] -// CHECK:STDOUT: %A.type.00d: type = fn_type @A.1 [concrete] +// CHECK:STDOUT: %A.type.00d: type = fn_type @A.loc4 [concrete] // CHECK:STDOUT: %A.1db: %A.type.00d = struct_value () [concrete] // CHECK:STDOUT: %require_complete: = require_complete_type %struct_type.a [symbolic] // CHECK:STDOUT: %B.type: type = fn_type @B [concrete] // CHECK:STDOUT: %B: %B.type = struct_value () [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %struct_type.b: type = struct_type {.b: %empty_struct_type} [concrete] -// CHECK:STDOUT: %A.type.fad: type = fn_type @A.2 [concrete] +// CHECK:STDOUT: %A.type.fad: type = fn_type @A.1 [concrete] // CHECK:STDOUT: %A.7a0: %A.type.fad = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -143,7 +143,7 @@ fn B() { // CHECK:STDOUT: %Lib.Z: type = import_ref Lib//default, Z, loaded [concrete = constants.%Z.type] // CHECK:STDOUT: %Lib.import_ref.f88 = import_ref Lib//default, inst17 [no loc], unloaded // CHECK:STDOUT: %Lib.A: %A.type.fad = import_ref Lib//default, A, loaded [concrete = constants.%A.7a0] -// CHECK:STDOUT: %Lib.import_ref.be7: %Z.type = import_ref Lib//default, loc4_6, loaded [symbolic = @A.2.%T (constants.%T)] +// CHECK:STDOUT: %Lib.import_ref.be7: %Z.type = import_ref Lib//default, loc4_6, loaded [symbolic = @A.1.%T (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -153,24 +153,24 @@ fn B() { // CHECK:STDOUT: .B = %B.decl // CHECK:STDOUT: } // CHECK:STDOUT: %Lib.import = import Lib -// CHECK:STDOUT: %A.decl: %A.type.00d = fn_decl @A.1 [concrete = constants.%A.1db] { +// CHECK:STDOUT: %A.decl: %A.type.00d = fn_decl @A.loc4 [concrete = constants.%A.1db] { // CHECK:STDOUT: %T.patt: %pattern_type.3dd = symbolic_binding_pattern T, 0 [concrete] -// CHECK:STDOUT: %x.patt: @A.1.%pattern_type (%pattern_type.ea1) = binding_pattern x [concrete] -// CHECK:STDOUT: %x.param_patt: @A.1.%pattern_type (%pattern_type.ea1) = value_param_pattern %x.patt, call_param0 [concrete] +// CHECK:STDOUT: %x.patt: @A.loc4.%pattern_type (%pattern_type.ea1) = binding_pattern x [concrete] +// CHECK:STDOUT: %x.param_patt: @A.loc4.%pattern_type (%pattern_type.ea1) = value_param_pattern %x.patt, call_param0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_13: type = splice_block %Z.ref [concrete = constants.%Z.type] { // CHECK:STDOUT: %Lib.ref: = name_ref Lib, imports.%Lib [concrete = imports.%Lib] // CHECK:STDOUT: %Z.ref: type = name_ref Z, imports.%Lib.Z [concrete = constants.%Z.type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_6.1: %Z.type = bind_symbolic_name T, 0 [symbolic = %T.loc4_6.2 (constants.%T)] -// CHECK:STDOUT: %x.param: @A.1.%struct_type.a.loc4_26.2 (%struct_type.a) = value_param call_param0 +// CHECK:STDOUT: %x.param: @A.loc4.%struct_type.a.loc4_26.2 (%struct_type.a) = value_param call_param0 // CHECK:STDOUT: %.loc4_26: type = splice_block %struct_type.a.loc4_26.1 [symbolic = %struct_type.a.loc4_26.2 (constants.%struct_type.a)] { // CHECK:STDOUT: %T.ref: %Z.type = name_ref T, %T.loc4_6.1 [symbolic = %T.loc4_6.2 (constants.%T)] // CHECK:STDOUT: %T.as_type.loc4_25.1: type = facet_access_type %T.ref [symbolic = %T.as_type.loc4_25.2 (constants.%T.as_type)] // CHECK:STDOUT: %.loc4_25: type = converted %T.ref, %T.as_type.loc4_25.1 [symbolic = %T.as_type.loc4_25.2 (constants.%T.as_type)] -// CHECK:STDOUT: %struct_type.a.loc4_26.1: type = struct_type {.a: @A.1.%T.as_type.loc4_25.2 (%T.as_type)} [symbolic = %struct_type.a.loc4_26.2 (constants.%struct_type.a)] +// CHECK:STDOUT: %struct_type.a.loc4_26.1: type = struct_type {.a: @A.loc4.%T.as_type.loc4_25.2 (%T.as_type)} [symbolic = %struct_type.a.loc4_26.2 (constants.%struct_type.a)] // CHECK:STDOUT: } -// CHECK:STDOUT: %x: @A.1.%struct_type.a.loc4_26.2 (%struct_type.a) = bind_name x, %x.param +// CHECK:STDOUT: %x: @A.loc4.%struct_type.a.loc4_26.2 (%struct_type.a) = bind_name x, %x.param // CHECK:STDOUT: } // CHECK:STDOUT: %B.decl: %B.type = fn_decl @B [concrete = constants.%B] {} {} // CHECK:STDOUT: } @@ -181,16 +181,16 @@ fn B() { // CHECK:STDOUT: witness = () // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @A.1(%T.loc4_6.1: %Z.type) { +// CHECK:STDOUT: generic fn @A.loc4(%T.loc4_6.1: %Z.type) { // CHECK:STDOUT: %T.loc4_6.2: %Z.type = bind_symbolic_name T, 0 [symbolic = %T.loc4_6.2 (constants.%T)] // CHECK:STDOUT: %T.as_type.loc4_25.2: type = facet_access_type %T.loc4_6.2 [symbolic = %T.as_type.loc4_25.2 (constants.%T.as_type)] -// CHECK:STDOUT: %struct_type.a.loc4_26.2: type = struct_type {.a: @A.1.%T.as_type.loc4_25.2 (%T.as_type)} [symbolic = %struct_type.a.loc4_26.2 (constants.%struct_type.a)] +// CHECK:STDOUT: %struct_type.a.loc4_26.2: type = struct_type {.a: @A.loc4.%T.as_type.loc4_25.2 (%T.as_type)} [symbolic = %struct_type.a.loc4_26.2 (constants.%struct_type.a)] // CHECK:STDOUT: %pattern_type: type = pattern_type %struct_type.a.loc4_26.2 [symbolic = %pattern_type (constants.%pattern_type.ea1)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type %struct_type.a.loc4_26.2 [symbolic = %require_complete (constants.%require_complete)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%x.param: @A.1.%struct_type.a.loc4_26.2 (%struct_type.a)) { +// CHECK:STDOUT: fn(%x.param: @A.loc4.%struct_type.a.loc4_26.2 (%struct_type.a)) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -208,10 +208,10 @@ fn B() { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @A.2(imports.%Lib.import_ref.be7: %Z.type) [from "lib.carbon"] { +// CHECK:STDOUT: generic fn @A.1(imports.%Lib.import_ref.be7: %Z.type) [from "lib.carbon"] { // CHECK:STDOUT: %T: %Z.type = bind_symbolic_name T, 0 [symbolic = %T (constants.%T)] // CHECK:STDOUT: %T.as_type: type = facet_access_type %T [symbolic = %T.as_type (constants.%T.as_type)] -// CHECK:STDOUT: %struct_type.a: type = struct_type {.a: @A.2.%T.as_type (%T.as_type)} [symbolic = %struct_type.a (constants.%struct_type.a)] +// CHECK:STDOUT: %struct_type.a: type = struct_type {.a: @A.1.%T.as_type (%T.as_type)} [symbolic = %struct_type.a (constants.%struct_type.a)] // CHECK:STDOUT: %pattern_type: type = pattern_type %struct_type.a [symbolic = %pattern_type (constants.%pattern_type.ea1)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -220,14 +220,14 @@ fn B() { // CHECK:STDOUT: fn; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @A.1(constants.%T) { +// CHECK:STDOUT: specific @A.loc4(constants.%T) { // CHECK:STDOUT: %T.loc4_6.2 => constants.%T // CHECK:STDOUT: %T.as_type.loc4_25.2 => constants.%T.as_type // CHECK:STDOUT: %struct_type.a.loc4_26.2 => constants.%struct_type.a // CHECK:STDOUT: %pattern_type => constants.%pattern_type.ea1 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @A.2(constants.%T) { +// CHECK:STDOUT: specific @A.1(constants.%T) { // CHECK:STDOUT: %T => constants.%T // CHECK:STDOUT: %T.as_type => constants.%T.as_type // CHECK:STDOUT: %struct_type.a => constants.%struct_type.a diff --git a/toolchain/check/testdata/function/generic/redeclare.carbon b/toolchain/check/testdata/function/generic/redeclare.carbon index b60cc4d56e4a..7a7268826270 100644 --- a/toolchain/check/testdata/function/generic/redeclare.carbon +++ b/toolchain/check/testdata/function/generic/redeclare.carbon @@ -183,11 +183,11 @@ fn F(U:! type, T:! type) -> U* { // CHECK:STDOUT: %U: type = bind_symbolic_name U, 1 [symbolic] // CHECK:STDOUT: %ptr.79f: type = ptr_type %T [symbolic] // CHECK:STDOUT: %pattern_type.afe: type = pattern_type %ptr.79f [symbolic] -// CHECK:STDOUT: %F.type.b25846.1: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.b25846.1: type = fn_type @F.loc4 [concrete] // CHECK:STDOUT: %F.c41931.1: %F.type.b25846.1 = struct_value () [concrete] // CHECK:STDOUT: %ptr.b51: type = ptr_type %U [symbolic] // CHECK:STDOUT: %pattern_type.ead: type = pattern_type %ptr.b51 [symbolic] -// CHECK:STDOUT: %F.type.b25846.2: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.b25846.2: type = fn_type @F.loc13 [concrete] // CHECK:STDOUT: %F.c41931.2: %F.type.b25846.2 = struct_value () [concrete] // CHECK:STDOUT: %require_complete: = require_complete_type %ptr.b51 [symbolic] // CHECK:STDOUT: } @@ -205,44 +205,44 @@ fn F(U:! type, T:! type) -> U* { // CHECK:STDOUT: .F = %F.decl.loc4 // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core -// CHECK:STDOUT: %F.decl.loc4: %F.type.b25846.1 = fn_decl @F.1 [concrete = constants.%F.c41931.1] { +// CHECK:STDOUT: %F.decl.loc4: %F.type.b25846.1 = fn_decl @F.loc4 [concrete = constants.%F.c41931.1] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 1 [concrete] -// CHECK:STDOUT: %return.patt: @F.1.%pattern_type (%pattern_type.afe) = return_slot_pattern [concrete] -// CHECK:STDOUT: %return.param_patt: @F.1.%pattern_type (%pattern_type.afe) = out_param_pattern %return.patt, call_param0 [concrete] +// CHECK:STDOUT: %return.patt: @F.loc4.%pattern_type (%pattern_type.afe) = return_slot_pattern [concrete] +// CHECK:STDOUT: %return.param_patt: @F.loc4.%pattern_type (%pattern_type.afe) = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc4_6.1 [symbolic = %T.loc4_6.2 (constants.%T)] // CHECK:STDOUT: %ptr.loc4_30.1: type = ptr_type %T.ref [symbolic = %ptr.loc4_30.2 (constants.%ptr.79f)] // CHECK:STDOUT: %T.loc4_6.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc4_6.2 (constants.%T)] // CHECK:STDOUT: %U.loc4_16.1: type = bind_symbolic_name U, 1 [symbolic = %U.loc4_16.2 (constants.%U)] -// CHECK:STDOUT: %return.param: ref @F.1.%ptr.loc4_30.2 (%ptr.79f) = out_param call_param0 -// CHECK:STDOUT: %return: ref @F.1.%ptr.loc4_30.2 (%ptr.79f) = return_slot %return.param +// CHECK:STDOUT: %return.param: ref @F.loc4.%ptr.loc4_30.2 (%ptr.79f) = out_param call_param0 +// CHECK:STDOUT: %return: ref @F.loc4.%ptr.loc4_30.2 (%ptr.79f) = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %F.decl.loc13: %F.type.b25846.2 = fn_decl @F.2 [concrete = constants.%F.c41931.2] { +// CHECK:STDOUT: %F.decl.loc13: %F.type.b25846.2 = fn_decl @F.loc13 [concrete = constants.%F.c41931.2] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 1 [concrete] -// CHECK:STDOUT: %return.patt: @F.2.%pattern_type (%pattern_type.ead) = return_slot_pattern [concrete] -// CHECK:STDOUT: %return.param_patt: @F.2.%pattern_type (%pattern_type.ead) = out_param_pattern %return.patt, call_param0 [concrete] +// CHECK:STDOUT: %return.patt: @F.loc13.%pattern_type (%pattern_type.ead) = return_slot_pattern [concrete] +// CHECK:STDOUT: %return.param_patt: @F.loc13.%pattern_type (%pattern_type.ead) = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %U.ref: type = name_ref U, %U.loc13_16.1 [symbolic = %U.loc13_16.2 (constants.%U)] // CHECK:STDOUT: %ptr.loc13_30.1: type = ptr_type %U.ref [symbolic = %ptr.loc13_30.2 (constants.%ptr.b51)] // CHECK:STDOUT: %T.loc13_6.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc13_6.2 (constants.%T)] // CHECK:STDOUT: %U.loc13_16.1: type = bind_symbolic_name U, 1 [symbolic = %U.loc13_16.2 (constants.%U)] -// CHECK:STDOUT: %return.param: ref @F.2.%ptr.loc13_30.2 (%ptr.b51) = out_param call_param0 -// CHECK:STDOUT: %return: ref @F.2.%ptr.loc13_30.2 (%ptr.b51) = return_slot %return.param +// CHECK:STDOUT: %return.param: ref @F.loc13.%ptr.loc13_30.2 (%ptr.b51) = out_param call_param0 +// CHECK:STDOUT: %return: ref @F.loc13.%ptr.loc13_30.2 (%ptr.b51) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.1(%T.loc4_6.1: type, %U.loc4_16.1: type) { +// CHECK:STDOUT: generic fn @F.loc4(%T.loc4_6.1: type, %U.loc4_16.1: type) { // CHECK:STDOUT: %T.loc4_6.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc4_6.2 (constants.%T)] // CHECK:STDOUT: %U.loc4_16.2: type = bind_symbolic_name U, 1 [symbolic = %U.loc4_16.2 (constants.%U)] // CHECK:STDOUT: %ptr.loc4_30.2: type = ptr_type %T.loc4_6.2 [symbolic = %ptr.loc4_30.2 (constants.%ptr.79f)] // CHECK:STDOUT: %pattern_type: type = pattern_type %ptr.loc4_30.2 [symbolic = %pattern_type (constants.%pattern_type.afe)] // CHECK:STDOUT: -// CHECK:STDOUT: fn() -> @F.1.%ptr.loc4_30.2 (%ptr.79f); +// CHECK:STDOUT: fn() -> @F.loc4.%ptr.loc4_30.2 (%ptr.79f); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.2(%T.loc13_6.1: type, %U.loc13_16.1: type) { +// CHECK:STDOUT: generic fn @F.loc13(%T.loc13_6.1: type, %U.loc13_16.1: type) { // CHECK:STDOUT: %T.loc13_6.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc13_6.2 (constants.%T)] // CHECK:STDOUT: %U.loc13_16.2: type = bind_symbolic_name U, 1 [symbolic = %U.loc13_16.2 (constants.%U)] // CHECK:STDOUT: %ptr.loc13_30.2: type = ptr_type %U.loc13_16.2 [symbolic = %ptr.loc13_30.2 (constants.%ptr.b51)] @@ -251,7 +251,7 @@ fn F(U:! type, T:! type) -> U* { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type %ptr.loc13_30.2 [symbolic = %require_complete (constants.%require_complete)] // CHECK:STDOUT: -// CHECK:STDOUT: fn() -> @F.2.%ptr.loc13_30.2 (%ptr.b51) { +// CHECK:STDOUT: fn() -> @F.loc13.%ptr.loc13_30.2 (%ptr.b51) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %F.ref: %F.type.b25846.1 = name_ref F, file.%F.decl.loc4 [concrete = constants.%F.c41931.1] // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc13_6.1 [symbolic = %T.loc13_6.2 (constants.%T)] @@ -259,14 +259,14 @@ fn F(U:! type, T:! type) -> U* { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%T, constants.%U) { +// CHECK:STDOUT: specific @F.loc4(constants.%T, constants.%U) { // CHECK:STDOUT: %T.loc4_6.2 => constants.%T // CHECK:STDOUT: %U.loc4_16.2 => constants.%U // CHECK:STDOUT: %ptr.loc4_30.2 => constants.%ptr.79f // CHECK:STDOUT: %pattern_type => constants.%pattern_type.afe // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.2(constants.%T, constants.%U) { +// CHECK:STDOUT: specific @F.loc13(constants.%T, constants.%U) { // CHECK:STDOUT: %T.loc13_6.2 => constants.%T // CHECK:STDOUT: %U.loc13_16.2 => constants.%U // CHECK:STDOUT: %ptr.loc13_30.2 => constants.%ptr.b51 @@ -281,13 +281,13 @@ fn F(U:! type, T:! type) -> U* { // CHECK:STDOUT: %U.336: type = bind_symbolic_name U, 1 [symbolic] // CHECK:STDOUT: %ptr.79f: type = ptr_type %T.8b3 [symbolic] // CHECK:STDOUT: %pattern_type.afe: type = pattern_type %ptr.79f [symbolic] -// CHECK:STDOUT: %F.type.b25846.1: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.b25846.1: type = fn_type @F.loc4 [concrete] // CHECK:STDOUT: %F.c41931.1: %F.type.b25846.1 = struct_value () [concrete] // CHECK:STDOUT: %U.8b3: type = bind_symbolic_name U, 0 [symbolic] // CHECK:STDOUT: %T.336: type = bind_symbolic_name T, 1 [symbolic] // CHECK:STDOUT: %ptr.b51: type = ptr_type %T.336 [symbolic] // CHECK:STDOUT: %pattern_type.ead: type = pattern_type %ptr.b51 [symbolic] -// CHECK:STDOUT: %F.type.b25846.2: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.b25846.2: type = fn_type @F.loc13 [concrete] // CHECK:STDOUT: %F.c41931.2: %F.type.b25846.2 = struct_value () [concrete] // CHECK:STDOUT: %require_complete: = require_complete_type %ptr.b51 [symbolic] // CHECK:STDOUT: } @@ -305,44 +305,44 @@ fn F(U:! type, T:! type) -> U* { // CHECK:STDOUT: .F = %F.decl.loc4 // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core -// CHECK:STDOUT: %F.decl.loc4: %F.type.b25846.1 = fn_decl @F.1 [concrete = constants.%F.c41931.1] { +// CHECK:STDOUT: %F.decl.loc4: %F.type.b25846.1 = fn_decl @F.loc4 [concrete = constants.%F.c41931.1] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 1 [concrete] -// CHECK:STDOUT: %return.patt: @F.1.%pattern_type (%pattern_type.afe) = return_slot_pattern [concrete] -// CHECK:STDOUT: %return.param_patt: @F.1.%pattern_type (%pattern_type.afe) = out_param_pattern %return.patt, call_param0 [concrete] +// CHECK:STDOUT: %return.patt: @F.loc4.%pattern_type (%pattern_type.afe) = return_slot_pattern [concrete] +// CHECK:STDOUT: %return.param_patt: @F.loc4.%pattern_type (%pattern_type.afe) = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc4_6.1 [symbolic = %T.loc4_6.2 (constants.%T.8b3)] // CHECK:STDOUT: %ptr.loc4_30.1: type = ptr_type %T.ref [symbolic = %ptr.loc4_30.2 (constants.%ptr.79f)] // CHECK:STDOUT: %T.loc4_6.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc4_6.2 (constants.%T.8b3)] // CHECK:STDOUT: %U.loc4_16.1: type = bind_symbolic_name U, 1 [symbolic = %U.loc4_16.2 (constants.%U.336)] -// CHECK:STDOUT: %return.param: ref @F.1.%ptr.loc4_30.2 (%ptr.79f) = out_param call_param0 -// CHECK:STDOUT: %return: ref @F.1.%ptr.loc4_30.2 (%ptr.79f) = return_slot %return.param +// CHECK:STDOUT: %return.param: ref @F.loc4.%ptr.loc4_30.2 (%ptr.79f) = out_param call_param0 +// CHECK:STDOUT: %return: ref @F.loc4.%ptr.loc4_30.2 (%ptr.79f) = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %F.decl.loc13: %F.type.b25846.2 = fn_decl @F.2 [concrete = constants.%F.c41931.2] { +// CHECK:STDOUT: %F.decl.loc13: %F.type.b25846.2 = fn_decl @F.loc13 [concrete = constants.%F.c41931.2] { // CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 0 [concrete] // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 1 [concrete] -// CHECK:STDOUT: %return.patt: @F.2.%pattern_type (%pattern_type.ead) = return_slot_pattern [concrete] -// CHECK:STDOUT: %return.param_patt: @F.2.%pattern_type (%pattern_type.ead) = out_param_pattern %return.patt, call_param0 [concrete] +// CHECK:STDOUT: %return.patt: @F.loc13.%pattern_type (%pattern_type.ead) = return_slot_pattern [concrete] +// CHECK:STDOUT: %return.param_patt: @F.loc13.%pattern_type (%pattern_type.ead) = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc13: type = name_ref T, %T.loc13_16.1 [symbolic = %T.loc13_16.2 (constants.%T.336)] // CHECK:STDOUT: %ptr.loc13_30.1: type = ptr_type %T.ref.loc13 [symbolic = %ptr.loc13_30.2 (constants.%ptr.b51)] // CHECK:STDOUT: %U.loc13_6.1: type = bind_symbolic_name U, 0 [symbolic = %U.loc13_6.2 (constants.%U.8b3)] // CHECK:STDOUT: %T.loc13_16.1: type = bind_symbolic_name T, 1 [symbolic = %T.loc13_16.2 (constants.%T.336)] -// CHECK:STDOUT: %return.param: ref @F.2.%ptr.loc13_30.2 (%ptr.b51) = out_param call_param0 -// CHECK:STDOUT: %return: ref @F.2.%ptr.loc13_30.2 (%ptr.b51) = return_slot %return.param +// CHECK:STDOUT: %return.param: ref @F.loc13.%ptr.loc13_30.2 (%ptr.b51) = out_param call_param0 +// CHECK:STDOUT: %return: ref @F.loc13.%ptr.loc13_30.2 (%ptr.b51) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.1(%T.loc4_6.1: type, %U.loc4_16.1: type) { +// CHECK:STDOUT: generic fn @F.loc4(%T.loc4_6.1: type, %U.loc4_16.1: type) { // CHECK:STDOUT: %T.loc4_6.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc4_6.2 (constants.%T.8b3)] // CHECK:STDOUT: %U.loc4_16.2: type = bind_symbolic_name U, 1 [symbolic = %U.loc4_16.2 (constants.%U.336)] // CHECK:STDOUT: %ptr.loc4_30.2: type = ptr_type %T.loc4_6.2 [symbolic = %ptr.loc4_30.2 (constants.%ptr.79f)] // CHECK:STDOUT: %pattern_type: type = pattern_type %ptr.loc4_30.2 [symbolic = %pattern_type (constants.%pattern_type.afe)] // CHECK:STDOUT: -// CHECK:STDOUT: fn() -> @F.1.%ptr.loc4_30.2 (%ptr.79f); +// CHECK:STDOUT: fn() -> @F.loc4.%ptr.loc4_30.2 (%ptr.79f); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.2(%U.loc13_6.1: type, %T.loc13_16.1: type) { +// CHECK:STDOUT: generic fn @F.loc13(%U.loc13_6.1: type, %T.loc13_16.1: type) { // CHECK:STDOUT: %U.loc13_6.2: type = bind_symbolic_name U, 0 [symbolic = %U.loc13_6.2 (constants.%U.8b3)] // CHECK:STDOUT: %T.loc13_16.2: type = bind_symbolic_name T, 1 [symbolic = %T.loc13_16.2 (constants.%T.336)] // CHECK:STDOUT: %ptr.loc13_30.2: type = ptr_type %T.loc13_16.2 [symbolic = %ptr.loc13_30.2 (constants.%ptr.b51)] @@ -351,7 +351,7 @@ fn F(U:! type, T:! type) -> U* { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type %ptr.loc13_30.2 [symbolic = %require_complete (constants.%require_complete)] // CHECK:STDOUT: -// CHECK:STDOUT: fn() -> @F.2.%ptr.loc13_30.2 (%ptr.b51) { +// CHECK:STDOUT: fn() -> @F.loc13.%ptr.loc13_30.2 (%ptr.b51) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %F.ref: %F.type.b25846.1 = name_ref F, file.%F.decl.loc4 [concrete = constants.%F.c41931.1] // CHECK:STDOUT: %T.ref.loc21: type = name_ref T, %T.loc13_16.1 [symbolic = %T.loc13_16.2 (constants.%T.336)] @@ -359,14 +359,14 @@ fn F(U:! type, T:! type) -> U* { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%T.8b3, constants.%U.336) { +// CHECK:STDOUT: specific @F.loc4(constants.%T.8b3, constants.%U.336) { // CHECK:STDOUT: %T.loc4_6.2 => constants.%T.8b3 // CHECK:STDOUT: %U.loc4_16.2 => constants.%U.336 // CHECK:STDOUT: %ptr.loc4_30.2 => constants.%ptr.79f // CHECK:STDOUT: %pattern_type => constants.%pattern_type.afe // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.2(constants.%U.8b3, constants.%T.336) { +// CHECK:STDOUT: specific @F.loc13(constants.%U.8b3, constants.%T.336) { // CHECK:STDOUT: %U.loc13_6.2 => constants.%U.8b3 // CHECK:STDOUT: %T.loc13_16.2 => constants.%T.336 // CHECK:STDOUT: %ptr.loc13_30.2 => constants.%ptr.b51 @@ -381,13 +381,13 @@ fn F(U:! type, T:! type) -> U* { // CHECK:STDOUT: %U.336: type = bind_symbolic_name U, 1 [symbolic] // CHECK:STDOUT: %ptr.79f131.1: type = ptr_type %T.8b3 [symbolic] // CHECK:STDOUT: %pattern_type.afe393.1: type = pattern_type %ptr.79f131.1 [symbolic] -// CHECK:STDOUT: %F.type.b25846.1: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.b25846.1: type = fn_type @F.loc4 [concrete] // CHECK:STDOUT: %F.c41931.1: %F.type.b25846.1 = struct_value () [concrete] // CHECK:STDOUT: %U.8b3: type = bind_symbolic_name U, 0 [symbolic] // CHECK:STDOUT: %T.336: type = bind_symbolic_name T, 1 [symbolic] // CHECK:STDOUT: %ptr.79f131.2: type = ptr_type %U.8b3 [symbolic] // CHECK:STDOUT: %pattern_type.afe393.2: type = pattern_type %ptr.79f131.2 [symbolic] -// CHECK:STDOUT: %F.type.b25846.2: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.b25846.2: type = fn_type @F.loc13 [concrete] // CHECK:STDOUT: %F.c41931.2: %F.type.b25846.2 = struct_value () [concrete] // CHECK:STDOUT: %require_complete: = require_complete_type %ptr.79f131.2 [symbolic] // CHECK:STDOUT: } @@ -405,44 +405,44 @@ fn F(U:! type, T:! type) -> U* { // CHECK:STDOUT: .F = %F.decl.loc4 // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core -// CHECK:STDOUT: %F.decl.loc4: %F.type.b25846.1 = fn_decl @F.1 [concrete = constants.%F.c41931.1] { +// CHECK:STDOUT: %F.decl.loc4: %F.type.b25846.1 = fn_decl @F.loc4 [concrete = constants.%F.c41931.1] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 1 [concrete] -// CHECK:STDOUT: %return.patt: @F.1.%pattern_type (%pattern_type.afe393.1) = return_slot_pattern [concrete] -// CHECK:STDOUT: %return.param_patt: @F.1.%pattern_type (%pattern_type.afe393.1) = out_param_pattern %return.patt, call_param0 [concrete] +// CHECK:STDOUT: %return.patt: @F.loc4.%pattern_type (%pattern_type.afe393.1) = return_slot_pattern [concrete] +// CHECK:STDOUT: %return.param_patt: @F.loc4.%pattern_type (%pattern_type.afe393.1) = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc4_6.1 [symbolic = %T.loc4_6.2 (constants.%T.8b3)] // CHECK:STDOUT: %ptr.loc4_30.1: type = ptr_type %T.ref [symbolic = %ptr.loc4_30.2 (constants.%ptr.79f131.1)] // CHECK:STDOUT: %T.loc4_6.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc4_6.2 (constants.%T.8b3)] // CHECK:STDOUT: %U.loc4_16.1: type = bind_symbolic_name U, 1 [symbolic = %U.loc4_16.2 (constants.%U.336)] -// CHECK:STDOUT: %return.param: ref @F.1.%ptr.loc4_30.2 (%ptr.79f131.1) = out_param call_param0 -// CHECK:STDOUT: %return: ref @F.1.%ptr.loc4_30.2 (%ptr.79f131.1) = return_slot %return.param +// CHECK:STDOUT: %return.param: ref @F.loc4.%ptr.loc4_30.2 (%ptr.79f131.1) = out_param call_param0 +// CHECK:STDOUT: %return: ref @F.loc4.%ptr.loc4_30.2 (%ptr.79f131.1) = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %F.decl.loc13: %F.type.b25846.2 = fn_decl @F.2 [concrete = constants.%F.c41931.2] { +// CHECK:STDOUT: %F.decl.loc13: %F.type.b25846.2 = fn_decl @F.loc13 [concrete = constants.%F.c41931.2] { // CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 0 [concrete] // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 1 [concrete] -// CHECK:STDOUT: %return.patt: @F.2.%pattern_type (%pattern_type.afe393.2) = return_slot_pattern [concrete] -// CHECK:STDOUT: %return.param_patt: @F.2.%pattern_type (%pattern_type.afe393.2) = out_param_pattern %return.patt, call_param0 [concrete] +// CHECK:STDOUT: %return.patt: @F.loc13.%pattern_type (%pattern_type.afe393.2) = return_slot_pattern [concrete] +// CHECK:STDOUT: %return.param_patt: @F.loc13.%pattern_type (%pattern_type.afe393.2) = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %U.ref: type = name_ref U, %U.loc13_6.1 [symbolic = %U.loc13_6.2 (constants.%U.8b3)] // CHECK:STDOUT: %ptr.loc13_30.1: type = ptr_type %U.ref [symbolic = %ptr.loc13_30.2 (constants.%ptr.79f131.2)] // CHECK:STDOUT: %U.loc13_6.1: type = bind_symbolic_name U, 0 [symbolic = %U.loc13_6.2 (constants.%U.8b3)] // CHECK:STDOUT: %T.loc13_16.1: type = bind_symbolic_name T, 1 [symbolic = %T.loc13_16.2 (constants.%T.336)] -// CHECK:STDOUT: %return.param: ref @F.2.%ptr.loc13_30.2 (%ptr.79f131.2) = out_param call_param0 -// CHECK:STDOUT: %return: ref @F.2.%ptr.loc13_30.2 (%ptr.79f131.2) = return_slot %return.param +// CHECK:STDOUT: %return.param: ref @F.loc13.%ptr.loc13_30.2 (%ptr.79f131.2) = out_param call_param0 +// CHECK:STDOUT: %return: ref @F.loc13.%ptr.loc13_30.2 (%ptr.79f131.2) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.1(%T.loc4_6.1: type, %U.loc4_16.1: type) { +// CHECK:STDOUT: generic fn @F.loc4(%T.loc4_6.1: type, %U.loc4_16.1: type) { // CHECK:STDOUT: %T.loc4_6.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc4_6.2 (constants.%T.8b3)] // CHECK:STDOUT: %U.loc4_16.2: type = bind_symbolic_name U, 1 [symbolic = %U.loc4_16.2 (constants.%U.336)] // CHECK:STDOUT: %ptr.loc4_30.2: type = ptr_type %T.loc4_6.2 [symbolic = %ptr.loc4_30.2 (constants.%ptr.79f131.1)] // CHECK:STDOUT: %pattern_type: type = pattern_type %ptr.loc4_30.2 [symbolic = %pattern_type (constants.%pattern_type.afe393.1)] // CHECK:STDOUT: -// CHECK:STDOUT: fn() -> @F.1.%ptr.loc4_30.2 (%ptr.79f131.1); +// CHECK:STDOUT: fn() -> @F.loc4.%ptr.loc4_30.2 (%ptr.79f131.1); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.2(%U.loc13_6.1: type, %T.loc13_16.1: type) { +// CHECK:STDOUT: generic fn @F.loc13(%U.loc13_6.1: type, %T.loc13_16.1: type) { // CHECK:STDOUT: %U.loc13_6.2: type = bind_symbolic_name U, 0 [symbolic = %U.loc13_6.2 (constants.%U.8b3)] // CHECK:STDOUT: %T.loc13_16.2: type = bind_symbolic_name T, 1 [symbolic = %T.loc13_16.2 (constants.%T.336)] // CHECK:STDOUT: %ptr.loc13_30.2: type = ptr_type %U.loc13_6.2 [symbolic = %ptr.loc13_30.2 (constants.%ptr.79f131.2)] @@ -451,7 +451,7 @@ fn F(U:! type, T:! type) -> U* { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type %ptr.loc13_30.2 [symbolic = %require_complete (constants.%require_complete)] // CHECK:STDOUT: -// CHECK:STDOUT: fn() -> @F.2.%ptr.loc13_30.2 (%ptr.79f131.2) { +// CHECK:STDOUT: fn() -> @F.loc13.%ptr.loc13_30.2 (%ptr.79f131.2) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %F.ref: %F.type.b25846.1 = name_ref F, file.%F.decl.loc4 [concrete = constants.%F.c41931.1] // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc13_16.1 [symbolic = %T.loc13_16.2 (constants.%T.336)] @@ -459,14 +459,14 @@ fn F(U:! type, T:! type) -> U* { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%T.8b3, constants.%U.336) { +// CHECK:STDOUT: specific @F.loc4(constants.%T.8b3, constants.%U.336) { // CHECK:STDOUT: %T.loc4_6.2 => constants.%T.8b3 // CHECK:STDOUT: %U.loc4_16.2 => constants.%U.336 // CHECK:STDOUT: %ptr.loc4_30.2 => constants.%ptr.79f131.1 // CHECK:STDOUT: %pattern_type => constants.%pattern_type.afe393.1 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.2(constants.%U.8b3, constants.%T.336) { +// CHECK:STDOUT: specific @F.loc13(constants.%U.8b3, constants.%T.336) { // CHECK:STDOUT: %U.loc13_6.2 => constants.%U.8b3 // CHECK:STDOUT: %T.loc13_16.2 => constants.%T.336 // CHECK:STDOUT: %ptr.loc13_30.2 => constants.%ptr.79f131.2 diff --git a/toolchain/check/testdata/generic/template/convert.carbon b/toolchain/check/testdata/generic/template/convert.carbon index f4b3f0d3ca86..3ce59f55fd1d 100644 --- a/toolchain/check/testdata/generic/template/convert.carbon +++ b/toolchain/check/testdata/generic/template/convert.carbon @@ -86,7 +86,7 @@ fn Test(d: D) -> i32 { // CHECK:STDOUT: %Convert.type.1b6: type = fn_type @Convert.1, @ImplicitAs(%i32) [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness.96d: = impl_witness @C.%ImplicitAs.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.c48: type = pattern_type %C [concrete] -// CHECK:STDOUT: %Convert.type.dae: type = fn_type @Convert.2 [concrete] +// CHECK:STDOUT: %Convert.type.dae: type = fn_type @Convert.loc15 [concrete] // CHECK:STDOUT: %Convert.937: %Convert.type.dae = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value %C, (%ImplicitAs.impl_witness.96d) [concrete] // CHECK:STDOUT: %struct_type.n: type = struct_type {.n: %i32} [concrete] @@ -186,7 +186,7 @@ fn Test(d: D) -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @ImplicitAs.impl.4e3: %Self.ref as %ImplicitAs.type { -// CHECK:STDOUT: %Convert.decl: %Convert.type.dae = fn_decl @Convert.2 [concrete = constants.%Convert.937] { +// CHECK:STDOUT: %Convert.decl: %Convert.type.dae = fn_decl @Convert.loc15 [concrete = constants.%Convert.937] { // CHECK:STDOUT: %self.patt: %pattern_type.c48 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.c48 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] @@ -258,7 +258,7 @@ fn Test(d: D) -> i32 { // CHECK:STDOUT: return %.loc9_14.2 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Convert.2(%self.param: %C) -> %i32 { +// CHECK:STDOUT: fn @Convert.loc15(%self.param: %C) -> %i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %self.ref: %C = name_ref self, %self // CHECK:STDOUT: %n.ref: %C.elem = name_ref n, @C.%.loc13 [concrete = @C.%.loc13] diff --git a/toolchain/check/testdata/generic/template/member_access.carbon b/toolchain/check/testdata/generic/template/member_access.carbon index b19e074b3fd1..77bf45fe312a 100644 --- a/toolchain/check/testdata/generic/template/member_access.carbon +++ b/toolchain/check/testdata/generic/template/member_access.carbon @@ -423,11 +423,11 @@ fn Test(e: E) { // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %pattern_type.7ce: type = pattern_type %i32 [concrete] -// CHECK:STDOUT: %F.type: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type: type = fn_type @F.loc4 [concrete] // CHECK:STDOUT: %F.c41: %F.type = struct_value () [concrete] // CHECK:STDOUT: %require_complete.4ae: = require_complete_type %T [template] // CHECK:STDOUT: %E: type = class_type @E [concrete] -// CHECK:STDOUT: %F.a8a: type = class_type @F.2 [concrete] +// CHECK:STDOUT: %F.a8a: type = class_type @F.loc15 [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type.357: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %E.elem: type = unbound_element_type %E, %F.a8a [concrete] @@ -436,9 +436,9 @@ fn Test(e: E) { // CHECK:STDOUT: %pattern_type.a4a: type = pattern_type %E [concrete] // CHECK:STDOUT: %Test.type: type = fn_type @Test [concrete] // CHECK:STDOUT: %Test: %Test.type = struct_value () [concrete] -// CHECK:STDOUT: %F.specific_fn: = specific_function %F.c41, @F.1(%E) [concrete] +// CHECK:STDOUT: %F.specific_fn: = specific_function %F.c41, @F.loc4(%E) [concrete] // CHECK:STDOUT: %inst.as_compatible: = inst_value [concrete] { -// CHECK:STDOUT: %.a66: %E = as_compatible @F.1.%x.ref +// CHECK:STDOUT: %.a66: %E = as_compatible @F.loc4.%x.ref // CHECK:STDOUT: } // CHECK:STDOUT: %inst.splice_block.2a2: = inst_value [concrete] { // CHECK:STDOUT: %.6c9: %F.a8a = splice_block %.e29 { @@ -475,19 +475,19 @@ fn Test(e: E) { // CHECK:STDOUT: .Test = %Test.decl // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core -// CHECK:STDOUT: %F.decl: %F.type = fn_decl @F.1 [concrete = constants.%F.c41] { +// CHECK:STDOUT: %F.decl: %F.type = fn_decl @F.loc4 [concrete = constants.%F.c41] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0, template [concrete] -// CHECK:STDOUT: %x.patt: @F.1.%pattern_type (%pattern_type.7dcd0a.1) = binding_pattern x [concrete] -// CHECK:STDOUT: %x.param_patt: @F.1.%pattern_type (%pattern_type.7dcd0a.1) = value_param_pattern %x.patt, call_param0 [concrete] +// CHECK:STDOUT: %x.patt: @F.loc4.%pattern_type (%pattern_type.7dcd0a.1) = binding_pattern x [concrete] +// CHECK:STDOUT: %x.param_patt: @F.loc4.%pattern_type (%pattern_type.7dcd0a.1) = value_param_pattern %x.patt, call_param0 [concrete] // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %T.loc4_15.1: type = bind_symbolic_name T, 0, template [template = %T.loc4_15.2 (constants.%T)] -// CHECK:STDOUT: %x.param: @F.1.%T.loc4_15.2 (%T) = value_param call_param0 +// CHECK:STDOUT: %x.param: @F.loc4.%T.loc4_15.2 (%T) = value_param call_param0 // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc4_15.1 [template = %T.loc4_15.2 (constants.%T)] -// CHECK:STDOUT: %x: @F.1.%T.loc4_15.2 (%T) = bind_name x, %x.param +// CHECK:STDOUT: %x: @F.loc4.%T.loc4_15.2 (%T) = bind_name x, %x.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param1 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param // CHECK:STDOUT: } @@ -503,7 +503,7 @@ fn Test(e: E) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @E { -// CHECK:STDOUT: %F.decl: type = class_decl @F.2 [concrete = constants.%F.a8a] {} {} +// CHECK:STDOUT: %F.decl: type = class_decl @F.loc15 [concrete = constants.%F.a8a] {} {} // CHECK:STDOUT: %F.ref: type = name_ref F, %F.decl [concrete = constants.%F.a8a] // CHECK:STDOUT: %.loc16: %E.elem = field_decl n, element0 [concrete] // CHECK:STDOUT: %struct_type.n: type = struct_type {.n: %F.a8a} [concrete = constants.%struct_type.n.e4c] @@ -516,7 +516,7 @@ fn Test(e: E) { // CHECK:STDOUT: .n = %.loc16 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: class @F.2 { +// CHECK:STDOUT: class @F.loc15 { // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete = constants.%empty_struct_type] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete = constants.%complete_type.357] // CHECK:STDOUT: complete_type_witness = %complete_type @@ -525,7 +525,7 @@ fn Test(e: E) { // CHECK:STDOUT: .Self = constants.%F.a8a // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.1(%T.loc4_15.1: type) { +// CHECK:STDOUT: generic fn @F.loc4(%T.loc4_15.1: type) { // CHECK:STDOUT: %T.loc4_15.2: type = bind_symbolic_name T, 0, template [template = %T.loc4_15.2 (constants.%T)] // CHECK:STDOUT: %pattern_type: type = pattern_type %T.loc4_15.2 [template = %pattern_type (constants.%pattern_type.7dcd0a.1)] // CHECK:STDOUT: @@ -536,11 +536,11 @@ fn Test(e: E) { // CHECK:STDOUT: %.loc11_11.5: type = type_of_inst %.loc11_11.4 [template] // CHECK:STDOUT: %.loc11_13.2: = convert_to_value_action %.loc11_11.2, constants.%i32 [template] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%x.param: @F.1.%T.loc4_15.2 (%T)) -> %i32 { +// CHECK:STDOUT: fn(%x.param: @F.loc4.%T.loc4_15.2 (%T)) -> %i32 { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %x.ref: @F.1.%T.loc4_15.2 (%T) = name_ref x, %x -// CHECK:STDOUT: %.loc11_11.1: @F.1.%T.loc4_15.2 (%T) = splice_inst %.loc11_11.3 -// CHECK:STDOUT: %.loc11_11.2: @F.1.%.loc11_11.5 (@F.1.%.loc11_11.5) = splice_inst %.loc11_11.4 +// CHECK:STDOUT: %x.ref: @F.loc4.%T.loc4_15.2 (%T) = name_ref x, %x +// CHECK:STDOUT: %.loc11_11.1: @F.loc4.%T.loc4_15.2 (%T) = splice_inst %.loc11_11.3 +// CHECK:STDOUT: %.loc11_11.2: @F.loc4.%.loc11_11.5 (@F.loc4.%.loc11_11.5) = splice_inst %.loc11_11.4 // CHECK:STDOUT: %.loc11_13.1: %i32 = splice_inst %.loc11_13.2 // CHECK:STDOUT: return %.loc11_13.1 // CHECK:STDOUT: } @@ -550,17 +550,17 @@ fn Test(e: E) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %F.ref: %F.type = name_ref F, file.%F.decl [concrete = constants.%F.c41] // CHECK:STDOUT: %e.ref: %E = name_ref e, %e -// CHECK:STDOUT: %F.specific_fn: = specific_function %F.ref, @F.1(constants.%E) [concrete = constants.%F.specific_fn] +// CHECK:STDOUT: %F.specific_fn: = specific_function %F.ref, @F.loc4(constants.%E) [concrete = constants.%F.specific_fn] // CHECK:STDOUT: %F.call: init %i32 = call %F.specific_fn(%e.ref) // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%T) { +// CHECK:STDOUT: specific @F.loc4(constants.%T) { // CHECK:STDOUT: %T.loc4_15.2 => constants.%T // CHECK:STDOUT: %pattern_type => constants.%pattern_type.7dcd0a.1 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%E) { +// CHECK:STDOUT: specific @F.loc4(constants.%E) { // CHECK:STDOUT: %T.loc4_15.2 => constants.%E // CHECK:STDOUT: %pattern_type => constants.%pattern_type.a4a // CHECK:STDOUT: diff --git a/toolchain/check/testdata/impl/assoc_const_self.carbon b/toolchain/check/testdata/impl/assoc_const_self.carbon index be644a203aa3..c5a888eaefb4 100644 --- a/toolchain/check/testdata/impl/assoc_const_self.carbon +++ b/toolchain/check/testdata/impl/assoc_const_self.carbon @@ -395,7 +395,7 @@ fn CallF() { // CHECK:STDOUT: %ImplicitAs.impl_witness: = impl_witness file.%ImplicitAs.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] // CHECK:STDOUT: %pattern_type.c48: type = pattern_type %C [concrete] -// CHECK:STDOUT: %Convert.type.721: type = fn_type @Convert.2 [concrete] +// CHECK:STDOUT: %Convert.type.721: type = fn_type @Convert.loc11 [concrete] // CHECK:STDOUT: %Convert.155: %Convert.type.721 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.15e = facet_value %empty_tuple.type, (%ImplicitAs.impl_witness) [concrete] // CHECK:STDOUT: %C.val: %C = struct_value () [concrete] @@ -490,7 +490,7 @@ fn CallF() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @ImplicitAs.impl: %.loc10_7.2 as %ImplicitAs.type { -// CHECK:STDOUT: %Convert.decl: %Convert.type.721 = fn_decl @Convert.2 [concrete = constants.%Convert.155] { +// CHECK:STDOUT: %Convert.decl: %Convert.type.721 = fn_decl @Convert.loc11 [concrete = constants.%Convert.155] { // CHECK:STDOUT: %self.patt: %pattern_type.cb1 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.cb1 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %return.patt: %pattern_type.c48 = return_slot_pattern [concrete] @@ -527,7 +527,7 @@ fn CallF() { // CHECK:STDOUT: .Self = constants.%C // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Convert.2(%self.param: %empty_tuple.type) -> %return.param: %C { +// CHECK:STDOUT: fn @Convert.loc11(%self.param: %empty_tuple.type) -> %return.param: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc11_41.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc11_41.2: init %C = class_init (), %return [concrete = constants.%C.val] diff --git a/toolchain/check/testdata/impl/basic.carbon b/toolchain/check/testdata/impl/basic.carbon index dbb74eb8b65f..a1fd8fe1a374 100644 --- a/toolchain/check/testdata/impl/basic.carbon +++ b/toolchain/check/testdata/impl/basic.carbon @@ -27,7 +27,7 @@ impl C as Simple { // CHECK:STDOUT: constants { // CHECK:STDOUT: %Simple.type: type = facet_type <@Simple> [concrete] // CHECK:STDOUT: %Self: %Simple.type = bind_symbolic_name Self, 0 [symbolic] -// CHECK:STDOUT: %F.type.e2e: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.e2e: type = fn_type @F.loc16 [concrete] // CHECK:STDOUT: %F.df8: %F.type.e2e = struct_value () [concrete] // CHECK:STDOUT: %Simple.assoc_type: type = assoc_entity_type @Simple [concrete] // CHECK:STDOUT: %assoc0: %Simple.assoc_type = assoc_entity element0, @Simple.%F.decl [concrete] @@ -35,7 +35,7 @@ impl C as Simple { // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %Simple.impl_witness: = impl_witness file.%Simple.impl_witness_table [concrete] -// CHECK:STDOUT: %F.type.f9e: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.f9e: type = fn_type @F.loc22 [concrete] // CHECK:STDOUT: %F.f50: %F.type.f9e = struct_value () [concrete] // CHECK:STDOUT: %Simple.facet: %Simple.type = facet_value %C, (%Simple.impl_witness) [concrete] // CHECK:STDOUT: } @@ -57,7 +57,7 @@ impl C as Simple { // CHECK:STDOUT: // CHECK:STDOUT: interface @Simple { // CHECK:STDOUT: %Self: %Simple.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self] -// CHECK:STDOUT: %F.decl: %F.type.e2e = fn_decl @F.1 [concrete = constants.%F.df8] {} {} +// CHECK:STDOUT: %F.decl: %F.type.e2e = fn_decl @F.loc16 [concrete = constants.%F.df8] {} {} // CHECK:STDOUT: %assoc0: %Simple.assoc_type = assoc_entity element0, %F.decl [concrete = constants.%assoc0] // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -67,7 +67,7 @@ impl C as Simple { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @Simple.impl: %C.ref as %Simple.ref { -// CHECK:STDOUT: %F.decl: %F.type.f9e = fn_decl @F.2 [concrete = constants.%F.f50] {} {} +// CHECK:STDOUT: %F.decl: %F.type.f9e = fn_decl @F.loc22 [concrete = constants.%F.f50] {} {} // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .F = %F.decl @@ -83,16 +83,16 @@ impl C as Simple { // CHECK:STDOUT: .Self = constants.%C // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.1(@Simple.%Self: %Simple.type) { +// CHECK:STDOUT: generic fn @F.loc16(@Simple.%Self: %Simple.type) { // CHECK:STDOUT: fn(); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2() { +// CHECK:STDOUT: fn @F.loc22() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%Self) {} +// CHECK:STDOUT: specific @F.loc16(constants.%Self) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%Simple.facet) {} +// CHECK:STDOUT: specific @F.loc16(constants.%Simple.facet) {} // CHECK:STDOUT: diff --git a/toolchain/check/testdata/impl/compound.carbon b/toolchain/check/testdata/impl/compound.carbon index 17815d6d381c..a893c937379f 100644 --- a/toolchain/check/testdata/impl/compound.carbon +++ b/toolchain/check/testdata/impl/compound.carbon @@ -219,14 +219,14 @@ fn InstanceCallFail() { // CHECK:STDOUT: constants { // CHECK:STDOUT: %NonInstance1.type: type = facet_type <@NonInstance1> [concrete] // CHECK:STDOUT: %Self: %NonInstance1.type = bind_symbolic_name Self, 0 [symbolic] -// CHECK:STDOUT: %F1.type.163: type = fn_type @F1.1 [concrete] +// CHECK:STDOUT: %F1.type.163: type = fn_type @F1.loc4 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %F1.b1f: %F1.type.163 = struct_value () [concrete] // CHECK:STDOUT: %NonInstance1.assoc_type: type = assoc_entity_type @NonInstance1 [concrete] // CHECK:STDOUT: %assoc0: %NonInstance1.assoc_type = assoc_entity element0, @NonInstance1.%F1.decl [concrete] // CHECK:STDOUT: %struct_type.a: type = struct_type {.a: %empty_tuple.type} [concrete] // CHECK:STDOUT: %NonInstance1.impl_witness: = impl_witness file.%NonInstance1.impl_witness_table [concrete] -// CHECK:STDOUT: %F1.type.d4a: type = fn_type @F1.2 [concrete] +// CHECK:STDOUT: %F1.type.d4a: type = fn_type @F1.loc8 [concrete] // CHECK:STDOUT: %F1.c75: %F1.type.d4a = struct_value () [concrete] // CHECK:STDOUT: %NonInstance1.facet: %NonInstance1.type = facet_value %struct_type.a, (%NonInstance1.impl_witness) [concrete] // CHECK:STDOUT: %NonInstanceCall1.type: type = fn_type @NonInstanceCall1 [concrete] @@ -253,7 +253,7 @@ fn InstanceCallFail() { // CHECK:STDOUT: // CHECK:STDOUT: interface @NonInstance1 { // CHECK:STDOUT: %Self: %NonInstance1.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self] -// CHECK:STDOUT: %F1.decl: %F1.type.163 = fn_decl @F1.1 [concrete = constants.%F1.b1f] {} {} +// CHECK:STDOUT: %F1.decl: %F1.type.163 = fn_decl @F1.loc4 [concrete = constants.%F1.b1f] {} {} // CHECK:STDOUT: %assoc0: %NonInstance1.assoc_type = assoc_entity element0, %F1.decl [concrete = constants.%assoc0] // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -263,18 +263,18 @@ fn InstanceCallFail() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @NonInstance1.impl: %struct_type.a as %NonInstance1.ref { -// CHECK:STDOUT: %F1.decl: %F1.type.d4a = fn_decl @F1.2 [concrete = constants.%F1.c75] {} {} +// CHECK:STDOUT: %F1.decl: %F1.type.d4a = fn_decl @F1.loc8 [concrete = constants.%F1.c75] {} {} // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .F1 = %F1.decl // CHECK:STDOUT: witness = file.%NonInstance1.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F1.1(@NonInstance1.%Self: %NonInstance1.type) { +// CHECK:STDOUT: generic fn @F1.loc4(@NonInstance1.%Self: %NonInstance1.type) { // CHECK:STDOUT: fn(); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F1.2() { +// CHECK:STDOUT: fn @F1.loc8() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -293,23 +293,23 @@ fn InstanceCallFail() { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F1.1(constants.%Self) {} +// CHECK:STDOUT: specific @F1.loc4(constants.%Self) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @F1.1(constants.%NonInstance1.facet) {} +// CHECK:STDOUT: specific @F1.loc4(constants.%NonInstance1.facet) {} // CHECK:STDOUT: // CHECK:STDOUT: --- fail_non-instance.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { // CHECK:STDOUT: %NonInstance2.type: type = facet_type <@NonInstance2> [concrete] // CHECK:STDOUT: %Self.5a9: %NonInstance2.type = bind_symbolic_name Self, 0 [symbolic] -// CHECK:STDOUT: %F2.type.608: type = fn_type @F2.1 [concrete] +// CHECK:STDOUT: %F2.type.608: type = fn_type @F2.loc6 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %F2.86a: %F2.type.608 = struct_value () [concrete] // CHECK:STDOUT: %NonInstance2.assoc_type: type = assoc_entity_type @NonInstance2 [concrete] // CHECK:STDOUT: %assoc0.92e: %NonInstance2.assoc_type = assoc_entity element0, @NonInstance2.%F2.decl [concrete] // CHECK:STDOUT: %struct_type.b: type = struct_type {.b: %empty_tuple.type} [concrete] // CHECK:STDOUT: %NonInstance2.impl_witness: = impl_witness file.%NonInstance2.impl_witness_table [concrete] -// CHECK:STDOUT: %F2.type.1ec: type = fn_type @F2.2 [concrete] +// CHECK:STDOUT: %F2.type.1ec: type = fn_type @F2.loc10 [concrete] // CHECK:STDOUT: %F2.941: %F2.type.1ec = struct_value () [concrete] // CHECK:STDOUT: %NonInstance2.facet: %NonInstance2.type = facet_value %struct_type.b, (%NonInstance2.impl_witness) [concrete] // CHECK:STDOUT: %pattern_type.d5c: type = pattern_type %struct_type.b [concrete] @@ -384,7 +384,7 @@ fn InstanceCallFail() { // CHECK:STDOUT: // CHECK:STDOUT: interface @NonInstance2 { // CHECK:STDOUT: %Self: %NonInstance2.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.5a9] -// CHECK:STDOUT: %F2.decl: %F2.type.608 = fn_decl @F2.1 [concrete = constants.%F2.86a] {} {} +// CHECK:STDOUT: %F2.decl: %F2.type.608 = fn_decl @F2.loc6 [concrete = constants.%F2.86a] {} {} // CHECK:STDOUT: %assoc0: %NonInstance2.assoc_type = assoc_entity element0, %F2.decl [concrete = constants.%assoc0.92e] // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -413,18 +413,18 @@ fn InstanceCallFail() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @NonInstance2.impl: %struct_type.b as %NonInstance2.ref { -// CHECK:STDOUT: %F2.decl: %F2.type.1ec = fn_decl @F2.2 [concrete = constants.%F2.941] {} {} +// CHECK:STDOUT: %F2.decl: %F2.type.1ec = fn_decl @F2.loc10 [concrete = constants.%F2.941] {} {} // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .F2 = %F2.decl // CHECK:STDOUT: witness = file.%NonInstance2.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F2.1(@NonInstance2.%Self: %NonInstance2.type) { +// CHECK:STDOUT: generic fn @F2.loc6(@NonInstance2.%Self: %NonInstance2.type) { // CHECK:STDOUT: fn(); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F2.2() { +// CHECK:STDOUT: fn @F2.loc10() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -449,9 +449,9 @@ fn InstanceCallFail() { // CHECK:STDOUT: fn; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F2.1(constants.%Self.5a9) {} +// CHECK:STDOUT: specific @F2.loc6(constants.%Self.5a9) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @F2.1(constants.%NonInstance2.facet) {} +// CHECK:STDOUT: specific @F2.loc6(constants.%NonInstance2.facet) {} // CHECK:STDOUT: // CHECK:STDOUT: specific @ImplicitAs(constants.%Dest) { // CHECK:STDOUT: %Dest => constants.%Dest @@ -483,14 +483,14 @@ fn InstanceCallFail() { // CHECK:STDOUT: constants { // CHECK:STDOUT: %NonInstance3.type: type = facet_type <@NonInstance3> [concrete] // CHECK:STDOUT: %Self.dd1: %NonInstance3.type = bind_symbolic_name Self, 0 [symbolic] -// CHECK:STDOUT: %F3.type.ee4: type = fn_type @F3.1 [concrete] +// CHECK:STDOUT: %F3.type.ee4: type = fn_type @F3.loc6 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %F3.752: %F3.type.ee4 = struct_value () [concrete] // CHECK:STDOUT: %NonInstance3.assoc_type: type = assoc_entity_type @NonInstance3 [concrete] // CHECK:STDOUT: %assoc0.2f5: %NonInstance3.assoc_type = assoc_entity element0, @NonInstance3.%F3.decl [concrete] // CHECK:STDOUT: %struct_type.c: type = struct_type {.c: %empty_tuple.type} [concrete] // CHECK:STDOUT: %NonInstance3.impl_witness: = impl_witness file.%NonInstance3.impl_witness_table [concrete] -// CHECK:STDOUT: %F3.type.1c2: type = fn_type @F3.2 [concrete] +// CHECK:STDOUT: %F3.type.1c2: type = fn_type @F3.loc10 [concrete] // CHECK:STDOUT: %F3.1d3: %F3.type.1c2 = struct_value () [concrete] // CHECK:STDOUT: %NonInstance3.facet: %NonInstance3.type = facet_value %struct_type.c, (%NonInstance3.impl_witness) [concrete] // CHECK:STDOUT: %ptr: type = ptr_type %struct_type.c [concrete] @@ -567,7 +567,7 @@ fn InstanceCallFail() { // CHECK:STDOUT: // CHECK:STDOUT: interface @NonInstance3 { // CHECK:STDOUT: %Self: %NonInstance3.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.dd1] -// CHECK:STDOUT: %F3.decl: %F3.type.ee4 = fn_decl @F3.1 [concrete = constants.%F3.752] {} {} +// CHECK:STDOUT: %F3.decl: %F3.type.ee4 = fn_decl @F3.loc6 [concrete = constants.%F3.752] {} {} // CHECK:STDOUT: %assoc0: %NonInstance3.assoc_type = assoc_entity element0, %F3.decl [concrete = constants.%assoc0.2f5] // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -596,18 +596,18 @@ fn InstanceCallFail() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @NonInstance3.impl: %struct_type.c as %NonInstance3.ref { -// CHECK:STDOUT: %F3.decl: %F3.type.1c2 = fn_decl @F3.2 [concrete = constants.%F3.1d3] {} {} +// CHECK:STDOUT: %F3.decl: %F3.type.1c2 = fn_decl @F3.loc10 [concrete = constants.%F3.1d3] {} {} // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .F3 = %F3.decl // CHECK:STDOUT: witness = file.%NonInstance3.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F3.1(@NonInstance3.%Self: %NonInstance3.type) { +// CHECK:STDOUT: generic fn @F3.loc6(@NonInstance3.%Self: %NonInstance3.type) { // CHECK:STDOUT: fn(); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F3.2() { +// CHECK:STDOUT: fn @F3.loc10() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -633,9 +633,9 @@ fn InstanceCallFail() { // CHECK:STDOUT: fn; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F3.1(constants.%Self.dd1) {} +// CHECK:STDOUT: specific @F3.loc6(constants.%Self.dd1) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @F3.1(constants.%NonInstance3.facet) {} +// CHECK:STDOUT: specific @F3.loc6(constants.%NonInstance3.facet) {} // CHECK:STDOUT: // CHECK:STDOUT: specific @ImplicitAs(constants.%Dest) { // CHECK:STDOUT: %Dest => constants.%Dest @@ -669,7 +669,7 @@ fn InstanceCallFail() { // CHECK:STDOUT: %Self: %Instance1.type = bind_symbolic_name Self, 0 [symbolic] // CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self [symbolic] // CHECK:STDOUT: %pattern_type.0f0: type = pattern_type %Self.as_type [symbolic] -// CHECK:STDOUT: %G1.type.cde: type = fn_type @G1.1 [concrete] +// CHECK:STDOUT: %G1.type.cde: type = fn_type @G1.loc4 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %G1.79a: %G1.type.cde = struct_value () [concrete] // CHECK:STDOUT: %Instance1.assoc_type: type = assoc_entity_type @Instance1 [concrete] @@ -677,7 +677,7 @@ fn InstanceCallFail() { // CHECK:STDOUT: %struct_type.d: type = struct_type {.d: %empty_tuple.type} [concrete] // CHECK:STDOUT: %Instance1.impl_witness: = impl_witness file.%Instance1.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.515: type = pattern_type %struct_type.d [concrete] -// CHECK:STDOUT: %G1.type.c50: type = fn_type @G1.2 [concrete] +// CHECK:STDOUT: %G1.type.c50: type = fn_type @G1.loc8 [concrete] // CHECK:STDOUT: %G1.fee: %G1.type.c50 = struct_value () [concrete] // CHECK:STDOUT: %Instance1.facet: %Instance1.type = facet_value %struct_type.d, (%Instance1.impl_witness) [concrete] // CHECK:STDOUT: %InstanceCall.type: type = fn_type @InstanceCall [concrete] @@ -735,17 +735,17 @@ fn InstanceCallFail() { // CHECK:STDOUT: // CHECK:STDOUT: interface @Instance1 { // CHECK:STDOUT: %Self: %Instance1.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self] -// CHECK:STDOUT: %G1.decl: %G1.type.cde = fn_decl @G1.1 [concrete = constants.%G1.79a] { -// CHECK:STDOUT: %self.patt: @G1.1.%pattern_type (%pattern_type.0f0) = binding_pattern self [concrete] -// CHECK:STDOUT: %self.param_patt: @G1.1.%pattern_type (%pattern_type.0f0) = value_param_pattern %self.patt, call_param0 [concrete] +// CHECK:STDOUT: %G1.decl: %G1.type.cde = fn_decl @G1.loc4 [concrete = constants.%G1.79a] { +// CHECK:STDOUT: %self.patt: @G1.loc4.%pattern_type (%pattern_type.0f0) = binding_pattern self [concrete] +// CHECK:STDOUT: %self.param_patt: @G1.loc4.%pattern_type (%pattern_type.0f0) = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %self.param: @G1.1.%Self.as_type.loc4_15.1 (%Self.as_type) = value_param call_param0 +// CHECK:STDOUT: %self.param: @G1.loc4.%Self.as_type.loc4_15.1 (%Self.as_type) = value_param call_param0 // CHECK:STDOUT: %.loc4_15.1: type = splice_block %.loc4_15.2 [symbolic = %Self.as_type.loc4_15.1 (constants.%Self.as_type)] { // CHECK:STDOUT: %Self.ref: %Instance1.type = name_ref Self, @Instance1.%Self [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %Self.as_type.loc4_15.2: type = facet_access_type %Self.ref [symbolic = %Self.as_type.loc4_15.1 (constants.%Self.as_type)] // CHECK:STDOUT: %.loc4_15.2: type = converted %Self.ref, %Self.as_type.loc4_15.2 [symbolic = %Self.as_type.loc4_15.1 (constants.%Self.as_type)] // CHECK:STDOUT: } -// CHECK:STDOUT: %self: @G1.1.%Self.as_type.loc4_15.1 (%Self.as_type) = bind_name self, %self.param +// CHECK:STDOUT: %self: @G1.loc4.%Self.as_type.loc4_15.1 (%Self.as_type) = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %assoc0: %Instance1.assoc_type = assoc_entity element0, %G1.decl [concrete = constants.%assoc0] // CHECK:STDOUT: @@ -756,7 +756,7 @@ fn InstanceCallFail() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @Instance1.impl: %struct_type.d as %Instance1.ref { -// CHECK:STDOUT: %G1.decl: %G1.type.c50 = fn_decl @G1.2 [concrete = constants.%G1.fee] { +// CHECK:STDOUT: %G1.decl: %G1.type.c50 = fn_decl @G1.loc8 [concrete = constants.%G1.fee] { // CHECK:STDOUT: %self.patt: %pattern_type.515 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.515 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -770,15 +770,15 @@ fn InstanceCallFail() { // CHECK:STDOUT: witness = file.%Instance1.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @G1.1(@Instance1.%Self: %Instance1.type) { +// CHECK:STDOUT: generic fn @G1.loc4(@Instance1.%Self: %Instance1.type) { // CHECK:STDOUT: %Self: %Instance1.type = bind_symbolic_name Self, 0 [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %Self.as_type.loc4_15.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc4_15.1 (constants.%Self.as_type)] // CHECK:STDOUT: %pattern_type: type = pattern_type %Self.as_type.loc4_15.1 [symbolic = %pattern_type (constants.%pattern_type.0f0)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%self.param: @G1.1.%Self.as_type.loc4_15.1 (%Self.as_type)); +// CHECK:STDOUT: fn(%self.param: @G1.loc4.%Self.as_type.loc4_15.1 (%Self.as_type)); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @G1.2(%self.param: %struct_type.d) { +// CHECK:STDOUT: fn @G1.loc8(%self.param: %struct_type.d) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -811,13 +811,13 @@ fn InstanceCallFail() { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @G1.1(constants.%Self) { +// CHECK:STDOUT: specific @G1.loc4(constants.%Self) { // CHECK:STDOUT: %Self => constants.%Self // CHECK:STDOUT: %Self.as_type.loc4_15.1 => constants.%Self.as_type // CHECK:STDOUT: %pattern_type => constants.%pattern_type.0f0 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @G1.1(constants.%Instance1.facet) { +// CHECK:STDOUT: specific @G1.loc4(constants.%Instance1.facet) { // CHECK:STDOUT: %Self => constants.%Instance1.facet // CHECK:STDOUT: %Self.as_type.loc4_15.1 => constants.%struct_type.d // CHECK:STDOUT: %pattern_type => constants.%pattern_type.515 @@ -830,7 +830,7 @@ fn InstanceCallFail() { // CHECK:STDOUT: %Self: %Instance2.type = bind_symbolic_name Self, 0 [symbolic] // CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self [symbolic] // CHECK:STDOUT: %pattern_type.8d7: type = pattern_type %Self.as_type [symbolic] -// CHECK:STDOUT: %G2.type.aa7: type = fn_type @G2.1 [concrete] +// CHECK:STDOUT: %G2.type.aa7: type = fn_type @G2.loc4 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %G2.588: %G2.type.aa7 = struct_value () [concrete] // CHECK:STDOUT: %Instance2.assoc_type: type = assoc_entity_type @Instance2 [concrete] @@ -838,7 +838,7 @@ fn InstanceCallFail() { // CHECK:STDOUT: %struct_type.e: type = struct_type {.e: %empty_tuple.type} [concrete] // CHECK:STDOUT: %Instance2.impl_witness: = impl_witness file.%Instance2.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.efd: type = pattern_type %struct_type.e [concrete] -// CHECK:STDOUT: %G2.type.50c: type = fn_type @G2.2 [concrete] +// CHECK:STDOUT: %G2.type.50c: type = fn_type @G2.loc8 [concrete] // CHECK:STDOUT: %G2.707: %G2.type.50c = struct_value () [concrete] // CHECK:STDOUT: %Instance2.facet: %Instance2.type = facet_value %struct_type.e, (%Instance2.impl_witness) [concrete] // CHECK:STDOUT: %InstanceCallFail.type: type = fn_type @InstanceCallFail [concrete] @@ -864,17 +864,17 @@ fn InstanceCallFail() { // CHECK:STDOUT: // CHECK:STDOUT: interface @Instance2 { // CHECK:STDOUT: %Self: %Instance2.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self] -// CHECK:STDOUT: %G2.decl: %G2.type.aa7 = fn_decl @G2.1 [concrete = constants.%G2.588] { -// CHECK:STDOUT: %self.patt: @G2.1.%pattern_type (%pattern_type.8d7) = binding_pattern self [concrete] -// CHECK:STDOUT: %self.param_patt: @G2.1.%pattern_type (%pattern_type.8d7) = value_param_pattern %self.patt, call_param0 [concrete] +// CHECK:STDOUT: %G2.decl: %G2.type.aa7 = fn_decl @G2.loc4 [concrete = constants.%G2.588] { +// CHECK:STDOUT: %self.patt: @G2.loc4.%pattern_type (%pattern_type.8d7) = binding_pattern self [concrete] +// CHECK:STDOUT: %self.param_patt: @G2.loc4.%pattern_type (%pattern_type.8d7) = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %self.param: @G2.1.%Self.as_type.loc4_15.1 (%Self.as_type) = value_param call_param0 +// CHECK:STDOUT: %self.param: @G2.loc4.%Self.as_type.loc4_15.1 (%Self.as_type) = value_param call_param0 // CHECK:STDOUT: %.loc4_15.1: type = splice_block %.loc4_15.2 [symbolic = %Self.as_type.loc4_15.1 (constants.%Self.as_type)] { // CHECK:STDOUT: %Self.ref: %Instance2.type = name_ref Self, @Instance2.%Self [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %Self.as_type.loc4_15.2: type = facet_access_type %Self.ref [symbolic = %Self.as_type.loc4_15.1 (constants.%Self.as_type)] // CHECK:STDOUT: %.loc4_15.2: type = converted %Self.ref, %Self.as_type.loc4_15.2 [symbolic = %Self.as_type.loc4_15.1 (constants.%Self.as_type)] // CHECK:STDOUT: } -// CHECK:STDOUT: %self: @G2.1.%Self.as_type.loc4_15.1 (%Self.as_type) = bind_name self, %self.param +// CHECK:STDOUT: %self: @G2.loc4.%Self.as_type.loc4_15.1 (%Self.as_type) = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %assoc0: %Instance2.assoc_type = assoc_entity element0, %G2.decl [concrete = constants.%assoc0] // CHECK:STDOUT: @@ -885,7 +885,7 @@ fn InstanceCallFail() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @Instance2.impl: %struct_type.e as %Instance2.ref { -// CHECK:STDOUT: %G2.decl: %G2.type.50c = fn_decl @G2.2 [concrete = constants.%G2.707] { +// CHECK:STDOUT: %G2.decl: %G2.type.50c = fn_decl @G2.loc8 [concrete = constants.%G2.707] { // CHECK:STDOUT: %self.patt: %pattern_type.efd = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.efd = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -899,15 +899,15 @@ fn InstanceCallFail() { // CHECK:STDOUT: witness = file.%Instance2.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @G2.1(@Instance2.%Self: %Instance2.type) { +// CHECK:STDOUT: generic fn @G2.loc4(@Instance2.%Self: %Instance2.type) { // CHECK:STDOUT: %Self: %Instance2.type = bind_symbolic_name Self, 0 [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %Self.as_type.loc4_15.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc4_15.1 (constants.%Self.as_type)] // CHECK:STDOUT: %pattern_type: type = pattern_type %Self.as_type.loc4_15.1 [symbolic = %pattern_type (constants.%pattern_type.8d7)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%self.param: @G2.1.%Self.as_type.loc4_15.1 (%Self.as_type)); +// CHECK:STDOUT: fn(%self.param: @G2.loc4.%Self.as_type.loc4_15.1 (%Self.as_type)); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @G2.2(%self.param: %struct_type.e) { +// CHECK:STDOUT: fn @G2.loc8(%self.param: %struct_type.e) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -922,13 +922,13 @@ fn InstanceCallFail() { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @G2.1(constants.%Self) { +// CHECK:STDOUT: specific @G2.loc4(constants.%Self) { // CHECK:STDOUT: %Self => constants.%Self // CHECK:STDOUT: %Self.as_type.loc4_15.1 => constants.%Self.as_type // CHECK:STDOUT: %pattern_type => constants.%pattern_type.8d7 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @G2.1(constants.%Instance2.facet) { +// CHECK:STDOUT: specific @G2.loc4(constants.%Instance2.facet) { // CHECK:STDOUT: %Self => constants.%Instance2.facet // CHECK:STDOUT: %Self.as_type.loc4_15.1 => constants.%struct_type.e // CHECK:STDOUT: %pattern_type => constants.%pattern_type.efd diff --git a/toolchain/check/testdata/impl/extend_impl.carbon b/toolchain/check/testdata/impl/extend_impl.carbon index 42bc4503db70..5c8670bea306 100644 --- a/toolchain/check/testdata/impl/extend_impl.carbon +++ b/toolchain/check/testdata/impl/extend_impl.carbon @@ -62,7 +62,7 @@ extend impl nonexistent* as I {} // CHECK:STDOUT: %HasF.type: type = facet_type <@HasF> [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %HasF.impl_witness: = impl_witness @C.%HasF.impl_witness_table [concrete] -// CHECK:STDOUT: %F.type.a65: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.a65: type = fn_type @F.loc11 [concrete] // CHECK:STDOUT: %F.ad8: %F.type.a65 = struct_value () [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -73,7 +73,7 @@ extend impl nonexistent* as I {} // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @HasF.impl: %Self.ref as %HasF.ref { -// CHECK:STDOUT: %F.decl: %F.type.a65 = fn_decl @F.2 [concrete = constants.%F.ad8] {} {} +// CHECK:STDOUT: %F.decl: %F.type.a65 = fn_decl @F.loc11 [concrete = constants.%F.ad8] {} {} // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .F = %F.decl @@ -98,7 +98,7 @@ extend impl nonexistent* as I {} // CHECK:STDOUT: extend @HasF.impl.%HasF.ref // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2() { +// CHECK:STDOUT: fn @F.loc11() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/impl/extend_impl_generic.carbon b/toolchain/check/testdata/impl/extend_impl_generic.carbon index 8f57fd06887c..39f3d22e469c 100644 --- a/toolchain/check/testdata/impl/extend_impl_generic.carbon +++ b/toolchain/check/testdata/impl/extend_impl_generic.carbon @@ -62,7 +62,7 @@ class X(U:! type) { // CHECK:STDOUT: %HasF.type.901: type = facet_type <@HasF, @HasF(%T)> [symbolic] // CHECK:STDOUT: %Self.322: %HasF.type.901 = bind_symbolic_name Self, 1 [symbolic] // CHECK:STDOUT: %pattern_type.7dcd0a.1: type = pattern_type %T [symbolic] -// CHECK:STDOUT: %F.type.46c: type = fn_type @F.1, @HasF(%T) [symbolic] +// CHECK:STDOUT: %F.type.46c: type = fn_type @F.loc5, @HasF(%T) [symbolic] // CHECK:STDOUT: %F.823: %F.type.46c = struct_value () [symbolic] // CHECK:STDOUT: %HasF.assoc_type.dd8: type = assoc_entity_type @HasF, @HasF(%T) [symbolic] // CHECK:STDOUT: %assoc0.d31: %HasF.assoc_type.dd8 = assoc_entity element0, @HasF.%F.decl [symbolic] @@ -77,13 +77,13 @@ class X(U:! type) { // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %HasF.type.b18: type = facet_type <@HasF, @HasF(%Param)> [concrete] // CHECK:STDOUT: %Self.a41: %HasF.type.b18 = bind_symbolic_name Self, 1 [symbolic] -// CHECK:STDOUT: %F.type.7f1: type = fn_type @F.1, @HasF(%Param) [concrete] +// CHECK:STDOUT: %F.type.7f1: type = fn_type @F.loc5, @HasF(%Param) [concrete] // CHECK:STDOUT: %F.eff: %F.type.7f1 = struct_value () [concrete] // CHECK:STDOUT: %HasF.assoc_type.257: type = assoc_entity_type @HasF, @HasF(%Param) [concrete] // CHECK:STDOUT: %assoc0.afb: %HasF.assoc_type.257 = assoc_entity element0, @HasF.%F.decl [concrete] // CHECK:STDOUT: %HasF.impl_witness: = impl_witness @C.%HasF.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.b01: type = pattern_type %Param [concrete] -// CHECK:STDOUT: %F.type.94c: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.94c: type = fn_type @F.loc14 [concrete] // CHECK:STDOUT: %F.901: %F.type.94c = struct_value () [concrete] // CHECK:STDOUT: %HasF.facet: %HasF.type.b18 = facet_value %C, (%HasF.impl_witness) [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] @@ -170,20 +170,20 @@ class X(U:! type) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %HasF.type: type = facet_type <@HasF, @HasF(%T.loc4_16.2)> [symbolic = %HasF.type (constants.%HasF.type.901)] // CHECK:STDOUT: %Self.2: @HasF.%HasF.type (%HasF.type.901) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.322)] -// CHECK:STDOUT: %F.type: type = fn_type @F.1, @HasF(%T.loc4_16.2) [symbolic = %F.type (constants.%F.type.46c)] +// CHECK:STDOUT: %F.type: type = fn_type @F.loc5, @HasF(%T.loc4_16.2) [symbolic = %F.type (constants.%F.type.46c)] // CHECK:STDOUT: %F: @HasF.%F.type (%F.type.46c) = struct_value () [symbolic = %F (constants.%F.823)] // CHECK:STDOUT: %HasF.assoc_type: type = assoc_entity_type @HasF, @HasF(%T.loc4_16.2) [symbolic = %HasF.assoc_type (constants.%HasF.assoc_type.dd8)] // CHECK:STDOUT: %assoc0.loc5_14.2: @HasF.%HasF.assoc_type (%HasF.assoc_type.dd8) = assoc_entity element0, %F.decl [symbolic = %assoc0.loc5_14.2 (constants.%assoc0.d31)] // CHECK:STDOUT: // CHECK:STDOUT: interface { // CHECK:STDOUT: %Self.1: @HasF.%HasF.type (%HasF.type.901) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.322)] -// CHECK:STDOUT: %F.decl: @HasF.%F.type (%F.type.46c) = fn_decl @F.1 [symbolic = @HasF.%F (constants.%F.823)] { -// CHECK:STDOUT: %return.patt: @F.1.%pattern_type (%pattern_type.7dcd0a.1) = return_slot_pattern [concrete] -// CHECK:STDOUT: %return.param_patt: @F.1.%pattern_type (%pattern_type.7dcd0a.1) = out_param_pattern %return.patt, call_param0 [concrete] +// CHECK:STDOUT: %F.decl: @HasF.%F.type (%F.type.46c) = fn_decl @F.loc5 [symbolic = @HasF.%F (constants.%F.823)] { +// CHECK:STDOUT: %return.patt: @F.loc5.%pattern_type (%pattern_type.7dcd0a.1) = return_slot_pattern [concrete] +// CHECK:STDOUT: %return.param_patt: @F.loc5.%pattern_type (%pattern_type.7dcd0a.1) = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, @HasF.%T.loc4_16.1 [symbolic = %T (constants.%T)] -// CHECK:STDOUT: %return.param: ref @F.1.%T (%T) = out_param call_param0 -// CHECK:STDOUT: %return: ref @F.1.%T (%T) = return_slot %return.param +// CHECK:STDOUT: %return.param: ref @F.loc5.%T (%T) = out_param call_param0 +// CHECK:STDOUT: %return: ref @F.loc5.%T (%T) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %assoc0.loc5_14.1: @HasF.%HasF.assoc_type (%HasF.assoc_type.dd8) = assoc_entity element0, %F.decl [symbolic = %assoc0.loc5_14.2 (constants.%assoc0.d31)] // CHECK:STDOUT: @@ -197,7 +197,7 @@ class X(U:! type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @HasF.impl: %Self.ref as %HasF.type { -// CHECK:STDOUT: %F.decl: %F.type.94c = fn_decl @F.2 [concrete = constants.%F.901] { +// CHECK:STDOUT: %F.decl: %F.type.94c = fn_decl @F.loc14 [concrete = constants.%F.901] { // CHECK:STDOUT: %return.patt: %pattern_type.b01 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.b01 = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -246,14 +246,14 @@ class X(U:! type) { // CHECK:STDOUT: extend @HasF.impl.%HasF.type // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.1(@HasF.%T.loc4_16.1: type, @HasF.%Self.1: @HasF.%HasF.type (%HasF.type.901)) { +// CHECK:STDOUT: generic fn @F.loc5(@HasF.%T.loc4_16.1: type, @HasF.%Self.1: @HasF.%HasF.type (%HasF.type.901)) { // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic = %T (constants.%T)] // CHECK:STDOUT: %pattern_type: type = pattern_type %T [symbolic = %pattern_type (constants.%pattern_type.7dcd0a.1)] // CHECK:STDOUT: -// CHECK:STDOUT: fn() -> @F.1.%T (%T); +// CHECK:STDOUT: fn() -> @F.loc5.%T (%T); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2() -> %return.param: %Param { +// CHECK:STDOUT: fn @F.loc14() -> %return.param: %Param { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %.loc15_21.1: %struct_type.x.c96 = struct_literal (%int_2) @@ -333,7 +333,7 @@ class X(U:! type) { // CHECK:STDOUT: %T.loc4_16.2 => constants.%T // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%T, constants.%Self.322) { +// CHECK:STDOUT: specific @F.loc5(constants.%T, constants.%Self.322) { // CHECK:STDOUT: %T => constants.%T // CHECK:STDOUT: %pattern_type => constants.%pattern_type.7dcd0a.1 // CHECK:STDOUT: } @@ -350,7 +350,7 @@ class X(U:! type) { // CHECK:STDOUT: %assoc0.loc5_14.2 => constants.%assoc0.afb // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%Param, constants.%HasF.facet) { +// CHECK:STDOUT: specific @F.loc5(constants.%Param, constants.%HasF.facet) { // CHECK:STDOUT: %T => constants.%Param // CHECK:STDOUT: %pattern_type => constants.%pattern_type.b01 // CHECK:STDOUT: } @@ -367,7 +367,7 @@ class X(U:! type) { // CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self.209206.1 [symbolic] // CHECK:STDOUT: %pattern_type.4be: type = pattern_type %Self.as_type [symbolic] // CHECK:STDOUT: %pattern_type.7dcd0a.1: type = pattern_type %T [symbolic] -// CHECK:STDOUT: %F.type.2aef59.1: type = fn_type @F.1, @I(%T) [symbolic] +// CHECK:STDOUT: %F.type.2aef59.1: type = fn_type @F.loc5, @I(%T) [symbolic] // CHECK:STDOUT: %F.bb2dd4.1: %F.type.2aef59.1 = struct_value () [symbolic] // CHECK:STDOUT: %I.assoc_type.1e5078.1: type = assoc_entity_type @I, @I(%T) [symbolic] // CHECK:STDOUT: %assoc0.8f0422.1: %I.assoc_type.1e5078.1 = assoc_entity element0, @I.%F.decl [symbolic] @@ -377,7 +377,7 @@ class X(U:! type) { // CHECK:STDOUT: %X: type = class_type @X, @X(%U) [symbolic] // CHECK:STDOUT: %I.type.325e65.2: type = facet_type <@I, @I(%U)> [symbolic] // CHECK:STDOUT: %Self.209206.2: %I.type.325e65.2 = bind_symbolic_name Self, 1 [symbolic] -// CHECK:STDOUT: %F.type.2aef59.2: type = fn_type @F.1, @I(%U) [symbolic] +// CHECK:STDOUT: %F.type.2aef59.2: type = fn_type @F.loc5, @I(%U) [symbolic] // CHECK:STDOUT: %F.bb2dd4.2: %F.type.2aef59.2 = struct_value () [symbolic] // CHECK:STDOUT: %I.assoc_type.1e5078.2: type = assoc_entity_type @I, @I(%U) [symbolic] // CHECK:STDOUT: %assoc0.8f0422.2: %I.assoc_type.1e5078.2 = assoc_entity element0, @I.%F.decl [symbolic] @@ -385,7 +385,7 @@ class X(U:! type) { // CHECK:STDOUT: %I.impl_witness: = impl_witness @X.%I.impl_witness_table, @I.impl(%U) [symbolic] // CHECK:STDOUT: %pattern_type.830: type = pattern_type %X [symbolic] // CHECK:STDOUT: %pattern_type.7dcd0a.2: type = pattern_type %U [symbolic] -// CHECK:STDOUT: %F.type.e88: type = fn_type @F.2, @I.impl(%U) [symbolic] +// CHECK:STDOUT: %F.type.e88: type = fn_type @F.loc10, @I.impl(%U) [symbolic] // CHECK:STDOUT: %F.b02: %F.type.e88 = struct_value () [symbolic] // CHECK:STDOUT: %I.facet: %I.type.325e65.2 = facet_value %X, (%I.impl_witness) [symbolic] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] @@ -426,30 +426,30 @@ class X(U:! type) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %I.type: type = facet_type <@I, @I(%T.loc4_13.2)> [symbolic = %I.type (constants.%I.type.325e65.1)] // CHECK:STDOUT: %Self.2: @I.%I.type (%I.type.325e65.1) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.209206.1)] -// CHECK:STDOUT: %F.type: type = fn_type @F.1, @I(%T.loc4_13.2) [symbolic = %F.type (constants.%F.type.2aef59.1)] +// CHECK:STDOUT: %F.type: type = fn_type @F.loc5, @I(%T.loc4_13.2) [symbolic = %F.type (constants.%F.type.2aef59.1)] // CHECK:STDOUT: %F: @I.%F.type (%F.type.2aef59.1) = struct_value () [symbolic = %F (constants.%F.bb2dd4.1)] // CHECK:STDOUT: %I.assoc_type: type = assoc_entity_type @I, @I(%T.loc4_13.2) [symbolic = %I.assoc_type (constants.%I.assoc_type.1e5078.1)] // CHECK:STDOUT: %assoc0.loc5_25.2: @I.%I.assoc_type (%I.assoc_type.1e5078.1) = assoc_entity element0, %F.decl [symbolic = %assoc0.loc5_25.2 (constants.%assoc0.8f0422.1)] // CHECK:STDOUT: // CHECK:STDOUT: interface { // CHECK:STDOUT: %Self.1: @I.%I.type (%I.type.325e65.1) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.209206.1)] -// CHECK:STDOUT: %F.decl: @I.%F.type (%F.type.2aef59.1) = fn_decl @F.1 [symbolic = @I.%F (constants.%F.bb2dd4.1)] { -// CHECK:STDOUT: %self.patt: @F.1.%pattern_type.loc5_8 (%pattern_type.4be) = binding_pattern self [concrete] -// CHECK:STDOUT: %self.param_patt: @F.1.%pattern_type.loc5_8 (%pattern_type.4be) = value_param_pattern %self.patt, call_param0 [concrete] -// CHECK:STDOUT: %t.patt: @F.1.%pattern_type.loc5_20 (%pattern_type.7dcd0a.1) = binding_pattern t [concrete] -// CHECK:STDOUT: %t.param_patt: @F.1.%pattern_type.loc5_20 (%pattern_type.7dcd0a.1) = value_param_pattern %t.patt, call_param1 [concrete] +// CHECK:STDOUT: %F.decl: @I.%F.type (%F.type.2aef59.1) = fn_decl @F.loc5 [symbolic = @I.%F (constants.%F.bb2dd4.1)] { +// CHECK:STDOUT: %self.patt: @F.loc5.%pattern_type.loc5_8 (%pattern_type.4be) = binding_pattern self [concrete] +// CHECK:STDOUT: %self.param_patt: @F.loc5.%pattern_type.loc5_8 (%pattern_type.4be) = value_param_pattern %self.patt, call_param0 [concrete] +// CHECK:STDOUT: %t.patt: @F.loc5.%pattern_type.loc5_20 (%pattern_type.7dcd0a.1) = binding_pattern t [concrete] +// CHECK:STDOUT: %t.param_patt: @F.loc5.%pattern_type.loc5_20 (%pattern_type.7dcd0a.1) = value_param_pattern %t.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %self.param: @F.1.%Self.as_type.loc5_14.1 (%Self.as_type) = value_param call_param0 +// CHECK:STDOUT: %self.param: @F.loc5.%Self.as_type.loc5_14.1 (%Self.as_type) = value_param call_param0 // CHECK:STDOUT: %.loc5_14.1: type = splice_block %.loc5_14.3 [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type)] { -// CHECK:STDOUT: %.loc5_14.2: @F.1.%I.type (%I.type.325e65.1) = specific_constant @I.%Self.1, @I(constants.%T) [symbolic = %Self (constants.%Self.209206.1)] -// CHECK:STDOUT: %Self.ref: @F.1.%I.type (%I.type.325e65.1) = name_ref Self, %.loc5_14.2 [symbolic = %Self (constants.%Self.209206.1)] +// CHECK:STDOUT: %.loc5_14.2: @F.loc5.%I.type (%I.type.325e65.1) = specific_constant @I.%Self.1, @I(constants.%T) [symbolic = %Self (constants.%Self.209206.1)] +// CHECK:STDOUT: %Self.ref: @F.loc5.%I.type (%I.type.325e65.1) = name_ref Self, %.loc5_14.2 [symbolic = %Self (constants.%Self.209206.1)] // CHECK:STDOUT: %Self.as_type.loc5_14.2: type = facet_access_type %Self.ref [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type)] // CHECK:STDOUT: %.loc5_14.3: type = converted %Self.ref, %Self.as_type.loc5_14.2 [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type)] // CHECK:STDOUT: } -// CHECK:STDOUT: %self: @F.1.%Self.as_type.loc5_14.1 (%Self.as_type) = bind_name self, %self.param -// CHECK:STDOUT: %t.param: @F.1.%T (%T) = value_param call_param1 +// CHECK:STDOUT: %self: @F.loc5.%Self.as_type.loc5_14.1 (%Self.as_type) = bind_name self, %self.param +// CHECK:STDOUT: %t.param: @F.loc5.%T (%T) = value_param call_param1 // CHECK:STDOUT: %T.ref: type = name_ref T, @I.%T.loc4_13.1 [symbolic = %T (constants.%T)] -// CHECK:STDOUT: %t: @F.1.%T (%T) = bind_name t, %t.param +// CHECK:STDOUT: %t: @F.loc5.%T (%T) = bind_name t, %t.param // CHECK:STDOUT: } // CHECK:STDOUT: %assoc0.loc5_25.1: @I.%I.assoc_type (%I.assoc_type.1e5078.1) = assoc_entity element0, %F.decl [symbolic = %assoc0.loc5_25.2 (constants.%assoc0.8f0422.1)] // CHECK:STDOUT: @@ -470,25 +470,25 @@ class X(U:! type) { // CHECK:STDOUT: %I.impl_witness: = impl_witness @X.%I.impl_witness_table, @I.impl(%U) [symbolic = %I.impl_witness (constants.%I.impl_witness)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %F.type: type = fn_type @F.2, @I.impl(%U) [symbolic = %F.type (constants.%F.type.e88)] +// CHECK:STDOUT: %F.type: type = fn_type @F.loc10, @I.impl(%U) [symbolic = %F.type (constants.%F.type.e88)] // CHECK:STDOUT: %F: @I.impl.%F.type (%F.type.e88) = struct_value () [symbolic = %F (constants.%F.b02)] // CHECK:STDOUT: // CHECK:STDOUT: impl: %Self.ref as %I.type.loc9_21.1 { -// CHECK:STDOUT: %F.decl: @I.impl.%F.type (%F.type.e88) = fn_decl @F.2 [symbolic = @I.impl.%F (constants.%F.b02)] { -// CHECK:STDOUT: %self.patt: @F.2.%pattern_type.loc10_10 (%pattern_type.830) = binding_pattern self [concrete] -// CHECK:STDOUT: %self.param_patt: @F.2.%pattern_type.loc10_10 (%pattern_type.830) = value_param_pattern %self.patt, call_param0 [concrete] -// CHECK:STDOUT: %t.patt: @F.2.%pattern_type.loc10_22 (%pattern_type.7dcd0a.2) = binding_pattern t [concrete] -// CHECK:STDOUT: %t.param_patt: @F.2.%pattern_type.loc10_22 (%pattern_type.7dcd0a.2) = value_param_pattern %t.patt, call_param1 [concrete] +// CHECK:STDOUT: %F.decl: @I.impl.%F.type (%F.type.e88) = fn_decl @F.loc10 [symbolic = @I.impl.%F (constants.%F.b02)] { +// CHECK:STDOUT: %self.patt: @F.loc10.%pattern_type.loc10_10 (%pattern_type.830) = binding_pattern self [concrete] +// CHECK:STDOUT: %self.param_patt: @F.loc10.%pattern_type.loc10_10 (%pattern_type.830) = value_param_pattern %self.patt, call_param0 [concrete] +// CHECK:STDOUT: %t.patt: @F.loc10.%pattern_type.loc10_22 (%pattern_type.7dcd0a.2) = binding_pattern t [concrete] +// CHECK:STDOUT: %t.param_patt: @F.loc10.%pattern_type.loc10_22 (%pattern_type.7dcd0a.2) = value_param_pattern %t.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %self.param: @F.2.%X (%X) = value_param call_param0 +// CHECK:STDOUT: %self.param: @F.loc10.%X (%X) = value_param call_param0 // CHECK:STDOUT: %.loc10_16.1: type = splice_block %Self.ref [symbolic = %X (constants.%X)] { // CHECK:STDOUT: %.loc10_16.2: type = specific_constant constants.%X, @X(constants.%U) [symbolic = %X (constants.%X)] // CHECK:STDOUT: %Self.ref: type = name_ref Self, %.loc10_16.2 [symbolic = %X (constants.%X)] // CHECK:STDOUT: } -// CHECK:STDOUT: %self: @F.2.%X (%X) = bind_name self, %self.param -// CHECK:STDOUT: %t.param: @F.2.%U (%U) = value_param call_param1 +// CHECK:STDOUT: %self: @F.loc10.%X (%X) = bind_name self, %self.param +// CHECK:STDOUT: %t.param: @F.loc10.%U (%U) = value_param call_param1 // CHECK:STDOUT: %U.ref: type = name_ref U, @X.%U.loc8_9.1 [symbolic = %U (constants.%U)] -// CHECK:STDOUT: %t: @F.2.%U (%U) = bind_name t, %t.param +// CHECK:STDOUT: %t: @F.loc10.%U (%U) = bind_name t, %t.param // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -527,18 +527,18 @@ class X(U:! type) { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.1(@I.%T.loc4_13.1: type, @I.%Self.1: @I.%I.type (%I.type.325e65.1)) { +// CHECK:STDOUT: generic fn @F.loc5(@I.%T.loc4_13.1: type, @I.%Self.1: @I.%I.type (%I.type.325e65.1)) { // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic = %T (constants.%T)] // CHECK:STDOUT: %I.type: type = facet_type <@I, @I(%T)> [symbolic = %I.type (constants.%I.type.325e65.1)] -// CHECK:STDOUT: %Self: @F.1.%I.type (%I.type.325e65.1) = bind_symbolic_name Self, 1 [symbolic = %Self (constants.%Self.209206.1)] +// CHECK:STDOUT: %Self: @F.loc5.%I.type (%I.type.325e65.1) = bind_symbolic_name Self, 1 [symbolic = %Self (constants.%Self.209206.1)] // CHECK:STDOUT: %Self.as_type.loc5_14.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type)] // CHECK:STDOUT: %pattern_type.loc5_8: type = pattern_type %Self.as_type.loc5_14.1 [symbolic = %pattern_type.loc5_8 (constants.%pattern_type.4be)] // CHECK:STDOUT: %pattern_type.loc5_20: type = pattern_type %T [symbolic = %pattern_type.loc5_20 (constants.%pattern_type.7dcd0a.1)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%self.param: @F.1.%Self.as_type.loc5_14.1 (%Self.as_type), %t.param: @F.1.%T (%T)); +// CHECK:STDOUT: fn(%self.param: @F.loc5.%Self.as_type.loc5_14.1 (%Self.as_type), %t.param: @F.loc5.%T (%T)); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.2(@X.%U.loc8_9.1: type) { +// CHECK:STDOUT: generic fn @F.loc10(@X.%U.loc8_9.1: type) { // CHECK:STDOUT: %U: type = bind_symbolic_name U, 0 [symbolic = %U (constants.%U)] // CHECK:STDOUT: %X: type = class_type @X, @X(%U) [symbolic = %X (constants.%X)] // CHECK:STDOUT: %pattern_type.loc10_10: type = pattern_type %X [symbolic = %pattern_type.loc10_10 (constants.%pattern_type.830)] @@ -550,7 +550,7 @@ class X(U:! type) { // CHECK:STDOUT: %require_complete.loc10_14: = require_complete_type %X [symbolic = %require_complete.loc10_14 (constants.%require_complete.441)] // CHECK:STDOUT: %require_complete.loc10_23: = require_complete_type %U [symbolic = %require_complete.loc10_23 (constants.%require_complete.4ae)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%self.param: @F.2.%X (%X), %t.param: @F.2.%U (%U)) { +// CHECK:STDOUT: fn(%self.param: @F.loc10.%X (%X), %t.param: @F.loc10.%U (%U)) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -560,7 +560,7 @@ class X(U:! type) { // CHECK:STDOUT: %T.loc4_13.2 => constants.%T // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%T, constants.%Self.209206.1) { +// CHECK:STDOUT: specific @F.loc5(constants.%T, constants.%Self.209206.1) { // CHECK:STDOUT: %T => constants.%T // CHECK:STDOUT: %I.type => constants.%I.type.325e65.1 // CHECK:STDOUT: %Self => constants.%Self.209206.1 @@ -601,7 +601,7 @@ class X(U:! type) { // CHECK:STDOUT: %F => constants.%F.b02 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.2(constants.%U) { +// CHECK:STDOUT: specific @F.loc10(constants.%U) { // CHECK:STDOUT: %U => constants.%U // CHECK:STDOUT: %X => constants.%X // CHECK:STDOUT: %pattern_type.loc10_10 => constants.%pattern_type.830 @@ -610,7 +610,7 @@ class X(U:! type) { // CHECK:STDOUT: %pattern_type.loc10_22 => constants.%pattern_type.7dcd0a.2 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%U, constants.%I.facet) { +// CHECK:STDOUT: specific @F.loc5(constants.%U, constants.%I.facet) { // CHECK:STDOUT: %T => constants.%U // CHECK:STDOUT: %I.type => constants.%I.type.325e65.2 // CHECK:STDOUT: %Self => constants.%I.facet diff --git a/toolchain/check/testdata/impl/fail_call_invalid.carbon b/toolchain/check/testdata/impl/fail_call_invalid.carbon index 510f09f5aa4e..7d50e7fcb0e0 100644 --- a/toolchain/check/testdata/impl/fail_call_invalid.carbon +++ b/toolchain/check/testdata/impl/fail_call_invalid.carbon @@ -35,7 +35,7 @@ fn InstanceCall(n: i32) { // CHECK:STDOUT: %Self.3c9: %Simple.type = bind_symbolic_name Self, 0 [symbolic] // CHECK:STDOUT: %Self.as_type.716: type = facet_access_type %Self.3c9 [symbolic] // CHECK:STDOUT: %pattern_type.f88: type = pattern_type %Self.as_type.716 [symbolic] -// CHECK:STDOUT: %G.type.b60: type = fn_type @G.1 [concrete] +// CHECK:STDOUT: %G.type.b60: type = fn_type @G.loc16 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %G.cb0: %G.type.b60 = struct_value () [concrete] // CHECK:STDOUT: %Simple.assoc_type: type = assoc_entity_type @Simple [concrete] @@ -45,11 +45,11 @@ fn InstanceCall(n: i32) { // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %Simple.impl_witness: = impl_witness file.%Simple.impl_witness_table [concrete] -// CHECK:STDOUT: %G.type.c9825d.1: type = fn_type @G.2 [concrete] +// CHECK:STDOUT: %G.type.c9825d.1: type = fn_type @G.loc24_27.1 [concrete] // CHECK:STDOUT: %G.e73e91.1: %G.type.c9825d.1 = struct_value () [concrete] // CHECK:STDOUT: %Simple.facet: %Simple.type = facet_value %i32, (%Simple.impl_witness) [concrete] // CHECK:STDOUT: %pattern_type.7ce: type = pattern_type %i32 [concrete] -// CHECK:STDOUT: %G.type.c9825d.2: type = fn_type @G.3 [concrete] +// CHECK:STDOUT: %G.type.c9825d.2: type = fn_type @G.loc24_27.2 [concrete] // CHECK:STDOUT: %G.e73e91.2: %G.type.c9825d.2 = struct_value () [concrete] // CHECK:STDOUT: %InstanceCall.type: type = fn_type @InstanceCall [concrete] // CHECK:STDOUT: %InstanceCall: %InstanceCall.type = struct_value () [concrete] @@ -96,17 +96,17 @@ fn InstanceCall(n: i32) { // CHECK:STDOUT: // CHECK:STDOUT: interface @Simple { // CHECK:STDOUT: %Self: %Simple.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.3c9] -// CHECK:STDOUT: %G.decl: %G.type.b60 = fn_decl @G.1 [concrete = constants.%G.cb0] { -// CHECK:STDOUT: %self.patt: @G.1.%pattern_type (%pattern_type.f88) = binding_pattern self [concrete] -// CHECK:STDOUT: %self.param_patt: @G.1.%pattern_type (%pattern_type.f88) = value_param_pattern %self.patt, call_param0 [concrete] +// CHECK:STDOUT: %G.decl: %G.type.b60 = fn_decl @G.loc16 [concrete = constants.%G.cb0] { +// CHECK:STDOUT: %self.patt: @G.loc16.%pattern_type (%pattern_type.f88) = binding_pattern self [concrete] +// CHECK:STDOUT: %self.param_patt: @G.loc16.%pattern_type (%pattern_type.f88) = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %self.param: @G.1.%Self.as_type.loc16_14.1 (%Self.as_type.716) = value_param call_param0 +// CHECK:STDOUT: %self.param: @G.loc16.%Self.as_type.loc16_14.1 (%Self.as_type.716) = value_param call_param0 // CHECK:STDOUT: %.loc16_14.1: type = splice_block %.loc16_14.2 [symbolic = %Self.as_type.loc16_14.1 (constants.%Self.as_type.716)] { // CHECK:STDOUT: %Self.ref: %Simple.type = name_ref Self, @Simple.%Self [symbolic = %Self (constants.%Self.3c9)] // CHECK:STDOUT: %Self.as_type.loc16_14.2: type = facet_access_type %Self.ref [symbolic = %Self.as_type.loc16_14.1 (constants.%Self.as_type.716)] // CHECK:STDOUT: %.loc16_14.2: type = converted %Self.ref, %Self.as_type.loc16_14.2 [symbolic = %Self.as_type.loc16_14.1 (constants.%Self.as_type.716)] // CHECK:STDOUT: } -// CHECK:STDOUT: %self: @G.1.%Self.as_type.loc16_14.1 (%Self.as_type.716) = bind_name self, %self.param +// CHECK:STDOUT: %self: @G.loc16.%Self.as_type.loc16_14.1 (%Self.as_type.716) = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %assoc0: %Simple.assoc_type = assoc_entity element0, %G.decl [concrete = constants.%assoc0.db2] // CHECK:STDOUT: @@ -117,7 +117,7 @@ fn InstanceCall(n: i32) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @Simple.impl: %i32 as %Simple.ref { -// CHECK:STDOUT: %G.decl.loc24_27.1: %G.type.c9825d.1 = fn_decl @G.2 [concrete = constants.%G.e73e91.1] { +// CHECK:STDOUT: %G.decl.loc24_27.1: %G.type.c9825d.1 = fn_decl @G.loc24_27.1 [concrete = constants.%G.e73e91.1] { // CHECK:STDOUT: %self.patt: = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -125,7 +125,7 @@ fn InstanceCall(n: i32) { // CHECK:STDOUT: %Undeclared.ref: = name_ref Undeclared, [concrete = ] // CHECK:STDOUT: %self: = bind_name self, %self.param // CHECK:STDOUT: } -// CHECK:STDOUT: %G.decl.loc24_27.2: %G.type.c9825d.2 = fn_decl @G.3 [concrete = constants.%G.e73e91.2] { +// CHECK:STDOUT: %G.decl.loc24_27.2: %G.type.c9825d.2 = fn_decl @G.loc24_27.2 [concrete = constants.%G.e73e91.2] { // CHECK:STDOUT: %self.patt: %pattern_type.7ce = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.7ce = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -139,17 +139,17 @@ fn InstanceCall(n: i32) { // CHECK:STDOUT: witness = file.%Simple.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @G.1(@Simple.%Self: %Simple.type) { +// CHECK:STDOUT: generic fn @G.loc16(@Simple.%Self: %Simple.type) { // CHECK:STDOUT: %Self: %Simple.type = bind_symbolic_name Self, 0 [symbolic = %Self (constants.%Self.3c9)] // CHECK:STDOUT: %Self.as_type.loc16_14.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc16_14.1 (constants.%Self.as_type.716)] // CHECK:STDOUT: %pattern_type: type = pattern_type %Self.as_type.loc16_14.1 [symbolic = %pattern_type (constants.%pattern_type.f88)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%self.param: @G.1.%Self.as_type.loc16_14.1 (%Self.as_type.716)); +// CHECK:STDOUT: fn(%self.param: @G.loc16.%Self.as_type.loc16_14.1 (%Self.as_type.716)); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @G.2(%self.param: ); +// CHECK:STDOUT: fn @G.loc24_27.1(%self.param: ); // CHECK:STDOUT: -// CHECK:STDOUT: fn @G.3(%self.param: %i32) [thunk @Simple.impl.%G.decl.loc24_27.1] { +// CHECK:STDOUT: fn @G.loc24_27.2(%self.param: %i32) [thunk @Simple.impl.%G.decl.loc24_27.1] { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %G.ref: %G.type.c9825d.1 = name_ref G, @Simple.impl.%G.decl.loc24_27.1 [concrete = constants.%G.e73e91.1] // CHECK:STDOUT: %self.ref: %i32 = name_ref self, %self.param @@ -171,13 +171,13 @@ fn InstanceCall(n: i32) { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @G.1(constants.%Self.3c9) { +// CHECK:STDOUT: specific @G.loc16(constants.%Self.3c9) { // CHECK:STDOUT: %Self => constants.%Self.3c9 // CHECK:STDOUT: %Self.as_type.loc16_14.1 => constants.%Self.as_type.716 // CHECK:STDOUT: %pattern_type => constants.%pattern_type.f88 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @G.1(constants.%Simple.facet) { +// CHECK:STDOUT: specific @G.loc16(constants.%Simple.facet) { // CHECK:STDOUT: %Self => constants.%Simple.facet // CHECK:STDOUT: %Self.as_type.loc16_14.1 => constants.%i32 // CHECK:STDOUT: %pattern_type => constants.%pattern_type.7ce diff --git a/toolchain/check/testdata/impl/fail_extend_impl_forall.carbon b/toolchain/check/testdata/impl/fail_extend_impl_forall.carbon index 1469eb874c67..1f3041cdee21 100644 --- a/toolchain/check/testdata/impl/fail_extend_impl_forall.carbon +++ b/toolchain/check/testdata/impl/fail_extend_impl_forall.carbon @@ -36,14 +36,14 @@ class C { // CHECK:STDOUT: %GenericInterface.type.3fe: type = facet_type <@GenericInterface, @GenericInterface(%T)> [symbolic] // CHECK:STDOUT: %Self: %GenericInterface.type.3fe = bind_symbolic_name Self, 1 [symbolic] // CHECK:STDOUT: %pattern_type.7dc: type = pattern_type %T [symbolic] -// CHECK:STDOUT: %F.type.a4b: type = fn_type @F.1, @GenericInterface(%T) [symbolic] +// CHECK:STDOUT: %F.type.a4b: type = fn_type @F.loc16, @GenericInterface(%T) [symbolic] // CHECK:STDOUT: %F.3d9: %F.type.a4b = struct_value () [symbolic] // CHECK:STDOUT: %GenericInterface.assoc_type: type = assoc_entity_type @GenericInterface, @GenericInterface(%T) [symbolic] // CHECK:STDOUT: %assoc0: %GenericInterface.assoc_type = assoc_entity element0, @GenericInterface.%F.decl [symbolic] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %require_complete.70f: = require_complete_type %GenericInterface.type.3fe [symbolic] // CHECK:STDOUT: %GenericInterface.impl_witness: = impl_witness @C.%GenericInterface.impl_witness_table, @GenericInterface.impl(%T) [symbolic] -// CHECK:STDOUT: %F.type.2cb: type = fn_type @F.2, @GenericInterface.impl(%T) [symbolic] +// CHECK:STDOUT: %F.type.2cb: type = fn_type @F.loc25, @GenericInterface.impl(%T) [symbolic] // CHECK:STDOUT: %F.4b1: %F.type.2cb = struct_value () [symbolic] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -69,20 +69,20 @@ class C { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %GenericInterface.type: type = facet_type <@GenericInterface, @GenericInterface(%T.loc15_28.2)> [symbolic = %GenericInterface.type (constants.%GenericInterface.type.3fe)] // CHECK:STDOUT: %Self.2: @GenericInterface.%GenericInterface.type (%GenericInterface.type.3fe) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self)] -// CHECK:STDOUT: %F.type: type = fn_type @F.1, @GenericInterface(%T.loc15_28.2) [symbolic = %F.type (constants.%F.type.a4b)] +// CHECK:STDOUT: %F.type: type = fn_type @F.loc16, @GenericInterface(%T.loc15_28.2) [symbolic = %F.type (constants.%F.type.a4b)] // CHECK:STDOUT: %F: @GenericInterface.%F.type (%F.type.a4b) = struct_value () [symbolic = %F (constants.%F.3d9)] // CHECK:STDOUT: %GenericInterface.assoc_type: type = assoc_entity_type @GenericInterface, @GenericInterface(%T.loc15_28.2) [symbolic = %GenericInterface.assoc_type (constants.%GenericInterface.assoc_type)] // CHECK:STDOUT: %assoc0.loc16_13.2: @GenericInterface.%GenericInterface.assoc_type (%GenericInterface.assoc_type) = assoc_entity element0, %F.decl [symbolic = %assoc0.loc16_13.2 (constants.%assoc0)] // CHECK:STDOUT: // CHECK:STDOUT: interface { // CHECK:STDOUT: %Self.1: @GenericInterface.%GenericInterface.type (%GenericInterface.type.3fe) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self)] -// CHECK:STDOUT: %F.decl: @GenericInterface.%F.type (%F.type.a4b) = fn_decl @F.1 [symbolic = @GenericInterface.%F (constants.%F.3d9)] { -// CHECK:STDOUT: %x.patt: @F.1.%pattern_type (%pattern_type.7dc) = binding_pattern x [concrete] -// CHECK:STDOUT: %x.param_patt: @F.1.%pattern_type (%pattern_type.7dc) = value_param_pattern %x.patt, call_param0 [concrete] +// CHECK:STDOUT: %F.decl: @GenericInterface.%F.type (%F.type.a4b) = fn_decl @F.loc16 [symbolic = @GenericInterface.%F (constants.%F.3d9)] { +// CHECK:STDOUT: %x.patt: @F.loc16.%pattern_type (%pattern_type.7dc) = binding_pattern x [concrete] +// CHECK:STDOUT: %x.param_patt: @F.loc16.%pattern_type (%pattern_type.7dc) = value_param_pattern %x.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %x.param: @F.1.%T (%T) = value_param call_param0 +// CHECK:STDOUT: %x.param: @F.loc16.%T (%T) = value_param call_param0 // CHECK:STDOUT: %T.ref: type = name_ref T, @GenericInterface.%T.loc15_28.1 [symbolic = %T (constants.%T)] -// CHECK:STDOUT: %x: @F.1.%T (%T) = bind_name x, %x.param +// CHECK:STDOUT: %x: @F.loc16.%T (%T) = bind_name x, %x.param // CHECK:STDOUT: } // CHECK:STDOUT: %assoc0.loc16_13.1: @GenericInterface.%GenericInterface.assoc_type (%GenericInterface.assoc_type) = assoc_entity element0, %F.decl [symbolic = %assoc0.loc16_13.2 (constants.%assoc0)] // CHECK:STDOUT: @@ -101,17 +101,17 @@ class C { // CHECK:STDOUT: %GenericInterface.impl_witness: = impl_witness @C.%GenericInterface.impl_witness_table, @GenericInterface.impl(%T.loc24_23.2) [symbolic = %GenericInterface.impl_witness (constants.%GenericInterface.impl_witness)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %F.type: type = fn_type @F.2, @GenericInterface.impl(%T.loc24_23.2) [symbolic = %F.type (constants.%F.type.2cb)] +// CHECK:STDOUT: %F.type: type = fn_type @F.loc25, @GenericInterface.impl(%T.loc24_23.2) [symbolic = %F.type (constants.%F.type.2cb)] // CHECK:STDOUT: %F: @GenericInterface.impl.%F.type (%F.type.2cb) = struct_value () [symbolic = %F (constants.%F.4b1)] // CHECK:STDOUT: // CHECK:STDOUT: impl: %Self.ref as %GenericInterface.type.loc24_54.1 { -// CHECK:STDOUT: %F.decl: @GenericInterface.impl.%F.type (%F.type.2cb) = fn_decl @F.2 [symbolic = @GenericInterface.impl.%F (constants.%F.4b1)] { -// CHECK:STDOUT: %x.patt: @F.2.%pattern_type (%pattern_type.7dc) = binding_pattern x [concrete] -// CHECK:STDOUT: %x.param_patt: @F.2.%pattern_type (%pattern_type.7dc) = value_param_pattern %x.patt, call_param0 [concrete] +// CHECK:STDOUT: %F.decl: @GenericInterface.impl.%F.type (%F.type.2cb) = fn_decl @F.loc25 [symbolic = @GenericInterface.impl.%F (constants.%F.4b1)] { +// CHECK:STDOUT: %x.patt: @F.loc25.%pattern_type (%pattern_type.7dc) = binding_pattern x [concrete] +// CHECK:STDOUT: %x.param_patt: @F.loc25.%pattern_type (%pattern_type.7dc) = value_param_pattern %x.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %x.param: @F.2.%T (%T) = value_param call_param0 +// CHECK:STDOUT: %x.param: @F.loc25.%T (%T) = value_param call_param0 // CHECK:STDOUT: %T.ref: type = name_ref T, @GenericInterface.impl.%T.loc24_23.1 [symbolic = %T (constants.%T)] -// CHECK:STDOUT: %x: @F.2.%T (%T) = bind_name x, %x.param +// CHECK:STDOUT: %x: @F.loc25.%T (%T) = bind_name x, %x.param // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -144,21 +144,21 @@ class C { // CHECK:STDOUT: has_error // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.1(@GenericInterface.%T.loc15_28.1: type, @GenericInterface.%Self.1: @GenericInterface.%GenericInterface.type (%GenericInterface.type.3fe)) { +// CHECK:STDOUT: generic fn @F.loc16(@GenericInterface.%T.loc15_28.1: type, @GenericInterface.%Self.1: @GenericInterface.%GenericInterface.type (%GenericInterface.type.3fe)) { // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic = %T (constants.%T)] // CHECK:STDOUT: %pattern_type: type = pattern_type %T [symbolic = %pattern_type (constants.%pattern_type.7dc)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%x.param: @F.1.%T (%T)); +// CHECK:STDOUT: fn(%x.param: @F.loc16.%T (%T)); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.2(@GenericInterface.impl.%T.loc24_23.1: type) { +// CHECK:STDOUT: generic fn @F.loc25(@GenericInterface.impl.%T.loc24_23.1: type) { // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic = %T (constants.%T)] // CHECK:STDOUT: %pattern_type: type = pattern_type %T [symbolic = %pattern_type (constants.%pattern_type.7dc)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type %T [symbolic = %require_complete (constants.%require_complete.4ae)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%x.param: @F.2.%T (%T)) { +// CHECK:STDOUT: fn(%x.param: @F.loc25.%T (%T)) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -176,7 +176,7 @@ class C { // CHECK:STDOUT: %assoc0.loc16_13.2 => constants.%assoc0 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%T, constants.%Self) { +// CHECK:STDOUT: specific @F.loc16(constants.%T, constants.%Self) { // CHECK:STDOUT: %T => constants.%T // CHECK:STDOUT: %pattern_type => constants.%pattern_type.7dc // CHECK:STDOUT: } @@ -192,7 +192,7 @@ class C { // CHECK:STDOUT: %F => constants.%F.4b1 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.2(constants.%T) { +// CHECK:STDOUT: specific @F.loc25(constants.%T) { // CHECK:STDOUT: %T => constants.%T // CHECK:STDOUT: %pattern_type => constants.%pattern_type.7dc // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/impl/fail_extend_impl_scope.carbon b/toolchain/check/testdata/impl/fail_extend_impl_scope.carbon index 0cea138624f9..8aea7e7d15a7 100644 --- a/toolchain/check/testdata/impl/fail_extend_impl_scope.carbon +++ b/toolchain/check/testdata/impl/fail_extend_impl_scope.carbon @@ -168,16 +168,16 @@ fn F() { // CHECK:STDOUT: constants { // CHECK:STDOUT: %Z.type: type = facet_type <@Z> [concrete] // CHECK:STDOUT: %Self.6e6: %Z.type = bind_symbolic_name Self, 0 [symbolic] -// CHECK:STDOUT: %Zero.type.822: type = fn_type @Zero.1 [concrete] +// CHECK:STDOUT: %Zero.type.822: type = fn_type @Zero.loc4 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Zero.d14: %Zero.type.822 = struct_value () [concrete] // CHECK:STDOUT: %Z.assoc_type: type = assoc_entity_type @Z [concrete] // CHECK:STDOUT: %assoc0.534: %Z.assoc_type = assoc_entity element0, @Z.%Zero.decl [concrete] -// CHECK:STDOUT: %Zero.type.db4: type = fn_type @Zero.2, @Z.impl.6b5(%Self.6e6) [symbolic] +// CHECK:STDOUT: %Zero.type.db4: type = fn_type @Zero.loc11, @Z.impl.6b5(%Self.6e6) [symbolic] // CHECK:STDOUT: %Zero.8fb: %Zero.type.db4 = struct_value () [symbolic] // CHECK:STDOUT: %Point: type = class_type @Point [concrete] // CHECK:STDOUT: %Z.impl_witness: = impl_witness @Point.%Z.impl_witness_table [concrete] -// CHECK:STDOUT: %Zero.type.e33: type = fn_type @Zero.3 [concrete] +// CHECK:STDOUT: %Zero.type.e33: type = fn_type @Zero.loc17 [concrete] // CHECK:STDOUT: %Zero.dec: %Zero.type.e33 = struct_value () [concrete] // CHECK:STDOUT: %Z.facet: %Z.type = facet_value %Point, (%Z.impl_witness) [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] @@ -217,7 +217,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: interface @Z { // CHECK:STDOUT: %Self: %Z.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.6e6] -// CHECK:STDOUT: %Zero.decl: %Zero.type.822 = fn_decl @Zero.1 [concrete = constants.%Zero.d14] {} {} +// CHECK:STDOUT: %Zero.decl: %Zero.type.822 = fn_decl @Zero.loc4 [concrete = constants.%Zero.d14] {} {} // CHECK:STDOUT: %assoc0: %Z.assoc_type = assoc_entity element0, %Zero.decl [concrete = constants.%assoc0.534] // CHECK:STDOUT: impl_decl @Z.impl.6b5 [concrete] {} { // CHECK:STDOUT: %Z.ref: type = name_ref Z, file.%Z.decl [concrete = constants.%Z.type] @@ -233,11 +233,11 @@ fn F() { // CHECK:STDOUT: generic impl @Z.impl.6b5(@Z.%Self: %Z.type) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self: %Z.type = bind_symbolic_name Self, 0 [symbolic = %Self (constants.%Self.6e6)] -// CHECK:STDOUT: %Zero.type: type = fn_type @Zero.2, @Z.impl.6b5(%Self) [symbolic = %Zero.type (constants.%Zero.type.db4)] +// CHECK:STDOUT: %Zero.type: type = fn_type @Zero.loc11, @Z.impl.6b5(%Self) [symbolic = %Zero.type (constants.%Zero.type.db4)] // CHECK:STDOUT: %Zero: @Z.impl.6b5.%Zero.type (%Zero.type.db4) = struct_value () [symbolic = %Zero (constants.%Zero.8fb)] // CHECK:STDOUT: // CHECK:STDOUT: impl: as %Z.ref { -// CHECK:STDOUT: %Zero.decl: @Z.impl.6b5.%Zero.type (%Zero.type.db4) = fn_decl @Zero.2 [symbolic = @Z.impl.6b5.%Zero (constants.%Zero.8fb)] {} {} +// CHECK:STDOUT: %Zero.decl: @Z.impl.6b5.%Zero.type (%Zero.type.db4) = fn_decl @Zero.loc11 [symbolic = @Z.impl.6b5.%Zero (constants.%Zero.8fb)] {} {} // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .Zero = %Zero.decl @@ -246,7 +246,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @Z.impl.c94: %Self.ref as %Z.ref { -// CHECK:STDOUT: %Zero.decl: %Zero.type.e33 = fn_decl @Zero.3 [concrete = constants.%Zero.dec] {} {} +// CHECK:STDOUT: %Zero.decl: %Zero.type.e33 = fn_decl @Zero.loc17 [concrete = constants.%Zero.dec] {} {} // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .Zero = %Zero.decl @@ -271,11 +271,11 @@ fn F() { // CHECK:STDOUT: extend @Z.impl.c94.%Z.ref // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @Zero.1(@Z.%Self: %Z.type) { +// CHECK:STDOUT: generic fn @Zero.loc4(@Z.%Self: %Z.type) { // CHECK:STDOUT: fn(); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @Zero.2(@Z.%Self: %Z.type) { +// CHECK:STDOUT: generic fn @Zero.loc11(@Z.%Self: %Z.type) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: // CHECK:STDOUT: fn() { @@ -284,7 +284,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Zero.3() { +// CHECK:STDOUT: fn @Zero.loc17() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -308,7 +308,7 @@ fn F() { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Zero.1(constants.%Self.6e6) {} +// CHECK:STDOUT: specific @Zero.loc4(constants.%Self.6e6) {} // CHECK:STDOUT: // CHECK:STDOUT: specific @Z.impl.6b5(constants.%Self.6e6) { // CHECK:STDOUT: !definition: @@ -317,7 +317,7 @@ fn F() { // CHECK:STDOUT: %Zero => constants.%Zero.8fb // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Zero.2(constants.%Self.6e6) {} +// CHECK:STDOUT: specific @Zero.loc11(constants.%Self.6e6) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @Zero.1(constants.%Z.facet) {} +// CHECK:STDOUT: specific @Zero.loc4(constants.%Z.facet) {} // CHECK:STDOUT: diff --git a/toolchain/check/testdata/impl/fail_impl_as_scope.carbon b/toolchain/check/testdata/impl/fail_impl_as_scope.carbon index 205c1072922f..4a8fcdebcd7f 100644 --- a/toolchain/check/testdata/impl/fail_impl_as_scope.carbon +++ b/toolchain/check/testdata/impl/fail_impl_as_scope.carbon @@ -224,27 +224,27 @@ class X { // CHECK:STDOUT: constants { // CHECK:STDOUT: %Z.type: type = facet_type <@Z> [concrete] // CHECK:STDOUT: %Self.6e6: %Z.type = bind_symbolic_name Self, 0 [symbolic] -// CHECK:STDOUT: %Zero.type.822: type = fn_type @Zero.1 [concrete] +// CHECK:STDOUT: %Zero.type.822: type = fn_type @Zero.loc4 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Zero.d14: %Zero.type.822 = struct_value () [concrete] // CHECK:STDOUT: %Z.assoc_type: type = assoc_entity_type @Z [concrete] // CHECK:STDOUT: %assoc0.534: %Z.assoc_type = assoc_entity element0, @Z.%Zero.decl [concrete] // CHECK:STDOUT: %Self.as_type.cd1: type = facet_access_type %Self.6e6 [symbolic] // CHECK:STDOUT: %pattern_type.a40: type = pattern_type %Self.as_type.cd1 [symbolic] -// CHECK:STDOUT: %Method.type.f12: type = fn_type @Method.1 [concrete] +// CHECK:STDOUT: %Method.type.f12: type = fn_type @Method.loc5 [concrete] // CHECK:STDOUT: %Method.724: %Method.type.f12 = struct_value () [concrete] // CHECK:STDOUT: %assoc1: %Z.assoc_type = assoc_entity element1, @Z.%Method.decl [concrete] -// CHECK:STDOUT: %Zero.type.db4: type = fn_type @Zero.2, @Z.impl.6b5(%Self.6e6) [symbolic] +// CHECK:STDOUT: %Zero.type.db4: type = fn_type @Zero.loc12, @Z.impl.6b5(%Self.6e6) [symbolic] // CHECK:STDOUT: %Zero.8fb: %Zero.type.db4 = struct_value () [symbolic] -// CHECK:STDOUT: %Method.type.163: type = fn_type @Method.2, @Z.impl.6b5(%Self.6e6) [symbolic] +// CHECK:STDOUT: %Method.type.163: type = fn_type @Method.loc13, @Z.impl.6b5(%Self.6e6) [symbolic] // CHECK:STDOUT: %Method.84d: %Method.type.163 = struct_value () [symbolic] // CHECK:STDOUT: %require_complete.dbd: = require_complete_type %Self.as_type.cd1 [symbolic] // CHECK:STDOUT: %Point: type = class_type @Point [concrete] // CHECK:STDOUT: %Z.impl_witness: = impl_witness @Point.%Z.impl_witness_table [concrete] -// CHECK:STDOUT: %Zero.type.e33: type = fn_type @Zero.3 [concrete] +// CHECK:STDOUT: %Zero.type.e33: type = fn_type @Zero.loc19 [concrete] // CHECK:STDOUT: %Zero.dec: %Zero.type.e33 = struct_value () [concrete] // CHECK:STDOUT: %pattern_type.35b: type = pattern_type %Point [concrete] -// CHECK:STDOUT: %Method.type.2ed: type = fn_type @Method.3 [concrete] +// CHECK:STDOUT: %Method.type.2ed: type = fn_type @Method.loc20 [concrete] // CHECK:STDOUT: %Method.2c2: %Method.type.2ed = struct_value () [concrete] // CHECK:STDOUT: %Z.facet: %Z.type = facet_value %Point, (%Z.impl_witness) [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] @@ -285,19 +285,19 @@ class X { // CHECK:STDOUT: // CHECK:STDOUT: interface @Z { // CHECK:STDOUT: %Self: %Z.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.6e6] -// CHECK:STDOUT: %Zero.decl: %Zero.type.822 = fn_decl @Zero.1 [concrete = constants.%Zero.d14] {} {} +// CHECK:STDOUT: %Zero.decl: %Zero.type.822 = fn_decl @Zero.loc4 [concrete = constants.%Zero.d14] {} {} // CHECK:STDOUT: %assoc0: %Z.assoc_type = assoc_entity element0, %Zero.decl [concrete = constants.%assoc0.534] -// CHECK:STDOUT: %Method.decl: %Method.type.f12 = fn_decl @Method.1 [concrete = constants.%Method.724] { -// CHECK:STDOUT: %self.patt: @Method.1.%pattern_type (%pattern_type.a40) = binding_pattern self [concrete] -// CHECK:STDOUT: %self.param_patt: @Method.1.%pattern_type (%pattern_type.a40) = value_param_pattern %self.patt, call_param0 [concrete] +// CHECK:STDOUT: %Method.decl: %Method.type.f12 = fn_decl @Method.loc5 [concrete = constants.%Method.724] { +// CHECK:STDOUT: %self.patt: @Method.loc5.%pattern_type (%pattern_type.a40) = binding_pattern self [concrete] +// CHECK:STDOUT: %self.param_patt: @Method.loc5.%pattern_type (%pattern_type.a40) = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %self.param: @Method.1.%Self.as_type.loc5_19.1 (%Self.as_type.cd1) = value_param call_param0 +// CHECK:STDOUT: %self.param: @Method.loc5.%Self.as_type.loc5_19.1 (%Self.as_type.cd1) = value_param call_param0 // CHECK:STDOUT: %.loc5_19.1: type = splice_block %.loc5_19.2 [symbolic = %Self.as_type.loc5_19.1 (constants.%Self.as_type.cd1)] { // CHECK:STDOUT: %Self.ref: %Z.type = name_ref Self, @Z.%Self [symbolic = %Self (constants.%Self.6e6)] // CHECK:STDOUT: %Self.as_type.loc5_19.2: type = facet_access_type %Self.ref [symbolic = %Self.as_type.loc5_19.1 (constants.%Self.as_type.cd1)] // CHECK:STDOUT: %.loc5_19.2: type = converted %Self.ref, %Self.as_type.loc5_19.2 [symbolic = %Self.as_type.loc5_19.1 (constants.%Self.as_type.cd1)] // CHECK:STDOUT: } -// CHECK:STDOUT: %self: @Method.1.%Self.as_type.loc5_19.1 (%Self.as_type.cd1) = bind_name self, %self.param +// CHECK:STDOUT: %self: @Method.loc5.%Self.as_type.loc5_19.1 (%Self.as_type.cd1) = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %assoc1: %Z.assoc_type = assoc_entity element1, %Method.decl [concrete = constants.%assoc1] // CHECK:STDOUT: impl_decl @Z.impl.6b5 [concrete] {} { @@ -315,24 +315,24 @@ class X { // CHECK:STDOUT: generic impl @Z.impl.6b5(@Z.%Self: %Z.type) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self: %Z.type = bind_symbolic_name Self, 0 [symbolic = %Self (constants.%Self.6e6)] -// CHECK:STDOUT: %Zero.type: type = fn_type @Zero.2, @Z.impl.6b5(%Self) [symbolic = %Zero.type (constants.%Zero.type.db4)] +// CHECK:STDOUT: %Zero.type: type = fn_type @Zero.loc12, @Z.impl.6b5(%Self) [symbolic = %Zero.type (constants.%Zero.type.db4)] // CHECK:STDOUT: %Zero: @Z.impl.6b5.%Zero.type (%Zero.type.db4) = struct_value () [symbolic = %Zero (constants.%Zero.8fb)] -// CHECK:STDOUT: %Method.type: type = fn_type @Method.2, @Z.impl.6b5(%Self) [symbolic = %Method.type (constants.%Method.type.163)] +// CHECK:STDOUT: %Method.type: type = fn_type @Method.loc13, @Z.impl.6b5(%Self) [symbolic = %Method.type (constants.%Method.type.163)] // CHECK:STDOUT: %Method: @Z.impl.6b5.%Method.type (%Method.type.163) = struct_value () [symbolic = %Method (constants.%Method.84d)] // CHECK:STDOUT: // CHECK:STDOUT: impl: as %Z.ref { -// CHECK:STDOUT: %Zero.decl: @Z.impl.6b5.%Zero.type (%Zero.type.db4) = fn_decl @Zero.2 [symbolic = @Z.impl.6b5.%Zero (constants.%Zero.8fb)] {} {} -// CHECK:STDOUT: %Method.decl: @Z.impl.6b5.%Method.type (%Method.type.163) = fn_decl @Method.2 [symbolic = @Z.impl.6b5.%Method (constants.%Method.84d)] { -// CHECK:STDOUT: %self.patt: @Method.2.%pattern_type (%pattern_type.a40) = binding_pattern self [concrete] -// CHECK:STDOUT: %self.param_patt: @Method.2.%pattern_type (%pattern_type.a40) = value_param_pattern %self.patt, call_param0 [concrete] +// CHECK:STDOUT: %Zero.decl: @Z.impl.6b5.%Zero.type (%Zero.type.db4) = fn_decl @Zero.loc12 [symbolic = @Z.impl.6b5.%Zero (constants.%Zero.8fb)] {} {} +// CHECK:STDOUT: %Method.decl: @Z.impl.6b5.%Method.type (%Method.type.163) = fn_decl @Method.loc13 [symbolic = @Z.impl.6b5.%Method (constants.%Method.84d)] { +// CHECK:STDOUT: %self.patt: @Method.loc13.%pattern_type (%pattern_type.a40) = binding_pattern self [concrete] +// CHECK:STDOUT: %self.param_patt: @Method.loc13.%pattern_type (%pattern_type.a40) = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %self.param: @Method.2.%Self.as_type.loc13_21.1 (%Self.as_type.cd1) = value_param call_param0 +// CHECK:STDOUT: %self.param: @Method.loc13.%Self.as_type.loc13_21.1 (%Self.as_type.cd1) = value_param call_param0 // CHECK:STDOUT: %.loc13_21.1: type = splice_block %.loc13_21.2 [symbolic = %Self.as_type.loc13_21.1 (constants.%Self.as_type.cd1)] { // CHECK:STDOUT: %Self.ref: %Z.type = name_ref Self, @Z.%Self [symbolic = %Self (constants.%Self.6e6)] // CHECK:STDOUT: %Self.as_type.loc13_21.2: type = facet_access_type %Self.ref [symbolic = %Self.as_type.loc13_21.1 (constants.%Self.as_type.cd1)] // CHECK:STDOUT: %.loc13_21.2: type = converted %Self.ref, %Self.as_type.loc13_21.2 [symbolic = %Self.as_type.loc13_21.1 (constants.%Self.as_type.cd1)] // CHECK:STDOUT: } -// CHECK:STDOUT: %self: @Method.2.%Self.as_type.loc13_21.1 (%Self.as_type.cd1) = bind_name self, %self.param +// CHECK:STDOUT: %self: @Method.loc13.%Self.as_type.loc13_21.1 (%Self.as_type.cd1) = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -343,8 +343,8 @@ class X { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @Z.impl.c94: %Self.ref as %Z.ref { -// CHECK:STDOUT: %Zero.decl: %Zero.type.e33 = fn_decl @Zero.3 [concrete = constants.%Zero.dec] {} {} -// CHECK:STDOUT: %Method.decl: %Method.type.2ed = fn_decl @Method.3 [concrete = constants.%Method.2c2] { +// CHECK:STDOUT: %Zero.decl: %Zero.type.e33 = fn_decl @Zero.loc19 [concrete = constants.%Zero.dec] {} {} +// CHECK:STDOUT: %Method.decl: %Method.type.2ed = fn_decl @Method.loc20 [concrete = constants.%Method.2c2] { // CHECK:STDOUT: %self.patt: %pattern_type.35b = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.35b = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -375,19 +375,19 @@ class X { // CHECK:STDOUT: .Z = // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @Zero.1(@Z.%Self: %Z.type) { +// CHECK:STDOUT: generic fn @Zero.loc4(@Z.%Self: %Z.type) { // CHECK:STDOUT: fn(); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @Method.1(@Z.%Self: %Z.type) { +// CHECK:STDOUT: generic fn @Method.loc5(@Z.%Self: %Z.type) { // CHECK:STDOUT: %Self: %Z.type = bind_symbolic_name Self, 0 [symbolic = %Self (constants.%Self.6e6)] // CHECK:STDOUT: %Self.as_type.loc5_19.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc5_19.1 (constants.%Self.as_type.cd1)] // CHECK:STDOUT: %pattern_type: type = pattern_type %Self.as_type.loc5_19.1 [symbolic = %pattern_type (constants.%pattern_type.a40)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%self.param: @Method.1.%Self.as_type.loc5_19.1 (%Self.as_type.cd1)); +// CHECK:STDOUT: fn(%self.param: @Method.loc5.%Self.as_type.loc5_19.1 (%Self.as_type.cd1)); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @Zero.2(@Z.%Self: %Z.type) { +// CHECK:STDOUT: generic fn @Zero.loc12(@Z.%Self: %Z.type) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: // CHECK:STDOUT: fn() { @@ -396,7 +396,7 @@ class X { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @Method.2(@Z.%Self: %Z.type) { +// CHECK:STDOUT: generic fn @Method.loc13(@Z.%Self: %Z.type) { // CHECK:STDOUT: %Self: %Z.type = bind_symbolic_name Self, 0 [symbolic = %Self (constants.%Self.6e6)] // CHECK:STDOUT: %Self.as_type.loc13_21.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc13_21.1 (constants.%Self.as_type.cd1)] // CHECK:STDOUT: %pattern_type: type = pattern_type %Self.as_type.loc13_21.1 [symbolic = %pattern_type (constants.%pattern_type.a40)] @@ -404,18 +404,18 @@ class X { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type %Self.as_type.loc13_21.1 [symbolic = %require_complete (constants.%require_complete.dbd)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%self.param: @Method.2.%Self.as_type.loc13_21.1 (%Self.as_type.cd1)) { +// CHECK:STDOUT: fn(%self.param: @Method.loc13.%Self.as_type.loc13_21.1 (%Self.as_type.cd1)) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Zero.3() { +// CHECK:STDOUT: fn @Zero.loc19() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Method.3(%self.param: %Point) { +// CHECK:STDOUT: fn @Method.loc20(%self.param: %Point) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -449,9 +449,9 @@ class X { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Zero.1(constants.%Self.6e6) {} +// CHECK:STDOUT: specific @Zero.loc4(constants.%Self.6e6) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @Method.1(constants.%Self.6e6) { +// CHECK:STDOUT: specific @Method.loc5(constants.%Self.6e6) { // CHECK:STDOUT: %Self => constants.%Self.6e6 // CHECK:STDOUT: %Self.as_type.loc5_19.1 => constants.%Self.as_type.cd1 // CHECK:STDOUT: %pattern_type => constants.%pattern_type.a40 @@ -466,17 +466,17 @@ class X { // CHECK:STDOUT: %Method => constants.%Method.84d // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Zero.2(constants.%Self.6e6) {} +// CHECK:STDOUT: specific @Zero.loc12(constants.%Self.6e6) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @Method.2(constants.%Self.6e6) { +// CHECK:STDOUT: specific @Method.loc13(constants.%Self.6e6) { // CHECK:STDOUT: %Self => constants.%Self.6e6 // CHECK:STDOUT: %Self.as_type.loc13_21.1 => constants.%Self.as_type.cd1 // CHECK:STDOUT: %pattern_type => constants.%pattern_type.a40 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Zero.1(constants.%Z.facet) {} +// CHECK:STDOUT: specific @Zero.loc4(constants.%Z.facet) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @Method.1(constants.%Z.facet) { +// CHECK:STDOUT: specific @Method.loc5(constants.%Z.facet) { // CHECK:STDOUT: %Self => constants.%Z.facet // CHECK:STDOUT: %Self.as_type.loc5_19.1 => constants.%Point // CHECK:STDOUT: %pattern_type => constants.%pattern_type.35b @@ -487,7 +487,7 @@ class X { // CHECK:STDOUT: constants { // CHECK:STDOUT: %A.type: type = facet_type <@A> [concrete] // CHECK:STDOUT: %Self.31d: %A.type = bind_symbolic_name Self, 0 [symbolic] -// CHECK:STDOUT: %B.type.1c3: type = fn_type @B.1 [concrete] +// CHECK:STDOUT: %B.type.1c3: type = fn_type @B.loc5 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %B.b08: %B.type.1c3 = struct_value () [concrete] // CHECK:STDOUT: %A.assoc_type: type = assoc_entity_type @A [concrete] @@ -498,7 +498,7 @@ class X { // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] // CHECK:STDOUT: %X: type = class_type @X [concrete] // CHECK:STDOUT: %A.impl_witness: = impl_witness @X.%A.impl_witness_table [concrete] -// CHECK:STDOUT: %B.type.d47: type = fn_type @B.2 [concrete] +// CHECK:STDOUT: %B.type.d47: type = fn_type @B.loc18 [concrete] // CHECK:STDOUT: %B.4af: %B.type.d47 = struct_value () [concrete] // CHECK:STDOUT: %A.facet: %A.type = facet_value %X, (%A.impl_witness) [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] @@ -529,7 +529,7 @@ class X { // CHECK:STDOUT: // CHECK:STDOUT: interface @A { // CHECK:STDOUT: %Self: %A.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.31d] -// CHECK:STDOUT: %B.decl: %B.type.1c3 = fn_decl @B.1 [concrete = constants.%B.b08] {} {} +// CHECK:STDOUT: %B.decl: %B.type.1c3 = fn_decl @B.loc5 [concrete = constants.%B.b08] {} {} // CHECK:STDOUT: %assoc0: %A.assoc_type = assoc_entity element0, %B.decl [concrete = constants.%assoc0] // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -550,7 +550,7 @@ class X { // CHECK:STDOUT: impl_decl @C.impl [concrete] {} { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %B.decl: %B.type.d47 = fn_decl @B.2 [concrete = constants.%B.4af] {} {} +// CHECK:STDOUT: %B.decl: %B.type.d47 = fn_decl @B.loc18 [concrete = constants.%B.4af] {} {} // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .C = @@ -582,7 +582,7 @@ class X { // CHECK:STDOUT: .G = // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @B.1(@A.%Self: %A.type) { +// CHECK:STDOUT: generic fn @B.loc5(@A.%Self: %A.type) { // CHECK:STDOUT: fn(); // CHECK:STDOUT: } // CHECK:STDOUT: @@ -591,14 +591,14 @@ class X { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @B.2() { +// CHECK:STDOUT: fn @B.loc18() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %G.ref: %G.type = name_ref G, file.%G.decl [concrete = constants.%G] // CHECK:STDOUT: %G.call: init %empty_tuple.type = call %G.ref() // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @B.1(constants.%Self.31d) {} +// CHECK:STDOUT: specific @B.loc5(constants.%Self.31d) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @B.1(constants.%A.facet) {} +// CHECK:STDOUT: specific @B.loc5(constants.%A.facet) {} // CHECK:STDOUT: diff --git a/toolchain/check/testdata/impl/fail_impl_bad_assoc_fn.carbon b/toolchain/check/testdata/impl/fail_impl_bad_assoc_fn.carbon index c330b953248d..8842e3b13366 100644 --- a/toolchain/check/testdata/impl/fail_impl_bad_assoc_fn.carbon +++ b/toolchain/check/testdata/impl/fail_impl_bad_assoc_fn.carbon @@ -245,7 +245,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: constants { // CHECK:STDOUT: %I.type: type = facet_type <@I> [concrete] // CHECK:STDOUT: %Self.826: %I.type = bind_symbolic_name Self, 0 [symbolic] -// CHECK:STDOUT: %F.type.cf0: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.cf0: type = fn_type @F.loc15 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %F.bc6: %F.type.cf0 = struct_value () [concrete] // CHECK:STDOUT: %I.assoc_type: type = assoc_entity_type @I [concrete] @@ -256,7 +256,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %complete_type.357: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %FNotFunction: type = class_type @FNotFunction [concrete] // CHECK:STDOUT: %I.impl_witness.44e: = impl_witness @FNotFunction.%I.impl_witness_table [concrete] -// CHECK:STDOUT: %F.70c: type = class_type @F.25 [concrete] +// CHECK:STDOUT: %F.70c: type = class_type @F.loc37 [concrete] // CHECK:STDOUT: %PossiblyF.type: type = fn_type @PossiblyF [concrete] // CHECK:STDOUT: %PossiblyF: %PossiblyF.type = struct_value () [concrete] // CHECK:STDOUT: %FAlias: type = class_type @FAlias [concrete] @@ -266,76 +266,76 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %Bool.type: type = fn_type @Bool [concrete] // CHECK:STDOUT: %Bool: %Bool.type = struct_value () [concrete] // CHECK:STDOUT: %pattern_type.831: type = pattern_type bool [concrete] -// CHECK:STDOUT: %F.type.44ef8c.1: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.44ef8c.1: type = fn_type @F.loc69_18.1 [concrete] // CHECK:STDOUT: %F.424e9e.1: %F.type.44ef8c.1 = struct_value () [concrete] // CHECK:STDOUT: %I.facet.fa4: %I.type = facet_value %FExtraParam, (%I.impl_witness.1f3) [concrete] -// CHECK:STDOUT: %F.type.44ef8c.2: type = fn_type @F.3 [concrete] +// CHECK:STDOUT: %F.type.44ef8c.2: type = fn_type @F.loc69_18.2 [concrete] // CHECK:STDOUT: %F.424e9e.2: %F.type.44ef8c.2 = struct_value () [concrete] // CHECK:STDOUT: %FExtraImplicitParam: type = class_type @FExtraImplicitParam [concrete] // CHECK:STDOUT: %I.impl_witness.a7b: = impl_witness @FExtraImplicitParam.%I.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.8ae: type = pattern_type %FExtraImplicitParam [concrete] -// CHECK:STDOUT: %F.type.e1abdd.1: type = fn_type @F.4 [concrete] +// CHECK:STDOUT: %F.type.e1abdd.1: type = fn_type @F.loc85_23.1 [concrete] // CHECK:STDOUT: %F.6ff574.1: %F.type.e1abdd.1 = struct_value () [concrete] // CHECK:STDOUT: %I.facet.ee5: %I.type = facet_value %FExtraImplicitParam, (%I.impl_witness.a7b) [concrete] -// CHECK:STDOUT: %F.type.e1abdd.2: type = fn_type @F.5 [concrete] +// CHECK:STDOUT: %F.type.e1abdd.2: type = fn_type @F.loc85_23.2 [concrete] // CHECK:STDOUT: %F.6ff574.2: %F.type.e1abdd.2 = struct_value () [concrete] // CHECK:STDOUT: %FExtraReturnType: type = class_type @FExtraReturnType [concrete] // CHECK:STDOUT: %I.impl_witness.59a: = impl_witness @FExtraReturnType.%I.impl_witness_table [concrete] -// CHECK:STDOUT: %F.type.387: type = fn_type @F.6 [concrete] +// CHECK:STDOUT: %F.type.387: type = fn_type @F.loc99 [concrete] // CHECK:STDOUT: %F.df5: %F.type.387 = struct_value () [concrete] // CHECK:STDOUT: %I.facet.d5c: %I.type = facet_value %FExtraReturnType, (%I.impl_witness.59a) [concrete] // CHECK:STDOUT: %J.type: type = facet_type <@J> [concrete] // CHECK:STDOUT: %Self.ccd: %J.type = bind_symbolic_name Self, 0 [symbolic] -// CHECK:STDOUT: %F.type.c14: type = fn_type @F.7 [concrete] +// CHECK:STDOUT: %F.type.c14: type = fn_type @F.loc103 [concrete] // CHECK:STDOUT: %F.b71: %F.type.c14 = struct_value () [concrete] // CHECK:STDOUT: %J.assoc_type: type = assoc_entity_type @J [concrete] // CHECK:STDOUT: %assoc0.922: %J.assoc_type = assoc_entity element0, @J.%F.decl [concrete] // CHECK:STDOUT: %FMissingParam: type = class_type @FMissingParam [concrete] // CHECK:STDOUT: %J.impl_witness.4e9: = impl_witness @FMissingParam.%J.impl_witness_table [concrete] -// CHECK:STDOUT: %F.type.69596c.1: type = fn_type @F.8 [concrete] +// CHECK:STDOUT: %F.type.69596c.1: type = fn_type @F.loc117_31.1 [concrete] // CHECK:STDOUT: %F.738f31.1: %F.type.69596c.1 = struct_value () [concrete] // CHECK:STDOUT: %J.facet.94c: %J.type = facet_value %FMissingParam, (%J.impl_witness.4e9) [concrete] -// CHECK:STDOUT: %F.type.69596c.2: type = fn_type @F.9 [concrete] +// CHECK:STDOUT: %F.type.69596c.2: type = fn_type @F.loc117_31.2 [concrete] // CHECK:STDOUT: %F.738f31.2: %F.type.69596c.2 = struct_value () [concrete] // CHECK:STDOUT: %FMissingImplicitParam: type = class_type @FMissingImplicitParam [concrete] // CHECK:STDOUT: %J.impl_witness.841: = impl_witness @FMissingImplicitParam.%J.impl_witness_table [concrete] -// CHECK:STDOUT: %F.type.d97cef.1: type = fn_type @F.10 [concrete] +// CHECK:STDOUT: %F.type.d97cef.1: type = fn_type @F.loc130_26.1 [concrete] // CHECK:STDOUT: %F.01de92.1: %F.type.d97cef.1 = struct_value () [concrete] // CHECK:STDOUT: %J.facet.e7e: %J.type = facet_value %FMissingImplicitParam, (%J.impl_witness.841) [concrete] -// CHECK:STDOUT: %F.type.d97cef.2: type = fn_type @F.11 [concrete] +// CHECK:STDOUT: %F.type.d97cef.2: type = fn_type @F.loc130_26.2 [concrete] // CHECK:STDOUT: %F.01de92.2: %F.type.d97cef.2 = struct_value () [concrete] // CHECK:STDOUT: %FMissingReturnType: type = class_type @FMissingReturnType [concrete] // CHECK:STDOUT: %J.impl_witness.e75: = impl_witness @FMissingReturnType.%J.impl_witness_table [concrete] -// CHECK:STDOUT: %F.type.123d7a.1: type = fn_type @F.12 [concrete] +// CHECK:STDOUT: %F.type.123d7a.1: type = fn_type @F.loc152_30.1 [concrete] // CHECK:STDOUT: %F.c7d02d.1: %F.type.123d7a.1 = struct_value () [concrete] // CHECK:STDOUT: %J.facet.974: %J.type = facet_value %FMissingReturnType, (%J.impl_witness.e75) [concrete] -// CHECK:STDOUT: %F.type.123d7a.2: type = fn_type @F.13 [concrete] +// CHECK:STDOUT: %F.type.123d7a.2: type = fn_type @F.loc152_30.2 [concrete] // CHECK:STDOUT: %F.c7d02d.2: %F.type.123d7a.2 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.type.cc7: type = generic_interface_type @ImplicitAs [concrete] // CHECK:STDOUT: %ImplicitAs.generic: %ImplicitAs.type.cc7 = struct_value () [concrete] // CHECK:STDOUT: %FDifferentParamType: type = class_type @FDifferentParamType [concrete] // CHECK:STDOUT: %J.impl_witness.cbe: = impl_witness @FDifferentParamType.%J.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.b90: type = pattern_type %FDifferentParamType [concrete] -// CHECK:STDOUT: %F.type.6b537d.1: type = fn_type @F.14 [concrete] +// CHECK:STDOUT: %F.type.6b537d.1: type = fn_type @F.loc171_38.1 [concrete] // CHECK:STDOUT: %F.04313a.1: %F.type.6b537d.1 = struct_value () [concrete] // CHECK:STDOUT: %J.facet.37e: %J.type = facet_value %FDifferentParamType, (%J.impl_witness.cbe) [concrete] -// CHECK:STDOUT: %F.type.6b537d.2: type = fn_type @F.15 [concrete] +// CHECK:STDOUT: %F.type.6b537d.2: type = fn_type @F.loc171_38.2 [concrete] // CHECK:STDOUT: %F.04313a.2: %F.type.6b537d.2 = struct_value () [concrete] // CHECK:STDOUT: %FDifferentImplicitParamType: type = class_type @FDifferentImplicitParamType [concrete] // CHECK:STDOUT: %J.impl_witness.af2: = impl_witness @FDifferentImplicitParamType.%J.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.9cc: type = pattern_type %FDifferentImplicitParamType [concrete] -// CHECK:STDOUT: %F.type.d6232a.1: type = fn_type @F.16 [concrete] +// CHECK:STDOUT: %F.type.d6232a.1: type = fn_type @F.loc184_38.1 [concrete] // CHECK:STDOUT: %F.886f70.1: %F.type.d6232a.1 = struct_value () [concrete] // CHECK:STDOUT: %J.facet.bf1: %J.type = facet_value %FDifferentImplicitParamType, (%J.impl_witness.af2) [concrete] -// CHECK:STDOUT: %F.type.d6232a.2: type = fn_type @F.17 [concrete] +// CHECK:STDOUT: %F.type.d6232a.2: type = fn_type @F.loc184_38.2 [concrete] // CHECK:STDOUT: %F.886f70.2: %F.type.d6232a.2 = struct_value () [concrete] // CHECK:STDOUT: %FDifferentReturnType: type = class_type @FDifferentReturnType [concrete] // CHECK:STDOUT: %J.impl_witness.bc1: = impl_witness @FDifferentReturnType.%J.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.8ee: type = pattern_type %FDifferentReturnType [concrete] -// CHECK:STDOUT: %F.type.d3b58f.1: type = fn_type @F.18 [concrete] +// CHECK:STDOUT: %F.type.d3b58f.1: type = fn_type @F.loc200_38.1 [concrete] // CHECK:STDOUT: %F.be86c9.1: %F.type.d3b58f.1 = struct_value () [concrete] // CHECK:STDOUT: %J.facet.67f: %J.type = facet_value %FDifferentReturnType, (%J.impl_witness.bc1) [concrete] -// CHECK:STDOUT: %F.type.d3b58f.2: type = fn_type @F.19 [concrete] +// CHECK:STDOUT: %F.type.d3b58f.2: type = fn_type @F.loc200_38.2 [concrete] // CHECK:STDOUT: %F.be86c9.2: %F.type.d3b58f.2 = struct_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %Op.type.3d3: type = fn_type @Op.2, @Destroy.impl(%FDifferentReturnType) [concrete] @@ -357,7 +357,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %int_4: Core.IntLiteral = int_value 4 [concrete] // CHECK:STDOUT: %array_type.873: type = array_type %int_4, %Self.as_type.e1e [symbolic] // CHECK:STDOUT: %pattern_type.c7e: type = pattern_type %array_type.873 [symbolic] -// CHECK:STDOUT: %F.type.6ed: type = fn_type @F.20 [concrete] +// CHECK:STDOUT: %F.type.6ed: type = fn_type @F.loc211 [concrete] // CHECK:STDOUT: %F.998: %F.type.6ed = struct_value () [concrete] // CHECK:STDOUT: %SelfNested.assoc_type: type = assoc_entity_type @SelfNested [concrete] // CHECK:STDOUT: %assoc0.beb: %SelfNested.assoc_type = assoc_entity element0, @SelfNested.%F.decl [concrete] @@ -369,13 +369,13 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %pattern_type.714: type = pattern_type %tuple.type.a7d [concrete] // CHECK:STDOUT: %array_type.a41: type = array_type %int_4, %SelfNestedBadParam [concrete] // CHECK:STDOUT: %pattern_type.1f1: type = pattern_type %array_type.a41 [concrete] -// CHECK:STDOUT: %F.type.f90165.1: type = fn_type @F.21 [concrete] +// CHECK:STDOUT: %F.type.f90165.1: type = fn_type @F.loc223_87.1 [concrete] // CHECK:STDOUT: %F.fa8d04.1: %F.type.f90165.1 = struct_value () [concrete] // CHECK:STDOUT: %SelfNested.facet.608: %SelfNested.type = facet_value %SelfNestedBadParam, (%SelfNested.impl_witness.e31) [concrete] // CHECK:STDOUT: %struct_type.x.y.a89: type = struct_type {.x: %SelfNestedBadParam, .y: %i32} [concrete] // CHECK:STDOUT: %tuple.type.9c9: type = tuple_type (%ptr.4cd, %struct_type.x.y.a89) [concrete] // CHECK:STDOUT: %pattern_type.a5c: type = pattern_type %tuple.type.9c9 [concrete] -// CHECK:STDOUT: %F.type.f90165.2: type = fn_type @F.22 [concrete] +// CHECK:STDOUT: %F.type.f90165.2: type = fn_type @F.loc223_87.2 [concrete] // CHECK:STDOUT: %F.fa8d04.2: %F.type.f90165.2 = struct_value () [concrete] // CHECK:STDOUT: %ptr.f40: type = ptr_type %array_type.a41 [concrete] // CHECK:STDOUT: %Op.type.ba3: type = fn_type @Op.2, @Destroy.impl(%array_type.a41) [concrete] @@ -387,12 +387,12 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %struct_type.x.y.ac5: type = struct_type {.x: %SelfNestedBadReturnType, .y: %i32} [concrete] // CHECK:STDOUT: %tuple.type.eb9: type = tuple_type (%ptr.612, %struct_type.x.y.ac5) [concrete] // CHECK:STDOUT: %pattern_type.23f: type = pattern_type %tuple.type.eb9 [concrete] -// CHECK:STDOUT: %F.type.0e7d1d.1: type = fn_type @F.23 [concrete] +// CHECK:STDOUT: %F.type.0e7d1d.1: type = fn_type @F.loc239_112.1 [concrete] // CHECK:STDOUT: %F.0bc78a.1: %F.type.0e7d1d.1 = struct_value () [concrete] // CHECK:STDOUT: %SelfNested.facet.766: %SelfNested.type = facet_value %SelfNestedBadReturnType, (%SelfNested.impl_witness.d5e) [concrete] // CHECK:STDOUT: %array_type.126: type = array_type %int_4, %SelfNestedBadReturnType [concrete] // CHECK:STDOUT: %pattern_type.f56: type = pattern_type %array_type.126 [concrete] -// CHECK:STDOUT: %F.type.0e7d1d.2: type = fn_type @F.24 [concrete] +// CHECK:STDOUT: %F.type.0e7d1d.2: type = fn_type @F.loc239_112.2 [concrete] // CHECK:STDOUT: %F.0bc78a.2: %F.type.0e7d1d.2 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -456,7 +456,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: // CHECK:STDOUT: interface @I { // CHECK:STDOUT: %Self: %I.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.826] -// CHECK:STDOUT: %F.decl: %F.type.cf0 = fn_decl @F.1 [concrete = constants.%F.bc6] {} {} +// CHECK:STDOUT: %F.decl: %F.type.cf0 = fn_decl @F.loc15 [concrete = constants.%F.bc6] {} {} // CHECK:STDOUT: %assoc0: %I.assoc_type = assoc_entity element0, %F.decl [concrete = constants.%assoc0.82e] // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -467,7 +467,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: // CHECK:STDOUT: interface @J { // CHECK:STDOUT: %Self: %J.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.ccd] -// CHECK:STDOUT: %F.decl: %F.type.c14 = fn_decl @F.7 [concrete = constants.%F.b71] { +// CHECK:STDOUT: %F.decl: %F.type.c14 = fn_decl @F.loc103 [concrete = constants.%F.b71] { // CHECK:STDOUT: %self.patt: %pattern_type.831 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.831 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %b.patt: %pattern_type.831 = binding_pattern b [concrete] @@ -505,18 +505,18 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: // CHECK:STDOUT: interface @SelfNested { // CHECK:STDOUT: %Self: %SelfNested.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.2ff] -// CHECK:STDOUT: %F.decl: %F.type.6ed = fn_decl @F.20 [concrete = constants.%F.998] { -// CHECK:STDOUT: %x.patt: @F.20.%pattern_type.loc211_8 (%pattern_type.ced) = binding_pattern x [concrete] -// CHECK:STDOUT: %x.param_patt: @F.20.%pattern_type.loc211_8 (%pattern_type.ced) = value_param_pattern %x.patt, call_param0 [concrete] -// CHECK:STDOUT: %return.patt: @F.20.%pattern_type.loc211_41 (%pattern_type.c7e) = return_slot_pattern [concrete] -// CHECK:STDOUT: %return.param_patt: @F.20.%pattern_type.loc211_41 (%pattern_type.c7e) = out_param_pattern %return.patt, call_param1 [concrete] +// CHECK:STDOUT: %F.decl: %F.type.6ed = fn_decl @F.loc211 [concrete = constants.%F.998] { +// CHECK:STDOUT: %x.patt: @F.loc211.%pattern_type.loc211_8 (%pattern_type.ced) = binding_pattern x [concrete] +// CHECK:STDOUT: %x.param_patt: @F.loc211.%pattern_type.loc211_8 (%pattern_type.ced) = value_param_pattern %x.patt, call_param0 [concrete] +// CHECK:STDOUT: %return.patt: @F.loc211.%pattern_type.loc211_41 (%pattern_type.c7e) = return_slot_pattern [concrete] +// CHECK:STDOUT: %return.param_patt: @F.loc211.%pattern_type.loc211_41 (%pattern_type.c7e) = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref.loc211_50: %SelfNested.type = name_ref Self, @SelfNested.%Self [symbolic = %Self (constants.%Self.2ff)] // CHECK:STDOUT: %int_4: Core.IntLiteral = int_value 4 [concrete = constants.%int_4] // CHECK:STDOUT: %Self.as_type.loc211_50: type = facet_access_type %Self.ref.loc211_50 [symbolic = %Self.as_type.loc211_16.1 (constants.%Self.as_type.e1e)] // CHECK:STDOUT: %.loc211_50: type = converted %Self.ref.loc211_50, %Self.as_type.loc211_50 [symbolic = %Self.as_type.loc211_16.1 (constants.%Self.as_type.e1e)] // CHECK:STDOUT: %array_type.loc211_57.2: type = array_type %int_4, %.loc211_50 [symbolic = %array_type.loc211_57.1 (constants.%array_type.873)] -// CHECK:STDOUT: %x.param: @F.20.%tuple.type (%tuple.type.229) = value_param call_param0 +// CHECK:STDOUT: %x.param: @F.loc211.%tuple.type (%tuple.type.229) = value_param call_param0 // CHECK:STDOUT: %.loc211_38.1: type = splice_block %.loc211_38.3 [symbolic = %tuple.type (constants.%tuple.type.229)] { // CHECK:STDOUT: %Self.ref.loc211_12: %SelfNested.type = name_ref Self, @SelfNested.%Self [symbolic = %Self (constants.%Self.2ff)] // CHECK:STDOUT: %Self.as_type.loc211_16.2: type = facet_access_type %Self.ref.loc211_12 [symbolic = %Self.as_type.loc211_16.1 (constants.%Self.as_type.e1e)] @@ -527,13 +527,13 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %.loc211_24: type = converted %Self.ref.loc211_24, %Self.as_type.loc211_24 [symbolic = %Self.as_type.loc211_16.1 (constants.%Self.as_type.e1e)] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %struct_type.x.y.loc211_37.2: type = struct_type {.x: @F.20.%Self.as_type.loc211_16.1 (%Self.as_type.e1e), .y: %i32} [symbolic = %struct_type.x.y.loc211_37.1 (constants.%struct_type.x.y.81e)] +// CHECK:STDOUT: %struct_type.x.y.loc211_37.2: type = struct_type {.x: @F.loc211.%Self.as_type.loc211_16.1 (%Self.as_type.e1e), .y: %i32} [symbolic = %struct_type.x.y.loc211_37.1 (constants.%struct_type.x.y.81e)] // CHECK:STDOUT: %.loc211_38.2: %tuple.type.24b = tuple_literal (%ptr.loc211_16.2, %struct_type.x.y.loc211_37.2) // CHECK:STDOUT: %.loc211_38.3: type = converted %.loc211_38.2, constants.%tuple.type.229 [symbolic = %tuple.type (constants.%tuple.type.229)] // CHECK:STDOUT: } -// CHECK:STDOUT: %x: @F.20.%tuple.type (%tuple.type.229) = bind_name x, %x.param -// CHECK:STDOUT: %return.param: ref @F.20.%array_type.loc211_57.1 (%array_type.873) = out_param call_param1 -// CHECK:STDOUT: %return: ref @F.20.%array_type.loc211_57.1 (%array_type.873) = return_slot %return.param +// CHECK:STDOUT: %x: @F.loc211.%tuple.type (%tuple.type.229) = bind_name x, %x.param +// CHECK:STDOUT: %return.param: ref @F.loc211.%array_type.loc211_57.1 (%array_type.873) = out_param call_param1 +// CHECK:STDOUT: %return: ref @F.loc211.%array_type.loc211_57.1 (%array_type.873) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %assoc0: %SelfNested.assoc_type = assoc_entity element0, %F.decl [concrete = constants.%assoc0.beb] // CHECK:STDOUT: @@ -550,7 +550,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @I.impl.b55: %Self.ref as %I.ref { -// CHECK:STDOUT: %F.decl: type = class_decl @F.25 [concrete = constants.%F.70c] {} {} +// CHECK:STDOUT: %F.decl: type = class_decl @F.loc37 [concrete = constants.%F.70c] {} {} // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .F = %F.decl @@ -568,7 +568,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @I.impl.ddd: %Self.ref as %I.ref { -// CHECK:STDOUT: %F.decl.loc69_18.1: %F.type.44ef8c.1 = fn_decl @F.2 [concrete = constants.%F.424e9e.1] { +// CHECK:STDOUT: %F.decl.loc69_18.1: %F.type.44ef8c.1 = fn_decl @F.loc69_18.1 [concrete = constants.%F.424e9e.1] { // CHECK:STDOUT: %b.patt: %pattern_type.831 = binding_pattern b [concrete] // CHECK:STDOUT: %b.param_patt: %pattern_type.831 = value_param_pattern %b.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -580,7 +580,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: } // CHECK:STDOUT: %b: bool = bind_name b, %b.param // CHECK:STDOUT: } -// CHECK:STDOUT: %F.decl.loc69_18.2: %F.type.44ef8c.2 = fn_decl @F.3 [concrete = constants.%F.424e9e.2] {} {} +// CHECK:STDOUT: %F.decl.loc69_18.2: %F.type.44ef8c.2 = fn_decl @F.loc69_18.2 [concrete = constants.%F.424e9e.2] {} {} // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .F = %F.decl.loc69_18.1 @@ -588,7 +588,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @I.impl.698: %Self.ref as %I.ref { -// CHECK:STDOUT: %F.decl.loc85_23.1: %F.type.e1abdd.1 = fn_decl @F.4 [concrete = constants.%F.6ff574.1] { +// CHECK:STDOUT: %F.decl.loc85_23.1: %F.type.e1abdd.1 = fn_decl @F.loc85_23.1 [concrete = constants.%F.6ff574.1] { // CHECK:STDOUT: %self.patt: %pattern_type.8ae = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.8ae = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -596,7 +596,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%FExtraImplicitParam [concrete = constants.%FExtraImplicitParam] // CHECK:STDOUT: %self: %FExtraImplicitParam = bind_name self, %self.param // CHECK:STDOUT: } -// CHECK:STDOUT: %F.decl.loc85_23.2: %F.type.e1abdd.2 = fn_decl @F.5 [concrete = constants.%F.6ff574.2] {} {} +// CHECK:STDOUT: %F.decl.loc85_23.2: %F.type.e1abdd.2 = fn_decl @F.loc85_23.2 [concrete = constants.%F.6ff574.2] {} {} // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .F = %F.decl.loc85_23.1 @@ -604,7 +604,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @I.impl.77b: %Self.ref as %I.ref { -// CHECK:STDOUT: %F.decl: %F.type.387 = fn_decl @F.6 [concrete = constants.%F.df5] { +// CHECK:STDOUT: %F.decl: %F.type.387 = fn_decl @F.loc99 [concrete = constants.%F.df5] { // CHECK:STDOUT: %return.patt: %pattern_type.831 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.831 = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -621,7 +621,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @J.impl.5cf: %Self.ref as %J.ref { -// CHECK:STDOUT: %F.decl.loc117_31.1: %F.type.69596c.1 = fn_decl @F.8 [concrete = constants.%F.738f31.1] { +// CHECK:STDOUT: %F.decl.loc117_31.1: %F.type.69596c.1 = fn_decl @F.loc117_31.1 [concrete = constants.%F.738f31.1] { // CHECK:STDOUT: %self.patt: %pattern_type.831 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.831 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %return.patt: %pattern_type.831 = return_slot_pattern [concrete] @@ -640,7 +640,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %return.param: ref bool = out_param call_param1 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %F.decl.loc117_31.2: %F.type.69596c.2 = fn_decl @F.9 [concrete = constants.%F.738f31.2] { +// CHECK:STDOUT: %F.decl.loc117_31.2: %F.type.69596c.2 = fn_decl @F.loc117_31.2 [concrete = constants.%F.738f31.2] { // CHECK:STDOUT: %self.patt: %pattern_type.831 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.831 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %b.patt: %pattern_type.831 = binding_pattern b [concrete] @@ -662,7 +662,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @J.impl.bac: %Self.ref as %J.ref { -// CHECK:STDOUT: %F.decl.loc130_26.1: %F.type.d97cef.1 = fn_decl @F.10 [concrete = constants.%F.01de92.1] { +// CHECK:STDOUT: %F.decl.loc130_26.1: %F.type.d97cef.1 = fn_decl @F.loc130_26.1 [concrete = constants.%F.01de92.1] { // CHECK:STDOUT: %b.patt: %pattern_type.831 = binding_pattern b [concrete] // CHECK:STDOUT: %b.param_patt: %pattern_type.831 = value_param_pattern %b.patt, call_param0 [concrete] // CHECK:STDOUT: %return.patt: %pattern_type.831 = return_slot_pattern [concrete] @@ -681,7 +681,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %return.param: ref bool = out_param call_param1 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %F.decl.loc130_26.2: %F.type.d97cef.2 = fn_decl @F.11 [concrete = constants.%F.01de92.2] { +// CHECK:STDOUT: %F.decl.loc130_26.2: %F.type.d97cef.2 = fn_decl @F.loc130_26.2 [concrete = constants.%F.01de92.2] { // CHECK:STDOUT: %self.patt: %pattern_type.831 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.831 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %b.patt: %pattern_type.831 = binding_pattern b [concrete] @@ -703,7 +703,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @J.impl.1a7: %Self.ref as %J.ref { -// CHECK:STDOUT: %F.decl.loc152_30.1: %F.type.123d7a.1 = fn_decl @F.12 [concrete = constants.%F.c7d02d.1] { +// CHECK:STDOUT: %F.decl.loc152_30.1: %F.type.123d7a.1 = fn_decl @F.loc152_30.1 [concrete = constants.%F.c7d02d.1] { // CHECK:STDOUT: %self.patt: %pattern_type.831 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.831 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %b.patt: %pattern_type.831 = binding_pattern b [concrete] @@ -724,7 +724,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: } // CHECK:STDOUT: %b: bool = bind_name b, %b.param // CHECK:STDOUT: } -// CHECK:STDOUT: %F.decl.loc152_30.2: %F.type.123d7a.2 = fn_decl @F.13 [concrete = constants.%F.c7d02d.2] { +// CHECK:STDOUT: %F.decl.loc152_30.2: %F.type.123d7a.2 = fn_decl @F.loc152_30.2 [concrete = constants.%F.c7d02d.2] { // CHECK:STDOUT: %self.patt: %pattern_type.831 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.831 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %b.patt: %pattern_type.831 = binding_pattern b [concrete] @@ -746,7 +746,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @J.impl.f2b: %Self.ref as %J.ref { -// CHECK:STDOUT: %F.decl.loc171_38.1: %F.type.6b537d.1 = fn_decl @F.14 [concrete = constants.%F.04313a.1] { +// CHECK:STDOUT: %F.decl.loc171_38.1: %F.type.6b537d.1 = fn_decl @F.loc171_38.1 [concrete = constants.%F.04313a.1] { // CHECK:STDOUT: %self.patt: %pattern_type.831 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.831 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %b.patt: %pattern_type.b90 = binding_pattern b [concrete] @@ -770,7 +770,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %return.param: ref bool = out_param call_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %F.decl.loc171_38.2: %F.type.6b537d.2 = fn_decl @F.15 [concrete = constants.%F.04313a.2] { +// CHECK:STDOUT: %F.decl.loc171_38.2: %F.type.6b537d.2 = fn_decl @F.loc171_38.2 [concrete = constants.%F.04313a.2] { // CHECK:STDOUT: %self.patt: %pattern_type.831 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.831 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %b.patt: %pattern_type.831 = binding_pattern b [concrete] @@ -792,7 +792,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @J.impl.db4: %Self.ref as %J.ref { -// CHECK:STDOUT: %F.decl.loc184_38.1: %F.type.d6232a.1 = fn_decl @F.16 [concrete = constants.%F.886f70.1] { +// CHECK:STDOUT: %F.decl.loc184_38.1: %F.type.d6232a.1 = fn_decl @F.loc184_38.1 [concrete = constants.%F.886f70.1] { // CHECK:STDOUT: %self.patt: %pattern_type.9cc = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.9cc = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %b.patt: %pattern_type.831 = binding_pattern b [concrete] @@ -816,7 +816,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %return.param: ref bool = out_param call_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %F.decl.loc184_38.2: %F.type.d6232a.2 = fn_decl @F.17 [concrete = constants.%F.886f70.2] { +// CHECK:STDOUT: %F.decl.loc184_38.2: %F.type.d6232a.2 = fn_decl @F.loc184_38.2 [concrete = constants.%F.886f70.2] { // CHECK:STDOUT: %self.patt: %pattern_type.831 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.831 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %b.patt: %pattern_type.831 = binding_pattern b [concrete] @@ -838,7 +838,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @J.impl.fcc: %Self.ref as %J.ref { -// CHECK:STDOUT: %F.decl.loc200_38.1: %F.type.d3b58f.1 = fn_decl @F.18 [concrete = constants.%F.be86c9.1] { +// CHECK:STDOUT: %F.decl.loc200_38.1: %F.type.d3b58f.1 = fn_decl @F.loc200_38.1 [concrete = constants.%F.be86c9.1] { // CHECK:STDOUT: %self.patt: %pattern_type.831 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.831 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %b.patt: %pattern_type.831 = binding_pattern b [concrete] @@ -864,7 +864,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %return.param: ref %FDifferentReturnType = out_param call_param2 // CHECK:STDOUT: %return: ref %FDifferentReturnType = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %F.decl.loc200_38.2: %F.type.d3b58f.2 = fn_decl @F.19 [concrete = constants.%F.be86c9.2] { +// CHECK:STDOUT: %F.decl.loc200_38.2: %F.type.d3b58f.2 = fn_decl @F.loc200_38.2 [concrete = constants.%F.be86c9.2] { // CHECK:STDOUT: %self.patt: %pattern_type.831 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.831 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %b.patt: %pattern_type.831 = binding_pattern b [concrete] @@ -886,7 +886,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @SelfNested.impl.6a5: %Self.ref as %SelfNested.ref { -// CHECK:STDOUT: %F.decl.loc223_87.1: %F.type.f90165.1 = fn_decl @F.21 [concrete = constants.%F.fa8d04.1] { +// CHECK:STDOUT: %F.decl.loc223_87.1: %F.type.f90165.1 = fn_decl @F.loc223_87.1 [concrete = constants.%F.fa8d04.1] { // CHECK:STDOUT: %x.patt: %pattern_type.714 = binding_pattern x [concrete] // CHECK:STDOUT: %x.param_patt: %pattern_type.714 = value_param_pattern %x.patt, call_param0 [concrete] // CHECK:STDOUT: %return.patt: %pattern_type.1f1 = return_slot_pattern [concrete] @@ -911,7 +911,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %return.param: ref %array_type.a41 = out_param call_param1 // CHECK:STDOUT: %return: ref %array_type.a41 = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %F.decl.loc223_87.2: %F.type.f90165.2 = fn_decl @F.22 [concrete = constants.%F.fa8d04.2] { +// CHECK:STDOUT: %F.decl.loc223_87.2: %F.type.f90165.2 = fn_decl @F.loc223_87.2 [concrete = constants.%F.fa8d04.2] { // CHECK:STDOUT: %x.patt: %pattern_type.a5c = binding_pattern x [concrete] // CHECK:STDOUT: %x.param_patt: %pattern_type.a5c = value_param_pattern %x.patt, call_param0 [concrete] // CHECK:STDOUT: %return.patt: %pattern_type.1f1 = return_slot_pattern [concrete] @@ -930,7 +930,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @SelfNested.impl.bfc: %Self.ref as %SelfNested.ref { -// CHECK:STDOUT: %F.decl.loc239_112.1: %F.type.0e7d1d.1 = fn_decl @F.23 [concrete = constants.%F.0bc78a.1] { +// CHECK:STDOUT: %F.decl.loc239_112.1: %F.type.0e7d1d.1 = fn_decl @F.loc239_112.1 [concrete = constants.%F.0bc78a.1] { // CHECK:STDOUT: %x.patt: %pattern_type.23f = binding_pattern x [concrete] // CHECK:STDOUT: %x.param_patt: %pattern_type.23f = value_param_pattern %x.patt, call_param0 [concrete] // CHECK:STDOUT: %return.patt: %pattern_type.1f1 = return_slot_pattern [concrete] @@ -954,7 +954,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %return.param: ref %array_type.a41 = out_param call_param1 // CHECK:STDOUT: %return: ref %array_type.a41 = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %F.decl.loc239_112.2: %F.type.0e7d1d.2 = fn_decl @F.24 [concrete = constants.%F.0bc78a.2] { +// CHECK:STDOUT: %F.decl.loc239_112.2: %F.type.0e7d1d.2 = fn_decl @F.loc239_112.2 [concrete = constants.%F.0bc78a.2] { // CHECK:STDOUT: %x.patt: %pattern_type.23f = binding_pattern x [concrete] // CHECK:STDOUT: %x.param_patt: %pattern_type.23f = value_param_pattern %x.patt, call_param0 [concrete] // CHECK:STDOUT: %return.patt: %pattern_type.f56 = return_slot_pattern [concrete] @@ -1005,7 +1005,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: .I = // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: class @F.25; +// CHECK:STDOUT: class @F.loc37; // CHECK:STDOUT: // CHECK:STDOUT: class @FAlias { // CHECK:STDOUT: impl_decl @I.impl.199 [concrete] {} { @@ -1203,38 +1203,38 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: .SelfNestedBadParam = // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.1(@I.%Self: %I.type) { +// CHECK:STDOUT: generic fn @F.loc15(@I.%Self: %I.type) { // CHECK:STDOUT: fn(); // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @PossiblyF(); // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2(%b.param: bool); +// CHECK:STDOUT: fn @F.loc69_18.1(%b.param: bool); // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.3() [thunk @I.impl.ddd.%F.decl.loc69_18.1] { +// CHECK:STDOUT: fn @F.loc69_18.2() [thunk @I.impl.ddd.%F.decl.loc69_18.1] { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %F.ref: %F.type.44ef8c.1 = name_ref F, @I.impl.ddd.%F.decl.loc69_18.1 [concrete = constants.%F.424e9e.1] // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.4(%self.param: %FExtraImplicitParam); +// CHECK:STDOUT: fn @F.loc85_23.1(%self.param: %FExtraImplicitParam); // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.5() [thunk @I.impl.698.%F.decl.loc85_23.1] { +// CHECK:STDOUT: fn @F.loc85_23.2() [thunk @I.impl.698.%F.decl.loc85_23.1] { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %F.ref: %F.type.e1abdd.1 = name_ref F, @I.impl.698.%F.decl.loc85_23.1 [concrete = constants.%F.6ff574.1] // CHECK:STDOUT: %F.call: init %empty_tuple.type = call %F.ref() // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.6() -> bool; +// CHECK:STDOUT: fn @F.loc99() -> bool; // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.7(@J.%Self: %J.type) { +// CHECK:STDOUT: generic fn @F.loc103(@J.%Self: %J.type) { // CHECK:STDOUT: fn(%self.param: bool, %b.param: bool) -> bool; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.8(%self.param: bool) -> bool; +// CHECK:STDOUT: fn @F.loc117_31.1(%self.param: bool) -> bool; // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.9(%self.param: bool, %b.param: bool) -> bool [thunk @J.impl.5cf.%F.decl.loc117_31.1] { +// CHECK:STDOUT: fn @F.loc117_31.2(%self.param: bool, %b.param: bool) -> bool [thunk @J.impl.5cf.%F.decl.loc117_31.1] { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %F.ref: %F.type.69596c.1 = name_ref F, @J.impl.5cf.%F.decl.loc117_31.1 [concrete = constants.%F.738f31.1] // CHECK:STDOUT: %self.ref: bool = name_ref self, %self.param @@ -1244,9 +1244,9 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.10(%b.param: bool) -> bool; +// CHECK:STDOUT: fn @F.loc130_26.1(%b.param: bool) -> bool; // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.11(%self.param: bool, %b.param: bool) -> bool [thunk @J.impl.bac.%F.decl.loc130_26.1] { +// CHECK:STDOUT: fn @F.loc130_26.2(%self.param: bool, %b.param: bool) -> bool [thunk @J.impl.bac.%F.decl.loc130_26.1] { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %F.ref: %F.type.d97cef.1 = name_ref F, @J.impl.bac.%F.decl.loc130_26.1 [concrete = constants.%F.01de92.1] // CHECK:STDOUT: %self.ref: bool = name_ref self, %self.param @@ -1258,9 +1258,9 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: return %.loc130_26.2 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.12(%self.param: bool, %b.param: bool); +// CHECK:STDOUT: fn @F.loc152_30.1(%self.param: bool, %b.param: bool); // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.13(%self.param: bool, %b.param: bool) -> bool [thunk @J.impl.1a7.%F.decl.loc152_30.1] { +// CHECK:STDOUT: fn @F.loc152_30.2(%self.param: bool, %b.param: bool) -> bool [thunk @J.impl.1a7.%F.decl.loc152_30.1] { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %F.ref: %F.type.123d7a.1 = name_ref F, @J.impl.1a7.%F.decl.loc152_30.1 [concrete = constants.%F.c7d02d.1] // CHECK:STDOUT: %self.ref: bool = name_ref self, %self.param @@ -1272,9 +1272,9 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.14(%self.param: bool, %b.param: %FDifferentParamType) -> bool; +// CHECK:STDOUT: fn @F.loc171_38.1(%self.param: bool, %b.param: %FDifferentParamType) -> bool; // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.15(%self.param: bool, %b.param: bool) -> bool [thunk @J.impl.f2b.%F.decl.loc171_38.1] { +// CHECK:STDOUT: fn @F.loc171_38.2(%self.param: bool, %b.param: bool) -> bool [thunk @J.impl.f2b.%F.decl.loc171_38.1] { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %F.ref: %F.type.6b537d.1 = name_ref F, @J.impl.f2b.%F.decl.loc171_38.1 [concrete = constants.%F.04313a.1] // CHECK:STDOUT: %self.ref: bool = name_ref self, %self.param @@ -1288,9 +1288,9 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: return %.loc171_38.2 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.16(%self.param: %FDifferentImplicitParamType, %b.param: bool) -> bool; +// CHECK:STDOUT: fn @F.loc184_38.1(%self.param: %FDifferentImplicitParamType, %b.param: bool) -> bool; // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.17(%self.param: bool, %b.param: bool) -> bool [thunk @J.impl.db4.%F.decl.loc184_38.1] { +// CHECK:STDOUT: fn @F.loc184_38.2(%self.param: bool, %b.param: bool) -> bool [thunk @J.impl.db4.%F.decl.loc184_38.1] { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %F.ref: %F.type.d6232a.1 = name_ref F, @J.impl.db4.%F.decl.loc184_38.1 [concrete = constants.%F.886f70.1] // CHECK:STDOUT: %self.ref: bool = name_ref self, %self.param @@ -1304,9 +1304,9 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: return %.loc184_38.2 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.18(%self.param: bool, %b.param: bool) -> %return.param: %FDifferentReturnType; +// CHECK:STDOUT: fn @F.loc200_38.1(%self.param: bool, %b.param: bool) -> %return.param: %FDifferentReturnType; // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.19(%self.param: bool, %b.param: bool) -> bool [thunk @J.impl.fcc.%F.decl.loc200_38.1] { +// CHECK:STDOUT: fn @F.loc200_38.2(%self.param: bool, %b.param: bool) -> bool [thunk @J.impl.fcc.%F.decl.loc200_38.1] { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %F.ref: %F.type.d3b58f.1 = name_ref F, @J.impl.fcc.%F.decl.loc200_38.1 [concrete = constants.%F.be86c9.1] // CHECK:STDOUT: %self.ref: bool = name_ref self, %self.param @@ -1324,22 +1324,22 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.20(@SelfNested.%Self: %SelfNested.type) { +// CHECK:STDOUT: generic fn @F.loc211(@SelfNested.%Self: %SelfNested.type) { // CHECK:STDOUT: %Self: %SelfNested.type = bind_symbolic_name Self, 0 [symbolic = %Self (constants.%Self.2ff)] // CHECK:STDOUT: %Self.as_type.loc211_16.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc211_16.1 (constants.%Self.as_type.e1e)] // CHECK:STDOUT: %ptr.loc211_16.1: type = ptr_type %Self.as_type.loc211_16.1 [symbolic = %ptr.loc211_16.1 (constants.%ptr.e87)] -// CHECK:STDOUT: %struct_type.x.y.loc211_37.1: type = struct_type {.x: @F.20.%Self.as_type.loc211_16.1 (%Self.as_type.e1e), .y: %i32} [symbolic = %struct_type.x.y.loc211_37.1 (constants.%struct_type.x.y.81e)] +// CHECK:STDOUT: %struct_type.x.y.loc211_37.1: type = struct_type {.x: @F.loc211.%Self.as_type.loc211_16.1 (%Self.as_type.e1e), .y: %i32} [symbolic = %struct_type.x.y.loc211_37.1 (constants.%struct_type.x.y.81e)] // CHECK:STDOUT: %tuple.type: type = tuple_type (%ptr.loc211_16.1, %struct_type.x.y.loc211_37.1) [symbolic = %tuple.type (constants.%tuple.type.229)] // CHECK:STDOUT: %pattern_type.loc211_8: type = pattern_type %tuple.type [symbolic = %pattern_type.loc211_8 (constants.%pattern_type.ced)] // CHECK:STDOUT: %array_type.loc211_57.1: type = array_type constants.%int_4, %Self.as_type.loc211_16.1 [symbolic = %array_type.loc211_57.1 (constants.%array_type.873)] // CHECK:STDOUT: %pattern_type.loc211_41: type = pattern_type %array_type.loc211_57.1 [symbolic = %pattern_type.loc211_41 (constants.%pattern_type.c7e)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%x.param: @F.20.%tuple.type (%tuple.type.229)) -> @F.20.%array_type.loc211_57.1 (%array_type.873); +// CHECK:STDOUT: fn(%x.param: @F.loc211.%tuple.type (%tuple.type.229)) -> @F.loc211.%array_type.loc211_57.1 (%array_type.873); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.21(%x.param: %tuple.type.a7d) -> %return.param: %array_type.a41; +// CHECK:STDOUT: fn @F.loc223_87.1(%x.param: %tuple.type.a7d) -> %return.param: %array_type.a41; // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.22(%x.param: %tuple.type.9c9) -> %return.param: %array_type.a41 [thunk @SelfNested.impl.6a5.%F.decl.loc223_87.1] { +// CHECK:STDOUT: fn @F.loc223_87.2(%x.param: %tuple.type.9c9) -> %return.param: %array_type.a41 [thunk @SelfNested.impl.6a5.%F.decl.loc223_87.1] { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %F.ref: %F.type.f90165.1 = name_ref F, @SelfNested.impl.6a5.%F.decl.loc223_87.1 [concrete = constants.%F.fa8d04.1] // CHECK:STDOUT: %x.ref: %tuple.type.9c9 = name_ref x, %x.param @@ -1358,9 +1358,9 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: return %F.call to %return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.23(%x.param: %tuple.type.eb9) -> %return.param: %array_type.a41; +// CHECK:STDOUT: fn @F.loc239_112.1(%x.param: %tuple.type.eb9) -> %return.param: %array_type.a41; // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.24(%x.param: %tuple.type.eb9) -> %return.param: %array_type.126 [thunk @SelfNested.impl.bfc.%F.decl.loc239_112.1] { +// CHECK:STDOUT: fn @F.loc239_112.2(%x.param: %tuple.type.eb9) -> %return.param: %array_type.126 [thunk @SelfNested.impl.bfc.%F.decl.loc239_112.1] { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %F.ref: %F.type.0e7d1d.1 = name_ref F, @SelfNested.impl.bfc.%F.decl.loc239_112.1 [concrete = constants.%F.0bc78a.1] // CHECK:STDOUT: %x.ref: %tuple.type.eb9 = name_ref x, %x.param @@ -1376,29 +1376,29 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: return to %return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%Self.826) {} +// CHECK:STDOUT: specific @F.loc15(constants.%Self.826) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%I.facet.fa4) {} +// CHECK:STDOUT: specific @F.loc15(constants.%I.facet.fa4) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%I.facet.ee5) {} +// CHECK:STDOUT: specific @F.loc15(constants.%I.facet.ee5) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%I.facet.d5c) {} +// CHECK:STDOUT: specific @F.loc15(constants.%I.facet.d5c) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.7(constants.%Self.ccd) {} +// CHECK:STDOUT: specific @F.loc103(constants.%Self.ccd) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.7(constants.%J.facet.94c) {} +// CHECK:STDOUT: specific @F.loc103(constants.%J.facet.94c) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.7(constants.%J.facet.e7e) {} +// CHECK:STDOUT: specific @F.loc103(constants.%J.facet.e7e) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.7(constants.%J.facet.974) {} +// CHECK:STDOUT: specific @F.loc103(constants.%J.facet.974) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.7(constants.%J.facet.37e) {} +// CHECK:STDOUT: specific @F.loc103(constants.%J.facet.37e) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.7(constants.%J.facet.bf1) {} +// CHECK:STDOUT: specific @F.loc103(constants.%J.facet.bf1) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.7(constants.%J.facet.67f) {} +// CHECK:STDOUT: specific @F.loc103(constants.%J.facet.67f) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.20(constants.%Self.2ff) { +// CHECK:STDOUT: specific @F.loc211(constants.%Self.2ff) { // CHECK:STDOUT: %Self => constants.%Self.2ff // CHECK:STDOUT: %Self.as_type.loc211_16.1 => constants.%Self.as_type.e1e // CHECK:STDOUT: %ptr.loc211_16.1 => constants.%ptr.e87 @@ -1409,7 +1409,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %pattern_type.loc211_41 => constants.%pattern_type.c7e // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.20(constants.%SelfNested.facet.608) { +// CHECK:STDOUT: specific @F.loc211(constants.%SelfNested.facet.608) { // CHECK:STDOUT: %Self => constants.%SelfNested.facet.608 // CHECK:STDOUT: %Self.as_type.loc211_16.1 => constants.%SelfNestedBadParam // CHECK:STDOUT: %ptr.loc211_16.1 => constants.%ptr.4cd @@ -1420,7 +1420,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %pattern_type.loc211_41 => constants.%pattern_type.1f1 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.20(constants.%SelfNested.facet.766) { +// CHECK:STDOUT: specific @F.loc211(constants.%SelfNested.facet.766) { // CHECK:STDOUT: %Self => constants.%SelfNested.facet.766 // CHECK:STDOUT: %Self.as_type.loc211_16.1 => constants.%SelfNestedBadReturnType // CHECK:STDOUT: %ptr.loc211_16.1 => constants.%ptr.612 diff --git a/toolchain/check/testdata/impl/fail_self_type_mismatch.carbon b/toolchain/check/testdata/impl/fail_self_type_mismatch.carbon index 274b299da6b2..3bccb67d9a9a 100644 --- a/toolchain/check/testdata/impl/fail_self_type_mismatch.carbon +++ b/toolchain/check/testdata/impl/fail_self_type_mismatch.carbon @@ -61,7 +61,7 @@ impl i32 as I { // CHECK:STDOUT: %pattern_type.2b5: type = pattern_type %I.type [concrete] // CHECK:STDOUT: %C.dbb: type = class_type @C, @C(%I.type, %Self.826) [symbolic] // CHECK:STDOUT: %pattern_type.4fb: type = pattern_type %C.dbb [symbolic] -// CHECK:STDOUT: %F.type.cf0: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.cf0: type = fn_type @F.loc25 [concrete] // CHECK:STDOUT: %F.bc6: %F.type.cf0 = struct_value () [concrete] // CHECK:STDOUT: %I.assoc_type: type = assoc_entity_type @I [concrete] // CHECK:STDOUT: %assoc0.82e: %I.assoc_type = assoc_entity element0, @I.%F.decl [concrete] @@ -71,7 +71,7 @@ impl i32 as I { // CHECK:STDOUT: %I.facet.e8a: %I.type = facet_value bool, (%I.impl_witness.c21) [concrete] // CHECK:STDOUT: %C.7db: type = class_type @C, @C(%I.type, %I.facet.e8a) [concrete] // CHECK:STDOUT: %pattern_type.225: type = pattern_type %C.7db [concrete] -// CHECK:STDOUT: %F.type.8ba: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.8ba: type = fn_type @F.loc32 [concrete] // CHECK:STDOUT: %F.2cf: %F.type.8ba = struct_value () [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] @@ -80,12 +80,12 @@ impl i32 as I { // CHECK:STDOUT: %I.impl_witness.863: = impl_witness file.%I.impl_witness_table.loc35 [concrete] // CHECK:STDOUT: %C.6fb: type = class_type @C, @C(type, %i32) [concrete] // CHECK:STDOUT: %pattern_type.52b: type = pattern_type %C.6fb [concrete] -// CHECK:STDOUT: %F.type.066a53.1: type = fn_type @F.3 [concrete] +// CHECK:STDOUT: %F.type.066a53.1: type = fn_type @F.loc43_18.1 [concrete] // CHECK:STDOUT: %F.9ec58f.1: %F.type.066a53.1 = struct_value () [concrete] // CHECK:STDOUT: %I.facet.118: %I.type = facet_value %i32, (%I.impl_witness.863) [concrete] // CHECK:STDOUT: %C.d88: type = class_type @C, @C(%I.type, %I.facet.118) [concrete] // CHECK:STDOUT: %pattern_type.c65: type = pattern_type %C.d88 [concrete] -// CHECK:STDOUT: %F.type.066a53.2: type = fn_type @F.4 [concrete] +// CHECK:STDOUT: %F.type.066a53.2: type = fn_type @F.loc43_18.2 [concrete] // CHECK:STDOUT: %F.9ec58f.2: %F.type.066a53.2 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.type.cc7: type = generic_interface_type @ImplicitAs [concrete] // CHECK:STDOUT: %ImplicitAs.generic: %ImplicitAs.type.cc7 = struct_value () [concrete] @@ -139,17 +139,17 @@ impl i32 as I { // CHECK:STDOUT: // CHECK:STDOUT: interface @I { // CHECK:STDOUT: %Self: %I.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.826] -// CHECK:STDOUT: %F.decl: %F.type.cf0 = fn_decl @F.1 [concrete = constants.%F.bc6] { -// CHECK:STDOUT: %c.patt: @F.1.%pattern_type (%pattern_type.4fb) = binding_pattern c [concrete] -// CHECK:STDOUT: %c.param_patt: @F.1.%pattern_type (%pattern_type.4fb) = value_param_pattern %c.patt, call_param0 [concrete] +// CHECK:STDOUT: %F.decl: %F.type.cf0 = fn_decl @F.loc25 [concrete = constants.%F.bc6] { +// CHECK:STDOUT: %c.patt: @F.loc25.%pattern_type (%pattern_type.4fb) = binding_pattern c [concrete] +// CHECK:STDOUT: %c.param_patt: @F.loc25.%pattern_type (%pattern_type.4fb) = value_param_pattern %c.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %c.param: @F.1.%C.loc25_17.1 (%C.dbb) = value_param call_param0 +// CHECK:STDOUT: %c.param: @F.loc25.%C.loc25_17.1 (%C.dbb) = value_param call_param0 // CHECK:STDOUT: %.loc25: type = splice_block %C.loc25_17.2 [symbolic = %C.loc25_17.1 (constants.%C.dbb)] { // CHECK:STDOUT: %C.ref: %C.type = name_ref C, file.%C.decl [concrete = constants.%C.generic] // CHECK:STDOUT: %Self.ref: %I.type = name_ref Self, @I.%Self [symbolic = %Self (constants.%Self.826)] // CHECK:STDOUT: %C.loc25_17.2: type = class_type @C, @C(constants.%I.type, constants.%Self.826) [symbolic = %C.loc25_17.1 (constants.%C.dbb)] // CHECK:STDOUT: } -// CHECK:STDOUT: %c: @F.1.%C.loc25_17.1 (%C.dbb) = bind_name c, %c.param +// CHECK:STDOUT: %c: @F.loc25.%C.loc25_17.1 (%C.dbb) = bind_name c, %c.param // CHECK:STDOUT: } // CHECK:STDOUT: %assoc0: %I.assoc_type = assoc_entity element0, %F.decl [concrete = constants.%assoc0.82e] // CHECK:STDOUT: @@ -161,7 +161,7 @@ impl i32 as I { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @I.impl.049: %.loc28_6.2 as %I.ref { -// CHECK:STDOUT: %F.decl: %F.type.8ba = fn_decl @F.2 [concrete = constants.%F.2cf] { +// CHECK:STDOUT: %F.decl: %F.type.8ba = fn_decl @F.loc32 [concrete = constants.%F.2cf] { // CHECK:STDOUT: %c.patt: %pattern_type.225 = binding_pattern c [concrete] // CHECK:STDOUT: %c.param_patt: %pattern_type.225 = value_param_pattern %c.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -185,7 +185,7 @@ impl i32 as I { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @I.impl.a9a: %i32 as %I.ref { -// CHECK:STDOUT: %F.decl.loc43_18.1: %F.type.066a53.1 = fn_decl @F.3 [concrete = constants.%F.9ec58f.1] { +// CHECK:STDOUT: %F.decl.loc43_18.1: %F.type.066a53.1 = fn_decl @F.loc43_18.1 [concrete = constants.%F.9ec58f.1] { // CHECK:STDOUT: %c.patt: %pattern_type.52b = binding_pattern c [concrete] // CHECK:STDOUT: %c.param_patt: %pattern_type.52b = value_param_pattern %c.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -198,7 +198,7 @@ impl i32 as I { // CHECK:STDOUT: } // CHECK:STDOUT: %c: %C.6fb = bind_name c, %c.param // CHECK:STDOUT: } -// CHECK:STDOUT: %F.decl.loc43_18.2: %F.type.066a53.2 = fn_decl @F.4 [concrete = constants.%F.9ec58f.2] { +// CHECK:STDOUT: %F.decl.loc43_18.2: %F.type.066a53.2 = fn_decl @F.loc43_18.2 [concrete = constants.%F.9ec58f.2] { // CHECK:STDOUT: %c.patt: %pattern_type.c65 = binding_pattern c [concrete] // CHECK:STDOUT: %c.param_patt: %pattern_type.c65 = value_param_pattern %c.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -229,19 +229,19 @@ impl i32 as I { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.1(@I.%Self: %I.type) { +// CHECK:STDOUT: generic fn @F.loc25(@I.%Self: %I.type) { // CHECK:STDOUT: %Self: %I.type = bind_symbolic_name Self, 0 [symbolic = %Self (constants.%Self.826)] // CHECK:STDOUT: %C.loc25_17.1: type = class_type @C, @C(constants.%I.type, %Self) [symbolic = %C.loc25_17.1 (constants.%C.dbb)] // CHECK:STDOUT: %pattern_type: type = pattern_type %C.loc25_17.1 [symbolic = %pattern_type (constants.%pattern_type.4fb)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%c.param: @F.1.%C.loc25_17.1 (%C.dbb)); +// CHECK:STDOUT: fn(%c.param: @F.loc25.%C.loc25_17.1 (%C.dbb)); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2(%c.param: %C.7db); +// CHECK:STDOUT: fn @F.loc32(%c.param: %C.7db); // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.3(%c.param: %C.6fb); +// CHECK:STDOUT: fn @F.loc43_18.1(%c.param: %C.6fb); // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.4(%c.param: %C.d88) [thunk @I.impl.a9a.%F.decl.loc43_18.1] { +// CHECK:STDOUT: fn @F.loc43_18.2(%c.param: %C.d88) [thunk @I.impl.a9a.%F.decl.loc43_18.1] { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %F.ref: %F.type.066a53.1 = name_ref F, @I.impl.a9a.%F.decl.loc43_18.1 [concrete = constants.%F.9ec58f.1] // CHECK:STDOUT: %c.ref: %C.d88 = name_ref c, %c.param @@ -262,7 +262,7 @@ impl i32 as I { // CHECK:STDOUT: %pattern_type => constants.%pattern_type.2b5 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%Self.826) { +// CHECK:STDOUT: specific @F.loc25(constants.%Self.826) { // CHECK:STDOUT: %Self => constants.%Self.826 // CHECK:STDOUT: %C.loc25_17.1 => constants.%C.dbb // CHECK:STDOUT: %pattern_type => constants.%pattern_type.4fb @@ -274,7 +274,7 @@ impl i32 as I { // CHECK:STDOUT: %pattern_type => constants.%pattern_type.2b5 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%I.facet.e8a) { +// CHECK:STDOUT: specific @F.loc25(constants.%I.facet.e8a) { // CHECK:STDOUT: %Self => constants.%I.facet.e8a // CHECK:STDOUT: %C.loc25_17.1 => constants.%C.7db // CHECK:STDOUT: %pattern_type => constants.%pattern_type.225 @@ -288,7 +288,7 @@ impl i32 as I { // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%I.facet.118) { +// CHECK:STDOUT: specific @F.loc25(constants.%I.facet.118) { // CHECK:STDOUT: %Self => constants.%I.facet.118 // CHECK:STDOUT: %C.loc25_17.1 => constants.%C.d88 // CHECK:STDOUT: %pattern_type => constants.%pattern_type.c65 diff --git a/toolchain/check/testdata/impl/forward_decls.carbon b/toolchain/check/testdata/impl/forward_decls.carbon index eb7e05d3f08d..a4de6d6b5f65 100644 --- a/toolchain/check/testdata/impl/forward_decls.carbon +++ b/toolchain/check/testdata/impl/forward_decls.carbon @@ -337,11 +337,11 @@ interface I { // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness file.%I.impl_witness_table [concrete] // CHECK:STDOUT: %Self: %I.type = bind_symbolic_name Self, 0 [symbolic] -// CHECK:STDOUT: %G.type.ccd: type = fn_type @G.1 [concrete] +// CHECK:STDOUT: %G.type.ccd: type = fn_type @G.loc7 [concrete] // CHECK:STDOUT: %G.600: %G.type.ccd = struct_value () [concrete] // CHECK:STDOUT: %I.assoc_type: type = assoc_entity_type @I [concrete] // CHECK:STDOUT: %assoc0: %I.assoc_type = assoc_entity element0, @I.%G.decl [concrete] -// CHECK:STDOUT: %G.type.d6f: type = fn_type @G.2 [concrete] +// CHECK:STDOUT: %G.type.d6f: type = fn_type @G.loc10 [concrete] // CHECK:STDOUT: %G.d07: %G.type.d6f = struct_value () [concrete] // CHECK:STDOUT: %I.facet: %I.type = facet_value %empty_struct_type, (%I.impl_witness) [concrete] // CHECK:STDOUT: } @@ -377,7 +377,7 @@ interface I { // CHECK:STDOUT: // CHECK:STDOUT: interface @I { // CHECK:STDOUT: %Self: %I.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self] -// CHECK:STDOUT: %G.decl: %G.type.ccd = fn_decl @G.1 [concrete = constants.%G.600] {} {} +// CHECK:STDOUT: %G.decl: %G.type.ccd = fn_decl @G.loc7 [concrete = constants.%G.600] {} {} // CHECK:STDOUT: %assoc0: %I.assoc_type = assoc_entity element0, %G.decl [concrete = constants.%assoc0] // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -387,25 +387,25 @@ interface I { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @I.impl: %.loc4_7.2 as %I.ref.loc4 { -// CHECK:STDOUT: %G.decl: %G.type.d6f = fn_decl @G.2 [concrete = constants.%G.d07] {} {} +// CHECK:STDOUT: %G.decl: %G.type.d6f = fn_decl @G.loc10 [concrete = constants.%G.d07] {} {} // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .G = %G.decl // CHECK:STDOUT: witness = file.%I.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @G.1(@I.%Self: %I.type) { +// CHECK:STDOUT: generic fn @G.loc7(@I.%Self: %I.type) { // CHECK:STDOUT: fn(); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @G.2() { +// CHECK:STDOUT: fn @G.loc10() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @G.1(constants.%Self) {} +// CHECK:STDOUT: specific @G.loc7(constants.%Self) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @G.1(constants.%I.facet) {} +// CHECK:STDOUT: specific @G.loc7(constants.%I.facet) {} // CHECK:STDOUT: // CHECK:STDOUT: --- combine.carbon // CHECK:STDOUT: diff --git a/toolchain/check/testdata/impl/impl_as.carbon b/toolchain/check/testdata/impl/impl_as.carbon index 422b3675c4c9..2208d980c349 100644 --- a/toolchain/check/testdata/impl/impl_as.carbon +++ b/toolchain/check/testdata/impl/impl_as.carbon @@ -30,14 +30,14 @@ class C { // CHECK:STDOUT: constants { // CHECK:STDOUT: %Simple.type: type = facet_type <@Simple> [concrete] // CHECK:STDOUT: %Self.3c9: %Simple.type = bind_symbolic_name Self, 0 [symbolic] -// CHECK:STDOUT: %F.type.e2e: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.e2e: type = fn_type @F.loc16 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %F.df8: %F.type.e2e = struct_value () [concrete] // CHECK:STDOUT: %Simple.assoc_type: type = assoc_entity_type @Simple [concrete] // CHECK:STDOUT: %assoc0.d57: %Simple.assoc_type = assoc_entity element0, @Simple.%F.decl [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %Simple.impl_witness: = impl_witness @C.%Simple.impl_witness_table [concrete] -// CHECK:STDOUT: %F.type.e4b: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.e4b: type = fn_type @F.loc21 [concrete] // CHECK:STDOUT: %F.c94: %F.type.e4b = struct_value () [concrete] // CHECK:STDOUT: %Simple.facet: %Simple.type = facet_value %C, (%Simple.impl_witness) [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] @@ -73,7 +73,7 @@ class C { // CHECK:STDOUT: // CHECK:STDOUT: interface @Simple { // CHECK:STDOUT: %Self: %Simple.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.3c9] -// CHECK:STDOUT: %F.decl: %F.type.e2e = fn_decl @F.1 [concrete = constants.%F.df8] {} {} +// CHECK:STDOUT: %F.decl: %F.type.e2e = fn_decl @F.loc16 [concrete = constants.%F.df8] {} {} // CHECK:STDOUT: %assoc0: %Simple.assoc_type = assoc_entity element0, %F.decl [concrete = constants.%assoc0.d57] // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -83,7 +83,7 @@ class C { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @Simple.impl: %Self.ref as %Simple.ref { -// CHECK:STDOUT: %F.decl: %F.type.e4b = fn_decl @F.2 [concrete = constants.%F.c94] {} {} +// CHECK:STDOUT: %F.decl: %F.type.e4b = fn_decl @F.loc21 [concrete = constants.%F.c94] {} {} // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .F = %F.decl @@ -108,11 +108,11 @@ class C { // CHECK:STDOUT: .C = // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.1(@Simple.%Self: %Simple.type) { +// CHECK:STDOUT: generic fn @F.loc16(@Simple.%Self: %Simple.type) { // CHECK:STDOUT: fn(); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2() { +// CHECK:STDOUT: fn @F.loc21() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.c48 = binding_pattern c [concrete] @@ -133,7 +133,7 @@ class C { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%Self.3c9) {} +// CHECK:STDOUT: specific @F.loc16(constants.%Self.3c9) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%Simple.facet) {} +// CHECK:STDOUT: specific @F.loc16(constants.%Simple.facet) {} // CHECK:STDOUT: diff --git a/toolchain/check/testdata/impl/impl_forall.carbon b/toolchain/check/testdata/impl/impl_forall.carbon index 1d63df578d41..5a5d858ba11f 100644 --- a/toolchain/check/testdata/impl/impl_forall.carbon +++ b/toolchain/check/testdata/impl/impl_forall.carbon @@ -25,14 +25,14 @@ impl forall [T:! type] T as Simple { // CHECK:STDOUT: constants { // CHECK:STDOUT: %Simple.type: type = facet_type <@Simple> [concrete] // CHECK:STDOUT: %Self: %Simple.type = bind_symbolic_name Self, 0 [symbolic] -// CHECK:STDOUT: %F.type.e2e: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.e2e: type = fn_type @F.loc16 [concrete] // CHECK:STDOUT: %F.df8: %F.type.e2e = struct_value () [concrete] // CHECK:STDOUT: %Simple.assoc_type: type = assoc_entity_type @Simple [concrete] // CHECK:STDOUT: %assoc0: %Simple.assoc_type = assoc_entity element0, @Simple.%F.decl [concrete] // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic] // CHECK:STDOUT: %pattern_type: type = pattern_type type [concrete] // CHECK:STDOUT: %Simple.impl_witness: = impl_witness file.%Simple.impl_witness_table, @Simple.impl(%T) [symbolic] -// CHECK:STDOUT: %F.type.1e1: type = fn_type @F.2, @Simple.impl(%T) [symbolic] +// CHECK:STDOUT: %F.type.1e1: type = fn_type @F.loc20, @Simple.impl(%T) [symbolic] // CHECK:STDOUT: %F.4c3: %F.type.1e1 = struct_value () [symbolic] // CHECK:STDOUT: %Simple.facet: %Simple.type = facet_value %T, (%Simple.impl_witness) [symbolic] // CHECK:STDOUT: } @@ -55,7 +55,7 @@ impl forall [T:! type] T as Simple { // CHECK:STDOUT: // CHECK:STDOUT: interface @Simple { // CHECK:STDOUT: %Self: %Simple.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self] -// CHECK:STDOUT: %F.decl: %F.type.e2e = fn_decl @F.1 [concrete = constants.%F.df8] {} {} +// CHECK:STDOUT: %F.decl: %F.type.e2e = fn_decl @F.loc16 [concrete = constants.%F.df8] {} {} // CHECK:STDOUT: %assoc0: %Simple.assoc_type = assoc_entity element0, %F.decl [concrete = constants.%assoc0] // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -69,11 +69,11 @@ impl forall [T:! type] T as Simple { // CHECK:STDOUT: %Simple.impl_witness: = impl_witness file.%Simple.impl_witness_table, @Simple.impl(%T.loc19_14.2) [symbolic = %Simple.impl_witness (constants.%Simple.impl_witness)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %F.type: type = fn_type @F.2, @Simple.impl(%T.loc19_14.2) [symbolic = %F.type (constants.%F.type.1e1)] +// CHECK:STDOUT: %F.type: type = fn_type @F.loc20, @Simple.impl(%T.loc19_14.2) [symbolic = %F.type (constants.%F.type.1e1)] // CHECK:STDOUT: %F: @Simple.impl.%F.type (%F.type.1e1) = struct_value () [symbolic = %F (constants.%F.4c3)] // CHECK:STDOUT: // CHECK:STDOUT: impl: %T.ref as %Simple.ref { -// CHECK:STDOUT: %F.decl: @Simple.impl.%F.type (%F.type.1e1) = fn_decl @F.2 [symbolic = @Simple.impl.%F (constants.%F.4c3)] {} {} +// CHECK:STDOUT: %F.decl: @Simple.impl.%F.type (%F.type.1e1) = fn_decl @F.loc20 [symbolic = @Simple.impl.%F (constants.%F.4c3)] {} {} // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .F = %F.decl @@ -81,11 +81,11 @@ impl forall [T:! type] T as Simple { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.1(@Simple.%Self: %Simple.type) { +// CHECK:STDOUT: generic fn @F.loc16(@Simple.%Self: %Simple.type) { // CHECK:STDOUT: fn(); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.2(@Simple.impl.%T.loc19_14.1: type) { +// CHECK:STDOUT: generic fn @F.loc20(@Simple.impl.%T.loc19_14.1: type) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: // CHECK:STDOUT: fn() { @@ -94,7 +94,7 @@ impl forall [T:! type] T as Simple { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%Self) {} +// CHECK:STDOUT: specific @F.loc16(constants.%Self) {} // CHECK:STDOUT: // CHECK:STDOUT: specific @Simple.impl(constants.%T) { // CHECK:STDOUT: %T.loc19_14.2 => constants.%T @@ -105,7 +105,7 @@ impl forall [T:! type] T as Simple { // CHECK:STDOUT: %F => constants.%F.4c3 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.2(constants.%T) {} +// CHECK:STDOUT: specific @F.loc20(constants.%T) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%Simple.facet) {} +// CHECK:STDOUT: specific @F.loc16(constants.%Simple.facet) {} // CHECK:STDOUT: diff --git a/toolchain/check/testdata/impl/impl_thunk.carbon b/toolchain/check/testdata/impl/impl_thunk.carbon index dbee9a44d07e..83b163fc1658 100644 --- a/toolchain/check/testdata/impl/impl_thunk.carbon +++ b/toolchain/check/testdata/impl/impl_thunk.carbon @@ -322,9 +322,9 @@ impl () as I({}) { // CHECK:STDOUT: %pattern_type.231: type = pattern_type %struct_type.b.a.40c [concrete] // CHECK:STDOUT: %struct_type.d.c.b36: type = struct_type {.d: %empty_struct_type, .c: %empty_tuple.type} [concrete] // CHECK:STDOUT: %pattern_type.844: type = pattern_type %struct_type.d.c.b36 [concrete] -// CHECK:STDOUT: %F.type.39e918.1: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.39e918.1: type = fn_type @F.loc10_48.1 [concrete] // CHECK:STDOUT: %F.c04b92.1: %F.type.39e918.1 = struct_value () [concrete] -// CHECK:STDOUT: %F.type.39e918.2: type = fn_type @F.3 [concrete] +// CHECK:STDOUT: %F.type.39e918.2: type = fn_type @F.loc10_48.2 [concrete] // CHECK:STDOUT: %F.c04b92.2: %F.type.39e918.2 = struct_value () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] @@ -338,7 +338,7 @@ impl () as I({}) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @I.impl: %.loc8_7.2 as %I.ref { -// CHECK:STDOUT: %F.decl.loc10_48.1: %F.type.39e918.1 = fn_decl @F.2 [concrete = constants.%F.c04b92.1] { +// CHECK:STDOUT: %F.decl.loc10_48.1: %F.type.39e918.1 = fn_decl @F.loc10_48.1 [concrete = constants.%F.c04b92.1] { // CHECK:STDOUT: %y.patt: %pattern_type.231 = binding_pattern y [concrete] // CHECK:STDOUT: %y.param_patt: %pattern_type.231 = value_param_pattern %y.patt, call_param0 [concrete] // CHECK:STDOUT: %return.patt: %pattern_type.844 = return_slot_pattern [concrete] @@ -361,7 +361,7 @@ impl () as I({}) { // CHECK:STDOUT: %return.param: ref %struct_type.d.c.b36 = out_param call_param1 // CHECK:STDOUT: %return: ref %struct_type.d.c.b36 = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %F.decl.loc10_48.2: %F.type.39e918.2 = fn_decl @F.3 [concrete = constants.%F.c04b92.2] { +// CHECK:STDOUT: %F.decl.loc10_48.2: %F.type.39e918.2 = fn_decl @F.loc10_48.2 [concrete = constants.%F.c04b92.2] { // CHECK:STDOUT: // CHECK:STDOUT: } { // CHECK:STDOUT: @@ -372,9 +372,9 @@ impl () as I({}) { // CHECK:STDOUT: witness = file.%I.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2(%y.param: %struct_type.b.a.40c) -> %return.param: %struct_type.d.c.b36; +// CHECK:STDOUT: fn @F.loc10_48.1(%y.param: %struct_type.b.a.40c) -> %return.param: %struct_type.d.c.b36; // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.3(%x.param: %struct_type.a.b.391) -> %return.param: %struct_type.c.d.15a [thunk @I.impl.%F.decl.loc10_48.1] { +// CHECK:STDOUT: fn @F.loc10_48.2(%x.param: %struct_type.a.b.391) -> %return.param: %struct_type.c.d.15a [thunk @I.impl.%F.decl.loc10_48.1] { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %F.ref: %F.type.39e918.1 = name_ref F, @I.impl.%F.decl.loc10_48.1 [concrete = constants.%F.c04b92.1] // CHECK:STDOUT: @@ -411,10 +411,10 @@ impl () as I({}) { // CHECK:STDOUT: %pattern_type.5f8: type = pattern_type %ptr.6db [concrete] // CHECK:STDOUT: %ptr.019: type = ptr_type %C [concrete] // CHECK:STDOUT: %pattern_type.44a: type = pattern_type %ptr.019 [concrete] -// CHECK:STDOUT: %F.type.f1b0b1.1: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.f1b0b1.1: type = fn_type @F.loc14_39.1 [concrete] // CHECK:STDOUT: %F.5161e9.1: %F.type.f1b0b1.1 = struct_value () [concrete] // CHECK:STDOUT: %ptr.e79: type = ptr_type %B [concrete] -// CHECK:STDOUT: %F.type.f1b0b1.2: type = fn_type @F.3 [concrete] +// CHECK:STDOUT: %F.type.f1b0b1.2: type = fn_type @F.loc14_39.2 [concrete] // CHECK:STDOUT: %F.5161e9.2: %F.type.f1b0b1.2 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -422,7 +422,7 @@ impl () as I({}) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @X.impl: %B.ref as %X.ref { -// CHECK:STDOUT: %F.decl.loc14_39.1: %F.type.f1b0b1.1 = fn_decl @F.2 [concrete = constants.%F.5161e9.1] { +// CHECK:STDOUT: %F.decl.loc14_39.1: %F.type.f1b0b1.1 = fn_decl @F.loc14_39.1 [concrete = constants.%F.5161e9.1] { // CHECK:STDOUT: %self.patt: %pattern_type.5f8 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.5f8 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %.loc14_8: %pattern_type.f6d = addr_pattern %self.param_patt [concrete] @@ -448,7 +448,7 @@ impl () as I({}) { // CHECK:STDOUT: %return.param: ref %ptr.019 = out_param call_param2 // CHECK:STDOUT: %return: ref %ptr.019 = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %F.decl.loc14_39.2: %F.type.f1b0b1.2 = fn_decl @F.3 [concrete = constants.%F.5161e9.2] { +// CHECK:STDOUT: %F.decl.loc14_39.2: %F.type.f1b0b1.2 = fn_decl @F.loc14_39.2 [concrete = constants.%F.5161e9.2] { // CHECK:STDOUT: // CHECK:STDOUT: } { // CHECK:STDOUT: @@ -461,9 +461,9 @@ impl () as I({}) { // CHECK:STDOUT: witness = file.%X.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2(%self.param: %ptr.6db, %other.param: %ptr.6db) -> %ptr.019; +// CHECK:STDOUT: fn @F.loc14_39.1(%self.param: %ptr.6db, %other.param: %ptr.6db) -> %ptr.019; // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.3(%self.param: %ptr.e79, %other.param: %ptr.e79) -> %ptr.e79 [thunk @X.impl.%F.decl.loc14_39.1] { +// CHECK:STDOUT: fn @F.loc14_39.2(%self.param: %ptr.e79, %other.param: %ptr.e79) -> %ptr.e79 [thunk @X.impl.%F.decl.loc14_39.1] { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %F.ref: %F.type.f1b0b1.1 = name_ref F, @X.impl.%F.decl.loc14_39.1 [concrete = constants.%F.5161e9.1] // CHECK:STDOUT: @@ -486,9 +486,9 @@ impl () as I({}) { // CHECK:STDOUT: %B: type = class_type @B [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %pattern_type.c10: type = pattern_type %A [concrete] -// CHECK:STDOUT: %F.type.f1b0b1.1: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.f1b0b1.1: type = fn_type @F.loc13_26.1 [concrete] // CHECK:STDOUT: %F.5161e9.1: %F.type.f1b0b1.1 = struct_value () [concrete] -// CHECK:STDOUT: %F.type.f1b0b1.2: type = fn_type @F.3 [concrete] +// CHECK:STDOUT: %F.type.f1b0b1.2: type = fn_type @F.loc13_26.2 [concrete] // CHECK:STDOUT: %F.5161e9.2: %F.type.f1b0b1.2 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -496,7 +496,7 @@ impl () as I({}) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @X.impl: %B.ref as %X.ref { -// CHECK:STDOUT: %F.decl.loc13_26.1: %F.type.f1b0b1.1 = fn_decl @F.2 [concrete = constants.%F.5161e9.1] { +// CHECK:STDOUT: %F.decl.loc13_26.1: %F.type.f1b0b1.1 = fn_decl @F.loc13_26.1 [concrete = constants.%F.5161e9.1] { // CHECK:STDOUT: %self.patt: %pattern_type.c10 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.c10 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %other.patt: %pattern_type.c10 = binding_pattern other [concrete] @@ -509,7 +509,7 @@ impl () as I({}) { // CHECK:STDOUT: %A.ref.loc13_24: type = name_ref A, file.%A.decl [concrete = constants.%A] // CHECK:STDOUT: %other: %A = bind_name other, %other.param // CHECK:STDOUT: } -// CHECK:STDOUT: %F.decl.loc13_26.2: %F.type.f1b0b1.2 = fn_decl @F.3 [concrete = constants.%F.5161e9.2] { +// CHECK:STDOUT: %F.decl.loc13_26.2: %F.type.f1b0b1.2 = fn_decl @F.loc13_26.2 [concrete = constants.%F.5161e9.2] { // CHECK:STDOUT: // CHECK:STDOUT: } { // CHECK:STDOUT: @@ -521,9 +521,9 @@ impl () as I({}) { // CHECK:STDOUT: witness = file.%X.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2(%self.param: %A, %other.param: %A); +// CHECK:STDOUT: fn @F.loc13_26.1(%self.param: %A, %other.param: %A); // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.3(%self.param: %B, %other.param: %B) [thunk @X.impl.%F.decl.loc13_26.1] { +// CHECK:STDOUT: fn @F.loc13_26.2(%self.param: %B, %other.param: %B) [thunk @X.impl.%F.decl.loc13_26.1] { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %F.ref: %F.type.f1b0b1.1 = name_ref F, @X.impl.%F.decl.loc13_26.1 [concrete = constants.%F.5161e9.1] // CHECK:STDOUT: @@ -544,10 +544,10 @@ impl () as I({}) { // CHECK:STDOUT: %pattern_type.5f8: type = pattern_type %ptr.6db [concrete] // CHECK:STDOUT: %ptr.019: type = ptr_type %C [concrete] // CHECK:STDOUT: %pattern_type.44a: type = pattern_type %ptr.019 [concrete] -// CHECK:STDOUT: %F.type.f1b0b1.1: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.f1b0b1.1: type = fn_type @F.loc14_39.1 [concrete] // CHECK:STDOUT: %F.5161e9.1: %F.type.f1b0b1.1 = struct_value () [concrete] // CHECK:STDOUT: %ptr.e79: type = ptr_type %B [concrete] -// CHECK:STDOUT: %F.type.f1b0b1.2: type = fn_type @F.3 [concrete] +// CHECK:STDOUT: %F.type.f1b0b1.2: type = fn_type @F.loc14_39.2 [concrete] // CHECK:STDOUT: %F.5161e9.2: %F.type.f1b0b1.2 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -555,7 +555,7 @@ impl () as I({}) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @X.impl: %B.ref as %X.ref { -// CHECK:STDOUT: %F.decl.loc14_39.1: %F.type.f1b0b1.1 = fn_decl @F.2 [concrete = constants.%F.5161e9.1] { +// CHECK:STDOUT: %F.decl.loc14_39.1: %F.type.f1b0b1.1 = fn_decl @F.loc14_39.1 [concrete = constants.%F.5161e9.1] { // CHECK:STDOUT: %self.patt: %pattern_type.5f8 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.5f8 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %.loc14_8: %pattern_type.f6d = addr_pattern %self.param_patt [concrete] @@ -581,7 +581,7 @@ impl () as I({}) { // CHECK:STDOUT: %return.param: ref %ptr.019 = out_param call_param2 // CHECK:STDOUT: %return: ref %ptr.019 = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %F.decl.loc14_39.2: %F.type.f1b0b1.2 = fn_decl @F.3 [concrete = constants.%F.5161e9.2] { +// CHECK:STDOUT: %F.decl.loc14_39.2: %F.type.f1b0b1.2 = fn_decl @F.loc14_39.2 [concrete = constants.%F.5161e9.2] { // CHECK:STDOUT: // CHECK:STDOUT: } { // CHECK:STDOUT: @@ -594,9 +594,9 @@ impl () as I({}) { // CHECK:STDOUT: witness = file.%X.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2(%self.param: %ptr.6db, %other.param: %ptr.6db) -> %ptr.019; +// CHECK:STDOUT: fn @F.loc14_39.1(%self.param: %ptr.6db, %other.param: %ptr.6db) -> %ptr.019; // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.3(%self.param: %ptr.e79, %other.param: %ptr.e79) -> %ptr.e79 [thunk @X.impl.%F.decl.loc14_39.1] { +// CHECK:STDOUT: fn @F.loc14_39.2(%self.param: %ptr.e79, %other.param: %ptr.e79) -> %ptr.e79 [thunk @X.impl.%F.decl.loc14_39.1] { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %F.ref: %F.type.f1b0b1.1 = name_ref F, @X.impl.%F.decl.loc14_39.1 [concrete = constants.%F.5161e9.1] // CHECK:STDOUT: @@ -619,9 +619,9 @@ impl () as I({}) { // CHECK:STDOUT: %B: type = class_type @B [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %pattern_type.049: type = pattern_type %B [concrete] -// CHECK:STDOUT: %F.type.b24d6f.1: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.b24d6f.1: type = fn_type @F.loc20_14.1 [concrete] // CHECK:STDOUT: %F.77e9d5.1: %F.type.b24d6f.1 = struct_value () [concrete] -// CHECK:STDOUT: %F.type.b24d6f.2: type = fn_type @F.3 [concrete] +// CHECK:STDOUT: %F.type.b24d6f.2: type = fn_type @F.loc20_14.2 [concrete] // CHECK:STDOUT: %F.77e9d5.2: %F.type.b24d6f.2 = struct_value () [concrete] // CHECK:STDOUT: %Op.type.1a6: type = fn_type @Op.2, @Destroy.impl(%B) [concrete] // CHECK:STDOUT: %Op.3c2: %Op.type.1a6 = struct_value () [concrete] @@ -632,7 +632,7 @@ impl () as I({}) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @X.impl: %A.ref as %X.ref { -// CHECK:STDOUT: %F.decl.loc20_14.1: %F.type.b24d6f.1 = fn_decl @F.2 [concrete = constants.%F.77e9d5.1] { +// CHECK:STDOUT: %F.decl.loc20_14.1: %F.type.b24d6f.1 = fn_decl @F.loc20_14.1 [concrete = constants.%F.77e9d5.1] { // CHECK:STDOUT: %return.patt: %pattern_type.049 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.049 = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -640,7 +640,7 @@ impl () as I({}) { // CHECK:STDOUT: %return.param: ref %B = out_param call_param0 // CHECK:STDOUT: %return: ref %B = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %F.decl.loc20_14.2: %F.type.b24d6f.2 = fn_decl @F.3 [concrete = constants.%F.77e9d5.2] { +// CHECK:STDOUT: %F.decl.loc20_14.2: %F.type.b24d6f.2 = fn_decl @F.loc20_14.2 [concrete = constants.%F.77e9d5.2] { // CHECK:STDOUT: // CHECK:STDOUT: } { // CHECK:STDOUT: @@ -652,9 +652,9 @@ impl () as I({}) { // CHECK:STDOUT: witness = file.%X.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2() -> %return.param: %B; +// CHECK:STDOUT: fn @F.loc20_14.1() -> %return.param: %B; // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.3() -> %return.param: %A [thunk @X.impl.%F.decl.loc20_14.1] { +// CHECK:STDOUT: fn @F.loc20_14.2() -> %return.param: %A [thunk @X.impl.%F.decl.loc20_14.1] { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %F.ref: %F.type.b24d6f.1 = name_ref F, @X.impl.%F.decl.loc20_14.1 [concrete = constants.%F.77e9d5.1] // CHECK:STDOUT: @@ -678,38 +678,38 @@ impl () as I({}) { // CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] // CHECK:STDOUT: %U: type = bind_symbolic_name U, 0 [symbolic] // CHECK:STDOUT: %pattern_type.7dc: type = pattern_type %U [symbolic] -// CHECK:STDOUT: %F.type.39e918.1: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.39e918.1: type = fn_type @F.loc10_29.1 [concrete] // CHECK:STDOUT: %F.c04b92.1: %F.type.39e918.1 = struct_value () [concrete] // CHECK:STDOUT: %T.8b3: type = bind_symbolic_name T, 0 [symbolic] // CHECK:STDOUT: %ptr.79f: type = ptr_type %T.8b3 [symbolic] // CHECK:STDOUT: %pattern_type.afe: type = pattern_type %ptr.79f [symbolic] -// CHECK:STDOUT: %F.type.39e918.2: type = fn_type @F.3 [concrete] +// CHECK:STDOUT: %F.type.39e918.2: type = fn_type @F.loc10_29.2 [concrete] // CHECK:STDOUT: %F.c04b92.2: %F.type.39e918.2 = struct_value () [concrete] // CHECK:STDOUT: %require_complete.4ae: = require_complete_type %U [symbolic] // CHECK:STDOUT: %require_complete.6e5: = require_complete_type %ptr.79f [symbolic] -// CHECK:STDOUT: %F.specific_fn: = specific_function %F.c04b92.1, @F.2(%ptr.79f) [symbolic] +// CHECK:STDOUT: %F.specific_fn: = specific_function %F.c04b92.1, @F.loc10_29.1(%ptr.79f) [symbolic] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @I.impl: %.loc8_7.2 as %I.ref { -// CHECK:STDOUT: %F.decl.loc10_29.1: %F.type.39e918.1 = fn_decl @F.2 [concrete = constants.%F.c04b92.1] { +// CHECK:STDOUT: %F.decl.loc10_29.1: %F.type.39e918.1 = fn_decl @F.loc10_29.1 [concrete = constants.%F.c04b92.1] { // CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 0 [concrete] -// CHECK:STDOUT: %x.patt: @F.2.%pattern_type (%pattern_type.7dc) = binding_pattern x [concrete] -// CHECK:STDOUT: %x.param_patt: @F.2.%pattern_type (%pattern_type.7dc) = value_param_pattern %x.patt, call_param0 [concrete] -// CHECK:STDOUT: %return.patt: @F.2.%pattern_type (%pattern_type.7dc) = return_slot_pattern [concrete] -// CHECK:STDOUT: %return.param_patt: @F.2.%pattern_type (%pattern_type.7dc) = out_param_pattern %return.patt, call_param1 [concrete] +// CHECK:STDOUT: %x.patt: @F.loc10_29.1.%pattern_type (%pattern_type.7dc) = binding_pattern x [concrete] +// CHECK:STDOUT: %x.param_patt: @F.loc10_29.1.%pattern_type (%pattern_type.7dc) = value_param_pattern %x.patt, call_param0 [concrete] +// CHECK:STDOUT: %return.patt: @F.loc10_29.1.%pattern_type (%pattern_type.7dc) = return_slot_pattern [concrete] +// CHECK:STDOUT: %return.param_patt: @F.loc10_29.1.%pattern_type (%pattern_type.7dc) = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %U.ref.loc10_27: type = name_ref U, %U.loc10_8.2 [symbolic = %U.loc10_8.1 (constants.%U)] // CHECK:STDOUT: %U.loc10_8.2: type = bind_symbolic_name U, 0 [symbolic = %U.loc10_8.1 (constants.%U)] -// CHECK:STDOUT: %x.param: @F.2.%U.loc10_8.1 (%U) = value_param call_param0 +// CHECK:STDOUT: %x.param: @F.loc10_29.1.%U.loc10_8.1 (%U) = value_param call_param0 // CHECK:STDOUT: %U.ref.loc10_21: type = name_ref U, %U.loc10_8.2 [symbolic = %U.loc10_8.1 (constants.%U)] -// CHECK:STDOUT: %x: @F.2.%U.loc10_8.1 (%U) = bind_name x, %x.param -// CHECK:STDOUT: %return.param: ref @F.2.%U.loc10_8.1 (%U) = out_param call_param1 -// CHECK:STDOUT: %return: ref @F.2.%U.loc10_8.1 (%U) = return_slot %return.param +// CHECK:STDOUT: %x: @F.loc10_29.1.%U.loc10_8.1 (%U) = bind_name x, %x.param +// CHECK:STDOUT: %return.param: ref @F.loc10_29.1.%U.loc10_8.1 (%U) = out_param call_param1 +// CHECK:STDOUT: %return: ref @F.loc10_29.1.%U.loc10_8.1 (%U) = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %F.decl.loc10_29.2: %F.type.39e918.2 = fn_decl @F.3 [concrete = constants.%F.c04b92.2] { +// CHECK:STDOUT: %F.decl.loc10_29.2: %F.type.39e918.2 = fn_decl @F.loc10_29.2 [concrete = constants.%F.c04b92.2] { // CHECK:STDOUT: // CHECK:STDOUT: } { // CHECK:STDOUT: @@ -720,51 +720,51 @@ impl () as I({}) { // CHECK:STDOUT: witness = file.%I.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.2(%U.loc10_8.2: type) { +// CHECK:STDOUT: generic fn @F.loc10_29.1(%U.loc10_8.2: type) { // CHECK:STDOUT: %U.loc10_8.1: type = bind_symbolic_name U, 0 [symbolic = %U.loc10_8.1 (constants.%U)] // CHECK:STDOUT: %pattern_type: type = pattern_type %U.loc10_8.1 [symbolic = %pattern_type (constants.%pattern_type.7dc)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type %U.loc10_8.1 [symbolic = %require_complete (constants.%require_complete.4ae)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%x.param: @F.2.%U.loc10_8.1 (%U)) -> @F.2.%U.loc10_8.1 (%U) { +// CHECK:STDOUT: fn(%x.param: @F.loc10_29.1.%U.loc10_8.1 (%U)) -> @F.loc10_29.1.%U.loc10_8.1 (%U) { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %x.ref: @F.2.%U.loc10_8.1 (%U) = name_ref x, %x +// CHECK:STDOUT: %x.ref: @F.loc10_29.1.%U.loc10_8.1 (%U) = name_ref x, %x // CHECK:STDOUT: return %x.ref // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.3(%T.loc5_8.2: type) { +// CHECK:STDOUT: generic fn @F.loc10_29.2(%T.loc5_8.2: type) { // CHECK:STDOUT: // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %F.specific_fn.loc10_29.2: = specific_function constants.%F.c04b92.1, @F.2(%ptr) [symbolic = %F.specific_fn.loc10_29.2 (constants.%F.specific_fn)] +// CHECK:STDOUT: %F.specific_fn.loc10_29.2: = specific_function constants.%F.c04b92.1, @F.loc10_29.1(%ptr) [symbolic = %F.specific_fn.loc10_29.2 (constants.%F.specific_fn)] // CHECK:STDOUT: // CHECK:STDOUT: -// CHECK:STDOUT: fn(%x.param: @F.3.%ptr (%ptr.79f)) -> @F.3.%ptr (%ptr.79f) [thunk @I.impl.%F.decl.loc10_29.1] { +// CHECK:STDOUT: fn(%x.param: @F.loc10_29.2.%ptr (%ptr.79f)) -> @F.loc10_29.2.%ptr (%ptr.79f) [thunk @I.impl.%F.decl.loc10_29.1] { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %F.ref: %F.type.39e918.1 = name_ref F, @I.impl.%F.decl.loc10_29.1 [concrete = constants.%F.c04b92.1] // CHECK:STDOUT: -// CHECK:STDOUT: %F.specific_fn.loc10_29.1: = specific_function %F.ref, @F.2(constants.%ptr.79f) [symbolic = %F.specific_fn.loc10_29.2 (constants.%F.specific_fn)] -// CHECK:STDOUT: %F.call: init @F.3.%ptr (%ptr.79f) = call %F.specific_fn.loc10_29.1(%x.ref) -// CHECK:STDOUT: %.loc10_29.1: @F.3.%ptr (%ptr.79f) = value_of_initializer %F.call -// CHECK:STDOUT: %.loc10_29.2: @F.3.%ptr (%ptr.79f) = converted %F.call, %.loc10_29.1 +// CHECK:STDOUT: %F.specific_fn.loc10_29.1: = specific_function %F.ref, @F.loc10_29.1(constants.%ptr.79f) [symbolic = %F.specific_fn.loc10_29.2 (constants.%F.specific_fn)] +// CHECK:STDOUT: %F.call: init @F.loc10_29.2.%ptr (%ptr.79f) = call %F.specific_fn.loc10_29.1(%x.ref) +// CHECK:STDOUT: %.loc10_29.1: @F.loc10_29.2.%ptr (%ptr.79f) = value_of_initializer %F.call +// CHECK:STDOUT: %.loc10_29.2: @F.loc10_29.2.%ptr (%ptr.79f) = converted %F.call, %.loc10_29.1 // CHECK:STDOUT: return %.loc10_29.2 // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.2(constants.%U) { +// CHECK:STDOUT: specific @F.loc10_29.1(constants.%U) { // CHECK:STDOUT: %U.loc10_8.1 => constants.%U // CHECK:STDOUT: %pattern_type => constants.%pattern_type.7dc // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.3(constants.%T.8b3) { +// CHECK:STDOUT: specific @F.loc10_29.2(constants.%T.8b3) { // CHECK:STDOUT: %T.loc5_8.1 => constants.%T.8b3 // CHECK:STDOUT: %ptr => constants.%ptr.79f // CHECK:STDOUT: %pattern_type => constants.%pattern_type.afe // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.2(constants.%ptr.79f) { +// CHECK:STDOUT: specific @F.loc10_29.1(constants.%ptr.79f) { // CHECK:STDOUT: %U.loc10_8.1 => constants.%ptr.79f // CHECK:STDOUT: %pattern_type => constants.%pattern_type.afe // CHECK:STDOUT: @@ -780,12 +780,12 @@ impl () as I({}) { // CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] // CHECK:STDOUT: %U: type = bind_symbolic_name U, 0 [symbolic] // CHECK:STDOUT: %pattern_type.7dc: type = pattern_type %U [symbolic] -// CHECK:STDOUT: %F.type.39e918.1: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.39e918.1: type = fn_type @F.loc19_39.1 [concrete] // CHECK:STDOUT: %F.c04b92.1: %F.type.39e918.1 = struct_value () [concrete] // CHECK:STDOUT: %T.8b3: type = bind_symbolic_name T, 0 [symbolic] // CHECK:STDOUT: %ptr.79f: type = ptr_type %T.8b3 [symbolic] // CHECK:STDOUT: %pattern_type.afe: type = pattern_type %ptr.79f [symbolic] -// CHECK:STDOUT: %F.type.39e918.2: type = fn_type @F.3 [concrete] +// CHECK:STDOUT: %F.type.39e918.2: type = fn_type @F.loc19_39.2 [concrete] // CHECK:STDOUT: %F.c04b92.2: %F.type.39e918.2 = struct_value () [concrete] // CHECK:STDOUT: %require_complete.4ae: = require_complete_type %U [symbolic] // CHECK:STDOUT: } @@ -794,14 +794,14 @@ impl () as I({}) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @I.impl: %.loc10_7.2 as %I.ref { -// CHECK:STDOUT: %F.decl.loc19_39.1: %F.type.39e918.1 = fn_decl @F.2 [concrete = constants.%F.c04b92.1] { +// CHECK:STDOUT: %F.decl.loc19_39.1: %F.type.39e918.1 = fn_decl @F.loc19_39.1 [concrete = constants.%F.c04b92.1] { // CHECK:STDOUT: %self.patt: %pattern_type.cb1 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.cb1 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 0 [concrete] -// CHECK:STDOUT: %x.patt: @F.2.%pattern_type (%pattern_type.7dc) = binding_pattern x [concrete] -// CHECK:STDOUT: %x.param_patt: @F.2.%pattern_type (%pattern_type.7dc) = value_param_pattern %x.patt, call_param1 [concrete] -// CHECK:STDOUT: %return.patt: @F.2.%pattern_type (%pattern_type.7dc) = return_slot_pattern [concrete] -// CHECK:STDOUT: %return.param_patt: @F.2.%pattern_type (%pattern_type.7dc) = out_param_pattern %return.patt, call_param2 [concrete] +// CHECK:STDOUT: %x.patt: @F.loc19_39.1.%pattern_type (%pattern_type.7dc) = binding_pattern x [concrete] +// CHECK:STDOUT: %x.param_patt: @F.loc19_39.1.%pattern_type (%pattern_type.7dc) = value_param_pattern %x.patt, call_param1 [concrete] +// CHECK:STDOUT: %return.patt: @F.loc19_39.1.%pattern_type (%pattern_type.7dc) = return_slot_pattern [concrete] +// CHECK:STDOUT: %return.param_patt: @F.loc19_39.1.%pattern_type (%pattern_type.7dc) = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %U.ref.loc19_37: type = name_ref U, %U.loc19_18.2 [symbolic = %U.loc19_18.1 (constants.%U)] // CHECK:STDOUT: %self.param: %empty_tuple.type = value_param call_param0 @@ -811,13 +811,13 @@ impl () as I({}) { // CHECK:STDOUT: } // CHECK:STDOUT: %self: %empty_tuple.type = bind_name self, %self.param // CHECK:STDOUT: %U.loc19_18.2: type = bind_symbolic_name U, 0 [symbolic = %U.loc19_18.1 (constants.%U)] -// CHECK:STDOUT: %x.param: @F.2.%U.loc19_18.1 (%U) = value_param call_param1 +// CHECK:STDOUT: %x.param: @F.loc19_39.1.%U.loc19_18.1 (%U) = value_param call_param1 // CHECK:STDOUT: %U.ref.loc19_31: type = name_ref U, %U.loc19_18.2 [symbolic = %U.loc19_18.1 (constants.%U)] -// CHECK:STDOUT: %x: @F.2.%U.loc19_18.1 (%U) = bind_name x, %x.param -// CHECK:STDOUT: %return.param: ref @F.2.%U.loc19_18.1 (%U) = out_param call_param2 -// CHECK:STDOUT: %return: ref @F.2.%U.loc19_18.1 (%U) = return_slot %return.param +// CHECK:STDOUT: %x: @F.loc19_39.1.%U.loc19_18.1 (%U) = bind_name x, %x.param +// CHECK:STDOUT: %return.param: ref @F.loc19_39.1.%U.loc19_18.1 (%U) = out_param call_param2 +// CHECK:STDOUT: %return: ref @F.loc19_39.1.%U.loc19_18.1 (%U) = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %F.decl.loc19_39.2: %F.type.39e918.2 = fn_decl @F.3 [concrete = constants.%F.c04b92.2] { +// CHECK:STDOUT: %F.decl.loc19_39.2: %F.type.39e918.2 = fn_decl @F.loc19_39.2 [concrete = constants.%F.c04b92.2] { // CHECK:STDOUT: // CHECK:STDOUT: } { // CHECK:STDOUT: @@ -828,26 +828,26 @@ impl () as I({}) { // CHECK:STDOUT: witness = file.%I.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.2(%U.loc19_18.2: type) { +// CHECK:STDOUT: generic fn @F.loc19_39.1(%U.loc19_18.2: type) { // CHECK:STDOUT: %U.loc19_18.1: type = bind_symbolic_name U, 0 [symbolic = %U.loc19_18.1 (constants.%U)] // CHECK:STDOUT: %pattern_type: type = pattern_type %U.loc19_18.1 [symbolic = %pattern_type (constants.%pattern_type.7dc)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type %U.loc19_18.1 [symbolic = %require_complete (constants.%require_complete.4ae)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%self.param: %empty_tuple.type, %x.param: @F.2.%U.loc19_18.1 (%U)) -> @F.2.%U.loc19_18.1 (%U) { +// CHECK:STDOUT: fn(%self.param: %empty_tuple.type, %x.param: @F.loc19_39.1.%U.loc19_18.1 (%U)) -> @F.loc19_39.1.%U.loc19_18.1 (%U) { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %x.ref: @F.2.%U.loc19_18.1 (%U) = name_ref x, %x +// CHECK:STDOUT: %x.ref: @F.loc19_39.1.%U.loc19_18.1 (%U) = name_ref x, %x // CHECK:STDOUT: return %x.ref // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.3(%T.loc5_20.2: type) { +// CHECK:STDOUT: generic fn @F.loc19_39.2(%T.loc5_20.2: type) { // CHECK:STDOUT: // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: -// CHECK:STDOUT: fn(%self.param: %empty_tuple.type, %x.param: @F.3.%ptr (%ptr.79f)) -> @F.3.%ptr (%ptr.79f) [thunk @I.impl.%F.decl.loc19_39.1] { +// CHECK:STDOUT: fn(%self.param: %empty_tuple.type, %x.param: @F.loc19_39.2.%ptr (%ptr.79f)) -> @F.loc19_39.2.%ptr (%ptr.79f) [thunk @I.impl.%F.decl.loc19_39.1] { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %F.ref: %F.type.39e918.1 = name_ref F, @I.impl.%F.decl.loc19_39.1 [concrete = constants.%F.c04b92.1] // CHECK:STDOUT: @@ -855,12 +855,12 @@ impl () as I({}) { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.2(constants.%U) { +// CHECK:STDOUT: specific @F.loc19_39.1(constants.%U) { // CHECK:STDOUT: %U.loc19_18.1 => constants.%U // CHECK:STDOUT: %pattern_type => constants.%pattern_type.7dc // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.3(constants.%T.8b3) { +// CHECK:STDOUT: specific @F.loc19_39.2(constants.%T.8b3) { // CHECK:STDOUT: %T.loc5_20.1 => constants.%T.8b3 // CHECK:STDOUT: %ptr => constants.%ptr.79f // CHECK:STDOUT: %pattern_type => constants.%pattern_type.afe @@ -873,10 +873,10 @@ impl () as I({}) { // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %struct_type.b.a.1b0: type = struct_type {.b: %empty_struct_type, .a: %empty_struct_type} [concrete] // CHECK:STDOUT: %pattern_type.914: type = pattern_type %struct_type.b.a.1b0 [concrete] -// CHECK:STDOUT: %F.type.29ab63.1: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.29ab63.1: type = fn_type @F.loc10_29.1 [concrete] // CHECK:STDOUT: %F.975709.1: %F.type.29ab63.1 = struct_value () [concrete] // CHECK:STDOUT: %struct_type.a.b.f95: type = struct_type {.a: %empty_struct_type, .b: %empty_struct_type} [concrete] -// CHECK:STDOUT: %F.type.29ab63.2: type = fn_type @F.3 [concrete] +// CHECK:STDOUT: %F.type.29ab63.2: type = fn_type @F.loc10_29.2 [concrete] // CHECK:STDOUT: %F.975709.2: %F.type.29ab63.2 = struct_value () [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: %struct: %struct_type.a.b.f95 = struct_value (%empty_struct, %empty_struct) [concrete] @@ -889,7 +889,7 @@ impl () as I({}) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @I.impl: %.loc8_7.2 as %I.type { -// CHECK:STDOUT: %F.decl.loc10_29.1: %F.type.29ab63.1 = fn_decl @F.2 [concrete = constants.%F.975709.1] { +// CHECK:STDOUT: %F.decl.loc10_29.1: %F.type.29ab63.1 = fn_decl @F.loc10_29.1 [concrete = constants.%F.975709.1] { // CHECK:STDOUT: %return.patt: %pattern_type.914 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.914 = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -901,7 +901,7 @@ impl () as I({}) { // CHECK:STDOUT: %return.param: ref %struct_type.b.a.1b0 = out_param call_param0 // CHECK:STDOUT: %return: ref %struct_type.b.a.1b0 = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %F.decl.loc10_29.2: %F.type.29ab63.2 = fn_decl @F.3 [concrete = constants.%F.975709.2] { +// CHECK:STDOUT: %F.decl.loc10_29.2: %F.type.29ab63.2 = fn_decl @F.loc10_29.2 [concrete = constants.%F.975709.2] { // CHECK:STDOUT: // CHECK:STDOUT: } { // CHECK:STDOUT: @@ -912,9 +912,9 @@ impl () as I({}) { // CHECK:STDOUT: witness = file.%I.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2() -> %return.param: %struct_type.b.a.1b0; +// CHECK:STDOUT: fn @F.loc10_29.1() -> %return.param: %struct_type.b.a.1b0; // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.3() -> %return.param: %struct_type.a.b.f95 [thunk @I.impl.%F.decl.loc10_29.1] { +// CHECK:STDOUT: fn @F.loc10_29.2() -> %return.param: %struct_type.a.b.f95 [thunk @I.impl.%F.decl.loc10_29.1] { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %F.ref: %F.type.29ab63.1 = name_ref F, @I.impl.%F.decl.loc10_29.1 [concrete = constants.%F.975709.1] // CHECK:STDOUT: diff --git a/toolchain/check/testdata/impl/impl_thunk_min_prelude.carbon b/toolchain/check/testdata/impl/impl_thunk_min_prelude.carbon index 6fea58a267ed..24bde85800fb 100644 --- a/toolchain/check/testdata/impl/impl_thunk_min_prelude.carbon +++ b/toolchain/check/testdata/impl/impl_thunk_min_prelude.carbon @@ -117,16 +117,16 @@ fn Call() -> Int(32) { // CHECK:STDOUT: %ImplicitAs.type.61e: type = facet_type <@ImplicitAs, @ImplicitAs(%i32.builtin)> [concrete] // CHECK:STDOUT: %Convert.type.059: type = fn_type @Convert.1, @ImplicitAs(%i32.builtin) [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness: = impl_witness file.%ImplicitAs.impl_witness_table [concrete] -// CHECK:STDOUT: %Convert.type.1dd: type = fn_type @Convert.2 [concrete] +// CHECK:STDOUT: %Convert.type.1dd: type = fn_type @Convert.loc8 [concrete] // CHECK:STDOUT: %Convert.52c: %Convert.type.1dd = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.54f: %ImplicitAs.type.61e = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness) [concrete] // CHECK:STDOUT: %.f22: type = fn_type_with_self_type %Convert.type.059, %ImplicitAs.facet.54f [concrete] -// CHECK:STDOUT: %Op.type.049d3a.1: type = fn_type @Op.2, @Add.impl(%ImplicitAs.facet.54f) [concrete] +// CHECK:STDOUT: %Op.type.049d3a.1: type = fn_type @Op.loc15_35.1, @Add.impl(%ImplicitAs.facet.54f) [concrete] // CHECK:STDOUT: %Op.1fb3b5.1: %Op.type.049d3a.1 = struct_value () [concrete] // CHECK:STDOUT: %int_2.ecc: Core.IntLiteral = int_value 2 [concrete] // CHECK:STDOUT: %Convert.bound.713: = bound_method %int_2.ecc, %Convert.52c [concrete] // CHECK:STDOUT: %int_2.5a1: %i32.builtin = int_value 2 [concrete] -// CHECK:STDOUT: %Op.specific_fn.01379b.2: = specific_function %Op.1fb3b5.1, @Op.2(%ImplicitAs.facet.54f) [concrete] +// CHECK:STDOUT: %Op.specific_fn.01379b.2: = specific_function %Op.1fb3b5.1, @Op.loc15_35.1(%ImplicitAs.facet.54f) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -149,7 +149,7 @@ fn Call() -> Int(32) { // CHECK:STDOUT: %int.convert_checked.loc25_14: init %i32.builtin = call %bound_method.loc25_14(%int_2) [concrete = constants.%int_2.5a1] // CHECK:STDOUT: %.loc25_14.4: %i32.builtin = value_of_initializer %int.convert_checked.loc25_14 [concrete = constants.%int_2.5a1] // CHECK:STDOUT: %.loc25_14.5: %i32.builtin = converted %int_2, %.loc25_14.4 [concrete = constants.%int_2.5a1] -// CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.ref.loc25, @Op.2(constants.%ImplicitAs.facet.54f) [concrete = constants.%Op.specific_fn.01379b.2] +// CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.ref.loc25, @Op.loc15_35.1(constants.%ImplicitAs.facet.54f) [concrete = constants.%Op.specific_fn.01379b.2] // CHECK:STDOUT: %impl.elem0.loc25_13: %.f22 = impl_witness_access constants.%ImplicitAs.impl_witness, element0 [concrete = constants.%Convert.52c] // CHECK:STDOUT: %bound_method.loc25_13: = bound_method %int_2, %impl.elem0.loc25_13 [concrete = constants.%Convert.bound.713] // CHECK:STDOUT: %int.convert_checked.loc25_13: init %i32.builtin = call %bound_method.loc25_13(%int_2) [concrete = constants.%int_2.5a1] diff --git a/toolchain/check/testdata/impl/import_builtin_call.carbon b/toolchain/check/testdata/impl/import_builtin_call.carbon index 8a28089bb05f..21a435440f00 100644 --- a/toolchain/check/testdata/impl/import_builtin_call.carbon +++ b/toolchain/check/testdata/impl/import_builtin_call.carbon @@ -87,7 +87,7 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt); // CHECK:STDOUT: %Self: %Add.type = bind_symbolic_name Self, 0 [symbolic] // CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self [symbolic] // CHECK:STDOUT: %pattern_type.8f9: type = pattern_type %Self.as_type [symbolic] -// CHECK:STDOUT: %Op.type.31b: type = fn_type @Op.1 [concrete] +// CHECK:STDOUT: %Op.type.31b: type = fn_type @Op.loc5 [concrete] // CHECK:STDOUT: %Op.d59: %Op.type.31b = struct_value () [concrete] // CHECK:STDOUT: %Add.assoc_type: type = assoc_entity_type @Add [concrete] // CHECK:STDOUT: %assoc0: %Add.assoc_type = assoc_entity element0, @Add.%Op.decl [concrete] @@ -106,7 +106,7 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt); // CHECK:STDOUT: %complete_type: = complete_type_witness %iN.builtin [symbolic] // CHECK:STDOUT: %Add.impl_witness: = impl_witness file.%Add.impl_witness_table, @Add.impl(%N) [symbolic] // CHECK:STDOUT: %pattern_type.a71: type = pattern_type %MyInt [symbolic] -// CHECK:STDOUT: %Op.type.883: type = fn_type @Op.2, @Add.impl(%N) [symbolic] +// CHECK:STDOUT: %Op.type.883: type = fn_type @Op.loc16, @Add.impl(%N) [symbolic] // CHECK:STDOUT: %Op.8bc: %Op.type.883 = struct_value () [symbolic] // CHECK:STDOUT: %require_complete.fc7: = require_complete_type %MyInt [symbolic] // CHECK:STDOUT: %Add.facet.0e5: %Add.type = facet_value %MyInt, (%Add.impl_witness) [symbolic] @@ -116,7 +116,7 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt); // CHECK:STDOUT: %Add.facet.5a7: %Add.type = facet_value %MyInt, (%Add.lookup_impl_witness) [symbolic] // CHECK:STDOUT: %.0a6: type = fn_type_with_self_type %Op.type.31b, %Add.facet.5a7 [symbolic] // CHECK:STDOUT: %impl.elem0: %.0a6 = impl_witness_access %Add.lookup_impl_witness, element0 [symbolic] -// CHECK:STDOUT: %specific_impl_fn: = specific_impl_function %impl.elem0, @Op.1(%Add.facet.5a7) [symbolic] +// CHECK:STDOUT: %specific_impl_fn: = specific_impl_function %impl.elem0, @Op.loc5(%Add.facet.5a7) [symbolic] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -211,33 +211,33 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt); // CHECK:STDOUT: // CHECK:STDOUT: interface @Add { // CHECK:STDOUT: %Self: %Add.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self] -// CHECK:STDOUT: %Op.decl: %Op.type.31b = fn_decl @Op.1 [concrete = constants.%Op.d59] { -// CHECK:STDOUT: %self.patt: @Op.1.%pattern_type (%pattern_type.8f9) = binding_pattern self [concrete] -// CHECK:STDOUT: %self.param_patt: @Op.1.%pattern_type (%pattern_type.8f9) = value_param_pattern %self.patt, call_param0 [concrete] -// CHECK:STDOUT: %other.patt: @Op.1.%pattern_type (%pattern_type.8f9) = binding_pattern other [concrete] -// CHECK:STDOUT: %other.param_patt: @Op.1.%pattern_type (%pattern_type.8f9) = value_param_pattern %other.patt, call_param1 [concrete] -// CHECK:STDOUT: %return.patt: @Op.1.%pattern_type (%pattern_type.8f9) = return_slot_pattern [concrete] -// CHECK:STDOUT: %return.param_patt: @Op.1.%pattern_type (%pattern_type.8f9) = out_param_pattern %return.patt, call_param2 [concrete] +// CHECK:STDOUT: %Op.decl: %Op.type.31b = fn_decl @Op.loc5 [concrete = constants.%Op.d59] { +// CHECK:STDOUT: %self.patt: @Op.loc5.%pattern_type (%pattern_type.8f9) = binding_pattern self [concrete] +// CHECK:STDOUT: %self.param_patt: @Op.loc5.%pattern_type (%pattern_type.8f9) = value_param_pattern %self.patt, call_param0 [concrete] +// CHECK:STDOUT: %other.patt: @Op.loc5.%pattern_type (%pattern_type.8f9) = binding_pattern other [concrete] +// CHECK:STDOUT: %other.param_patt: @Op.loc5.%pattern_type (%pattern_type.8f9) = value_param_pattern %other.patt, call_param1 [concrete] +// CHECK:STDOUT: %return.patt: @Op.loc5.%pattern_type (%pattern_type.8f9) = return_slot_pattern [concrete] +// CHECK:STDOUT: %return.param_patt: @Op.loc5.%pattern_type (%pattern_type.8f9) = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref.loc5_37: %Add.type = name_ref Self, @Add.%Self [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %Self.as_type.loc5_37: type = facet_access_type %Self.ref.loc5_37 [symbolic = %Self.as_type.loc5_15.1 (constants.%Self.as_type)] // CHECK:STDOUT: %.loc5_37: type = converted %Self.ref.loc5_37, %Self.as_type.loc5_37 [symbolic = %Self.as_type.loc5_15.1 (constants.%Self.as_type)] -// CHECK:STDOUT: %self.param: @Op.1.%Self.as_type.loc5_15.1 (%Self.as_type) = value_param call_param0 +// CHECK:STDOUT: %self.param: @Op.loc5.%Self.as_type.loc5_15.1 (%Self.as_type) = value_param call_param0 // CHECK:STDOUT: %.loc5_15.1: type = splice_block %.loc5_15.2 [symbolic = %Self.as_type.loc5_15.1 (constants.%Self.as_type)] { // CHECK:STDOUT: %Self.ref.loc5_15: %Add.type = name_ref Self, @Add.%Self [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %Self.as_type.loc5_15.2: type = facet_access_type %Self.ref.loc5_15 [symbolic = %Self.as_type.loc5_15.1 (constants.%Self.as_type)] // CHECK:STDOUT: %.loc5_15.2: type = converted %Self.ref.loc5_15, %Self.as_type.loc5_15.2 [symbolic = %Self.as_type.loc5_15.1 (constants.%Self.as_type)] // CHECK:STDOUT: } -// CHECK:STDOUT: %self: @Op.1.%Self.as_type.loc5_15.1 (%Self.as_type) = bind_name self, %self.param -// CHECK:STDOUT: %other.param: @Op.1.%Self.as_type.loc5_15.1 (%Self.as_type) = value_param call_param1 +// CHECK:STDOUT: %self: @Op.loc5.%Self.as_type.loc5_15.1 (%Self.as_type) = bind_name self, %self.param +// CHECK:STDOUT: %other.param: @Op.loc5.%Self.as_type.loc5_15.1 (%Self.as_type) = value_param call_param1 // CHECK:STDOUT: %.loc5_28.1: type = splice_block %.loc5_28.2 [symbolic = %Self.as_type.loc5_15.1 (constants.%Self.as_type)] { // CHECK:STDOUT: %Self.ref.loc5_28: %Add.type = name_ref Self, @Add.%Self [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %Self.as_type.loc5_28: type = facet_access_type %Self.ref.loc5_28 [symbolic = %Self.as_type.loc5_15.1 (constants.%Self.as_type)] // CHECK:STDOUT: %.loc5_28.2: type = converted %Self.ref.loc5_28, %Self.as_type.loc5_28 [symbolic = %Self.as_type.loc5_15.1 (constants.%Self.as_type)] // CHECK:STDOUT: } -// CHECK:STDOUT: %other: @Op.1.%Self.as_type.loc5_15.1 (%Self.as_type) = bind_name other, %other.param -// CHECK:STDOUT: %return.param: ref @Op.1.%Self.as_type.loc5_15.1 (%Self.as_type) = out_param call_param2 -// CHECK:STDOUT: %return: ref @Op.1.%Self.as_type.loc5_15.1 (%Self.as_type) = return_slot %return.param +// CHECK:STDOUT: %other: @Op.loc5.%Self.as_type.loc5_15.1 (%Self.as_type) = bind_name other, %other.param +// CHECK:STDOUT: %return.param: ref @Op.loc5.%Self.as_type.loc5_15.1 (%Self.as_type) = out_param call_param2 +// CHECK:STDOUT: %return: ref @Op.loc5.%Self.as_type.loc5_15.1 (%Self.as_type) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %assoc0: %Add.assoc_type = assoc_entity element0, %Op.decl [concrete = constants.%assoc0] // CHECK:STDOUT: @@ -253,28 +253,28 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt); // CHECK:STDOUT: %Add.impl_witness: = impl_witness file.%Add.impl_witness_table, @Add.impl(%N.loc15_14.2) [symbolic = %Add.impl_witness (constants.%Add.impl_witness)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Op.type: type = fn_type @Op.2, @Add.impl(%N.loc15_14.2) [symbolic = %Op.type (constants.%Op.type.883)] +// CHECK:STDOUT: %Op.type: type = fn_type @Op.loc16, @Add.impl(%N.loc15_14.2) [symbolic = %Op.type (constants.%Op.type.883)] // CHECK:STDOUT: %Op: @Add.impl.%Op.type (%Op.type.883) = struct_value () [symbolic = %Op (constants.%Op.8bc)] // CHECK:STDOUT: %require_complete: = require_complete_type %MyInt.loc15_39.2 [symbolic = %require_complete (constants.%require_complete.fc7)] // CHECK:STDOUT: // CHECK:STDOUT: impl: %MyInt.loc15_39.1 as %Add.ref { -// CHECK:STDOUT: %Op.decl: @Add.impl.%Op.type (%Op.type.883) = fn_decl @Op.2 [symbolic = @Add.impl.%Op (constants.%Op.8bc)] { -// CHECK:STDOUT: %self.patt: @Op.2.%pattern_type (%pattern_type.a71) = binding_pattern self [concrete] -// CHECK:STDOUT: %self.param_patt: @Op.2.%pattern_type (%pattern_type.a71) = value_param_pattern %self.patt, call_param0 [concrete] -// CHECK:STDOUT: %other.patt: @Op.2.%pattern_type (%pattern_type.a71) = binding_pattern other [concrete] -// CHECK:STDOUT: %other.param_patt: @Op.2.%pattern_type (%pattern_type.a71) = value_param_pattern %other.patt, call_param1 [concrete] -// CHECK:STDOUT: %return.patt: @Op.2.%pattern_type (%pattern_type.a71) = return_slot_pattern [concrete] -// CHECK:STDOUT: %return.param_patt: @Op.2.%pattern_type (%pattern_type.a71) = out_param_pattern %return.patt, call_param2 [concrete] +// CHECK:STDOUT: %Op.decl: @Add.impl.%Op.type (%Op.type.883) = fn_decl @Op.loc16 [symbolic = @Add.impl.%Op (constants.%Op.8bc)] { +// CHECK:STDOUT: %self.patt: @Op.loc16.%pattern_type (%pattern_type.a71) = binding_pattern self [concrete] +// CHECK:STDOUT: %self.param_patt: @Op.loc16.%pattern_type (%pattern_type.a71) = value_param_pattern %self.patt, call_param0 [concrete] +// CHECK:STDOUT: %other.patt: @Op.loc16.%pattern_type (%pattern_type.a71) = binding_pattern other [concrete] +// CHECK:STDOUT: %other.param_patt: @Op.loc16.%pattern_type (%pattern_type.a71) = value_param_pattern %other.patt, call_param1 [concrete] +// CHECK:STDOUT: %return.patt: @Op.loc16.%pattern_type (%pattern_type.a71) = return_slot_pattern [concrete] +// CHECK:STDOUT: %return.param_patt: @Op.loc16.%pattern_type (%pattern_type.a71) = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref.loc16_37: type = name_ref Self, @Add.impl.%MyInt.loc15_39.1 [symbolic = %MyInt (constants.%MyInt)] -// CHECK:STDOUT: %self.param: @Op.2.%MyInt (%MyInt) = value_param call_param0 +// CHECK:STDOUT: %self.param: @Op.loc16.%MyInt (%MyInt) = value_param call_param0 // CHECK:STDOUT: %Self.ref.loc16_15: type = name_ref Self, @Add.impl.%MyInt.loc15_39.1 [symbolic = %MyInt (constants.%MyInt)] -// CHECK:STDOUT: %self: @Op.2.%MyInt (%MyInt) = bind_name self, %self.param -// CHECK:STDOUT: %other.param: @Op.2.%MyInt (%MyInt) = value_param call_param1 +// CHECK:STDOUT: %self: @Op.loc16.%MyInt (%MyInt) = bind_name self, %self.param +// CHECK:STDOUT: %other.param: @Op.loc16.%MyInt (%MyInt) = value_param call_param1 // CHECK:STDOUT: %Self.ref.loc16_28: type = name_ref Self, @Add.impl.%MyInt.loc15_39.1 [symbolic = %MyInt (constants.%MyInt)] -// CHECK:STDOUT: %other: @Op.2.%MyInt (%MyInt) = bind_name other, %other.param -// CHECK:STDOUT: %return.param: ref @Op.2.%MyInt (%MyInt) = out_param call_param2 -// CHECK:STDOUT: %return: ref @Op.2.%MyInt (%MyInt) = return_slot %return.param +// CHECK:STDOUT: %other: @Op.loc16.%MyInt (%MyInt) = bind_name other, %other.param +// CHECK:STDOUT: %return.param: ref @Op.loc16.%MyInt (%MyInt) = out_param call_param2 +// CHECK:STDOUT: %return: ref @Op.loc16.%MyInt (%MyInt) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -308,26 +308,26 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt); // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @Op.1(@Add.%Self: %Add.type) { +// CHECK:STDOUT: generic fn @Op.loc5(@Add.%Self: %Add.type) { // CHECK:STDOUT: %Self: %Add.type = bind_symbolic_name Self, 0 [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %Self.as_type.loc5_15.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc5_15.1 (constants.%Self.as_type)] // CHECK:STDOUT: %pattern_type: type = pattern_type %Self.as_type.loc5_15.1 [symbolic = %pattern_type (constants.%pattern_type.8f9)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%self.param: @Op.1.%Self.as_type.loc5_15.1 (%Self.as_type), %other.param: @Op.1.%Self.as_type.loc5_15.1 (%Self.as_type)) -> @Op.1.%Self.as_type.loc5_15.1 (%Self.as_type); +// CHECK:STDOUT: fn(%self.param: @Op.loc5.%Self.as_type.loc5_15.1 (%Self.as_type), %other.param: @Op.loc5.%Self.as_type.loc5_15.1 (%Self.as_type)) -> @Op.loc5.%Self.as_type.loc5_15.1 (%Self.as_type); // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @IntLiteral() -> type = "int_literal.make_type"; // CHECK:STDOUT: // CHECK:STDOUT: fn @Int(%n.param: Core.IntLiteral) -> type = "int.make_type_signed"; // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @Op.2(@Add.impl.%N.loc15_14.1: Core.IntLiteral) { +// CHECK:STDOUT: generic fn @Op.loc16(@Add.impl.%N.loc15_14.1: Core.IntLiteral) { // CHECK:STDOUT: %N: Core.IntLiteral = bind_symbolic_name N, 0 [symbolic = %N (constants.%N)] // CHECK:STDOUT: %MyInt: type = class_type @MyInt, @MyInt(%N) [symbolic = %MyInt (constants.%MyInt)] // CHECK:STDOUT: %pattern_type: type = pattern_type %MyInt [symbolic = %pattern_type (constants.%pattern_type.a71)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: -// CHECK:STDOUT: fn(%self.param: @Op.2.%MyInt (%MyInt), %other.param: @Op.2.%MyInt (%MyInt)) -> @Op.2.%MyInt (%MyInt) = "int.sadd"; +// CHECK:STDOUT: fn(%self.param: @Op.loc16.%MyInt (%MyInt), %other.param: @Op.loc16.%MyInt (%MyInt)) -> @Op.loc16.%MyInt (%MyInt) = "int.sadd"; // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @Double(%N.loc19_11.1: Core.IntLiteral) { @@ -341,7 +341,7 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt); // CHECK:STDOUT: %Add.facet.loc20_11: %Add.type = facet_value %MyInt.loc19_39.2, (%Add.lookup_impl_witness) [symbolic = %Add.facet.loc20_11 (constants.%Add.facet.5a7)] // CHECK:STDOUT: %.loc20_11: type = fn_type_with_self_type constants.%Op.type.31b, %Add.facet.loc20_11 [symbolic = %.loc20_11 (constants.%.0a6)] // CHECK:STDOUT: %impl.elem0.loc20_11.2: @Double.%.loc20_11 (%.0a6) = impl_witness_access %Add.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc20_11.2 (constants.%impl.elem0)] -// CHECK:STDOUT: %specific_impl_fn.loc20_11.2: = specific_impl_function %impl.elem0.loc20_11.2, @Op.1(%Add.facet.loc20_11) [symbolic = %specific_impl_fn.loc20_11.2 (constants.%specific_impl_fn)] +// CHECK:STDOUT: %specific_impl_fn.loc20_11.2: = specific_impl_function %impl.elem0.loc20_11.2, @Op.loc5(%Add.facet.loc20_11) [symbolic = %specific_impl_fn.loc20_11.2 (constants.%specific_impl_fn)] // CHECK:STDOUT: // CHECK:STDOUT: fn(%x.param: @Double.%MyInt.loc19_39.2 (%MyInt)) -> @Double.%MyInt.loc19_39.2 (%MyInt) { // CHECK:STDOUT: !entry: @@ -355,7 +355,7 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt); // CHECK:STDOUT: %.loc20_22.1: %Add.type = converted constants.%MyInt, %Add.facet.loc20_22.1 [symbolic = %Add.facet.loc20_11 (constants.%Add.facet.5a7)] // CHECK:STDOUT: %Add.facet.loc20_22.2: %Add.type = facet_value constants.%MyInt, (constants.%Add.lookup_impl_witness) [symbolic = %Add.facet.loc20_11 (constants.%Add.facet.5a7)] // CHECK:STDOUT: %.loc20_22.2: %Add.type = converted constants.%MyInt, %Add.facet.loc20_22.2 [symbolic = %Add.facet.loc20_11 (constants.%Add.facet.5a7)] -// CHECK:STDOUT: %specific_impl_fn.loc20_11.1: = specific_impl_function %impl.elem0.loc20_11.1, @Op.1(constants.%Add.facet.5a7) [symbolic = %specific_impl_fn.loc20_11.2 (constants.%specific_impl_fn)] +// CHECK:STDOUT: %specific_impl_fn.loc20_11.1: = specific_impl_function %impl.elem0.loc20_11.1, @Op.loc5(constants.%Add.facet.5a7) [symbolic = %specific_impl_fn.loc20_11.2 (constants.%specific_impl_fn)] // CHECK:STDOUT: %bound_method.loc20_22: = bound_method %x.ref.loc20_10, %specific_impl_fn.loc20_11.1 // CHECK:STDOUT: %.loc20_22.3: init @Double.%MyInt.loc19_39.2 (%MyInt) = call %bound_method.loc20_22(%x.ref.loc20_10, %x.ref.loc20_21) // CHECK:STDOUT: %.loc20_23.1: @Double.%MyInt.loc19_39.2 (%MyInt) = value_of_initializer %.loc20_22.3 @@ -364,7 +364,7 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt); // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Op.1(constants.%Self) { +// CHECK:STDOUT: specific @Op.loc5(constants.%Self) { // CHECK:STDOUT: %Self => constants.%Self // CHECK:STDOUT: %Self.as_type.loc5_15.1 => constants.%Self.as_type // CHECK:STDOUT: %pattern_type => constants.%pattern_type.8f9 @@ -390,13 +390,13 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt); // CHECK:STDOUT: %require_complete => constants.%require_complete.fc7 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Op.2(constants.%N) { +// CHECK:STDOUT: specific @Op.loc16(constants.%N) { // CHECK:STDOUT: %N => constants.%N // CHECK:STDOUT: %MyInt => constants.%MyInt // CHECK:STDOUT: %pattern_type => constants.%pattern_type.a71 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Op.1(constants.%Add.facet.0e5) { +// CHECK:STDOUT: specific @Op.loc5(constants.%Add.facet.0e5) { // CHECK:STDOUT: %Self => constants.%Add.facet.0e5 // CHECK:STDOUT: %Self.as_type.loc5_15.1 => constants.%MyInt // CHECK:STDOUT: %pattern_type => constants.%pattern_type.a71 @@ -408,7 +408,7 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt); // CHECK:STDOUT: %pattern_type => constants.%pattern_type.a71 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Op.1(constants.%Add.facet.5a7) { +// CHECK:STDOUT: specific @Op.loc5(constants.%Add.facet.5a7) { // CHECK:STDOUT: %Self => constants.%Add.facet.5a7 // CHECK:STDOUT: %Self.as_type.loc5_15.1 => constants.%MyInt // CHECK:STDOUT: %pattern_type => constants.%pattern_type.a71 @@ -735,7 +735,7 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt); // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32.builtin: type = int_type signed, %int_32 [concrete] // CHECK:STDOUT: %pattern_type.956: type = pattern_type %i32.builtin [concrete] -// CHECK:STDOUT: %ToLiteral.type.e7c: type = fn_type @ToLiteral.1 [concrete] +// CHECK:STDOUT: %ToLiteral.type.e7c: type = fn_type @ToLiteral.loc6 [concrete] // CHECK:STDOUT: %ToLiteral.cf3: %ToLiteral.type.e7c = struct_value () [concrete] // CHECK:STDOUT: %FromLiteral.type: type = fn_type @FromLiteral [concrete] // CHECK:STDOUT: %FromLiteral: %FromLiteral.type = struct_value () [concrete] @@ -749,7 +749,7 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt); // CHECK:STDOUT: %Make.specific_fn: = specific_function %Make, @Make(%N.987) [symbolic] // CHECK:STDOUT: %OtherInt: type = class_type @OtherInt [concrete] // CHECK:STDOUT: %pattern_type.710: type = pattern_type %OtherInt [concrete] -// CHECK:STDOUT: %ToLiteral.type.67d: type = fn_type @ToLiteral.2 [concrete] +// CHECK:STDOUT: %ToLiteral.type.67d: type = fn_type @ToLiteral.loc16 [concrete] // CHECK:STDOUT: %ToLiteral.ec2: %ToLiteral.type.67d = struct_value () [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %i32.builtin [concrete] // CHECK:STDOUT: %N.335: %OtherInt = bind_symbolic_name N, 0 [symbolic] @@ -797,7 +797,7 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt); // CHECK:STDOUT: %return.param: ref type = out_param call_param1 // CHECK:STDOUT: %return: ref type = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %ToLiteral.decl.loc6: %ToLiteral.type.e7c = fn_decl @ToLiteral.1 [concrete = constants.%ToLiteral.cf3] { +// CHECK:STDOUT: %ToLiteral.decl.loc6: %ToLiteral.type.e7c = fn_decl @ToLiteral.loc6 [concrete = constants.%ToLiteral.cf3] { // CHECK:STDOUT: %n.patt: %pattern_type.956 = binding_pattern n [concrete] // CHECK:STDOUT: %n.param_patt: %pattern_type.956 = value_param_pattern %n.patt, call_param0 [concrete] // CHECK:STDOUT: %return.patt: %pattern_type.dc0 = return_slot_pattern [concrete] @@ -867,7 +867,7 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt); // CHECK:STDOUT: %return: ref @Make.%iN.builtin (%iN.builtin.016) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %OtherInt.decl: type = class_decl @OtherInt [concrete = constants.%OtherInt] {} {} -// CHECK:STDOUT: %ToLiteral.decl.loc16: %ToLiteral.type.67d = fn_decl @ToLiteral.2 [concrete = constants.%ToLiteral.ec2] { +// CHECK:STDOUT: %ToLiteral.decl.loc16: %ToLiteral.type.67d = fn_decl @ToLiteral.loc16 [concrete = constants.%ToLiteral.ec2] { // CHECK:STDOUT: %self.patt: %pattern_type.710 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.710 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %return.patt: %pattern_type.dc0 = return_slot_pattern [concrete] @@ -912,7 +912,7 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt); // CHECK:STDOUT: %.loc12_16.1: type = value_of_initializer %int.make_type_signed [concrete = constants.%i32.builtin] // CHECK:STDOUT: %.loc12_16.2: type = converted %int.make_type_signed, %.loc12_16.1 [concrete = constants.%i32.builtin] // CHECK:STDOUT: adapt_decl %.loc12_16.2 [concrete] -// CHECK:STDOUT: %ToLiteral.decl: %ToLiteral.type.67d = fn_decl @ToLiteral.2 [concrete = constants.%ToLiteral.ec2] { +// CHECK:STDOUT: %ToLiteral.decl: %ToLiteral.type.67d = fn_decl @ToLiteral.loc16 [concrete = constants.%ToLiteral.ec2] { // CHECK:STDOUT: %self.patt: %pattern_type.710 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.710 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %return.patt: %pattern_type.dc0 = return_slot_pattern [concrete] @@ -942,7 +942,7 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt); // CHECK:STDOUT: // CHECK:STDOUT: fn @Int(%n.param: Core.IntLiteral) -> type = "int.make_type_signed"; // CHECK:STDOUT: -// CHECK:STDOUT: fn @ToLiteral.1(%n.param: %i32.builtin) -> Core.IntLiteral = "int.convert_checked"; +// CHECK:STDOUT: fn @ToLiteral.loc6(%n.param: %i32.builtin) -> Core.IntLiteral = "int.convert_checked"; // CHECK:STDOUT: // CHECK:STDOUT: fn @FromLiteral(%n.param: Core.IntLiteral) -> %i32.builtin = "int.convert_checked"; // CHECK:STDOUT: @@ -968,7 +968,7 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt); // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @ToLiteral.2(%self.param.loc16: %OtherInt) -> Core.IntLiteral = "int.convert_checked"; +// CHECK:STDOUT: fn @ToLiteral.loc16(%self.param.loc16: %OtherInt) -> Core.IntLiteral = "int.convert_checked"; // CHECK:STDOUT: // CHECK:STDOUT: generic fn @MakeFromClass(%N.loc18_18.1: %OtherInt) { // CHECK:STDOUT: %N.loc18_18.2: %OtherInt = bind_symbolic_name N, 0 [symbolic = %N.loc18_18.2 (constants.%N.335)] diff --git a/toolchain/check/testdata/impl/import_compound.carbon b/toolchain/check/testdata/impl/import_compound.carbon index 37835c2981f2..c687ffe54fda 100644 --- a/toolchain/check/testdata/impl/import_compound.carbon +++ b/toolchain/check/testdata/impl/import_compound.carbon @@ -103,27 +103,27 @@ fn InstanceCallImportFail() { // CHECK:STDOUT: constants { // CHECK:STDOUT: %NonInstance.type: type = facet_type <@NonInstance> [concrete] // CHECK:STDOUT: %Self.73c: %NonInstance.type = bind_symbolic_name Self, 0 [symbolic] -// CHECK:STDOUT: %F.type.9e5: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.9e5: type = fn_type @F.loc4 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %F.4e4: %F.type.9e5 = struct_value () [concrete] // CHECK:STDOUT: %NonInstance.assoc_type: type = assoc_entity_type @NonInstance [concrete] // CHECK:STDOUT: %assoc0.525: %NonInstance.assoc_type = assoc_entity element0, @NonInstance.%F.decl [concrete] // CHECK:STDOUT: %struct_type.i: type = struct_type {.i: %empty_tuple.type} [concrete] // CHECK:STDOUT: %NonInstance.impl_witness: = impl_witness file.%NonInstance.impl_witness_table [concrete] -// CHECK:STDOUT: %F.type.042: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.042: type = fn_type @F.loc8 [concrete] // CHECK:STDOUT: %F.db4: %F.type.042 = struct_value () [concrete] // CHECK:STDOUT: %NonInstance.facet: %NonInstance.type = facet_value %struct_type.i, (%NonInstance.impl_witness) [concrete] // CHECK:STDOUT: %Instance.type: type = facet_type <@Instance> [concrete] // CHECK:STDOUT: %Self.cf8: %Instance.type = bind_symbolic_name Self, 0 [symbolic] // CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self.cf8 [symbolic] // CHECK:STDOUT: %pattern_type.4e4: type = pattern_type %Self.as_type [symbolic] -// CHECK:STDOUT: %G.type.1e1: type = fn_type @G.1 [concrete] +// CHECK:STDOUT: %G.type.1e1: type = fn_type @G.loc12 [concrete] // CHECK:STDOUT: %G.449: %G.type.1e1 = struct_value () [concrete] // CHECK:STDOUT: %Instance.assoc_type: type = assoc_entity_type @Instance [concrete] // CHECK:STDOUT: %assoc0.ab8: %Instance.assoc_type = assoc_entity element0, @Instance.%G.decl [concrete] // CHECK:STDOUT: %Instance.impl_witness: = impl_witness file.%Instance.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.9b2: type = pattern_type %struct_type.i [concrete] -// CHECK:STDOUT: %G.type.0c0: type = fn_type @G.2 [concrete] +// CHECK:STDOUT: %G.type.0c0: type = fn_type @G.loc16 [concrete] // CHECK:STDOUT: %G.484: %G.type.0c0 = struct_value () [concrete] // CHECK:STDOUT: %Instance.facet: %Instance.type = facet_value %struct_type.i, (%Instance.impl_witness) [concrete] // CHECK:STDOUT: } @@ -164,7 +164,7 @@ fn InstanceCallImportFail() { // CHECK:STDOUT: // CHECK:STDOUT: interface @NonInstance { // CHECK:STDOUT: %Self: %NonInstance.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.73c] -// CHECK:STDOUT: %F.decl: %F.type.9e5 = fn_decl @F.1 [concrete = constants.%F.4e4] {} {} +// CHECK:STDOUT: %F.decl: %F.type.9e5 = fn_decl @F.loc4 [concrete = constants.%F.4e4] {} {} // CHECK:STDOUT: %assoc0: %NonInstance.assoc_type = assoc_entity element0, %F.decl [concrete = constants.%assoc0.525] // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -175,17 +175,17 @@ fn InstanceCallImportFail() { // CHECK:STDOUT: // CHECK:STDOUT: interface @Instance { // CHECK:STDOUT: %Self: %Instance.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.cf8] -// CHECK:STDOUT: %G.decl: %G.type.1e1 = fn_decl @G.1 [concrete = constants.%G.449] { -// CHECK:STDOUT: %self.patt: @G.1.%pattern_type (%pattern_type.4e4) = binding_pattern self [concrete] -// CHECK:STDOUT: %self.param_patt: @G.1.%pattern_type (%pattern_type.4e4) = value_param_pattern %self.patt, call_param0 [concrete] +// CHECK:STDOUT: %G.decl: %G.type.1e1 = fn_decl @G.loc12 [concrete = constants.%G.449] { +// CHECK:STDOUT: %self.patt: @G.loc12.%pattern_type (%pattern_type.4e4) = binding_pattern self [concrete] +// CHECK:STDOUT: %self.param_patt: @G.loc12.%pattern_type (%pattern_type.4e4) = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %self.param: @G.1.%Self.as_type.loc12_14.1 (%Self.as_type) = value_param call_param0 +// CHECK:STDOUT: %self.param: @G.loc12.%Self.as_type.loc12_14.1 (%Self.as_type) = value_param call_param0 // CHECK:STDOUT: %.loc12_14.1: type = splice_block %.loc12_14.2 [symbolic = %Self.as_type.loc12_14.1 (constants.%Self.as_type)] { // CHECK:STDOUT: %Self.ref: %Instance.type = name_ref Self, @Instance.%Self [symbolic = %Self (constants.%Self.cf8)] // CHECK:STDOUT: %Self.as_type.loc12_14.2: type = facet_access_type %Self.ref [symbolic = %Self.as_type.loc12_14.1 (constants.%Self.as_type)] // CHECK:STDOUT: %.loc12_14.2: type = converted %Self.ref, %Self.as_type.loc12_14.2 [symbolic = %Self.as_type.loc12_14.1 (constants.%Self.as_type)] // CHECK:STDOUT: } -// CHECK:STDOUT: %self: @G.1.%Self.as_type.loc12_14.1 (%Self.as_type) = bind_name self, %self.param +// CHECK:STDOUT: %self: @G.loc12.%Self.as_type.loc12_14.1 (%Self.as_type) = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %assoc0: %Instance.assoc_type = assoc_entity element0, %G.decl [concrete = constants.%assoc0.ab8] // CHECK:STDOUT: @@ -196,7 +196,7 @@ fn InstanceCallImportFail() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @NonInstance.impl: %struct_type.i as %NonInstance.ref { -// CHECK:STDOUT: %F.decl: %F.type.042 = fn_decl @F.2 [concrete = constants.%F.db4] {} {} +// CHECK:STDOUT: %F.decl: %F.type.042 = fn_decl @F.loc8 [concrete = constants.%F.db4] {} {} // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .F = %F.decl @@ -204,7 +204,7 @@ fn InstanceCallImportFail() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @Instance.impl: %struct_type.i as %Instance.ref { -// CHECK:STDOUT: %G.decl: %G.type.0c0 = fn_decl @G.2 [concrete = constants.%G.484] { +// CHECK:STDOUT: %G.decl: %G.type.0c0 = fn_decl @G.loc16 [concrete = constants.%G.484] { // CHECK:STDOUT: %self.patt: %pattern_type.9b2 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.9b2 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -218,39 +218,39 @@ fn InstanceCallImportFail() { // CHECK:STDOUT: witness = file.%Instance.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.1(@NonInstance.%Self: %NonInstance.type) { +// CHECK:STDOUT: generic fn @F.loc4(@NonInstance.%Self: %NonInstance.type) { // CHECK:STDOUT: fn(); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2() { +// CHECK:STDOUT: fn @F.loc8() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @G.1(@Instance.%Self: %Instance.type) { +// CHECK:STDOUT: generic fn @G.loc12(@Instance.%Self: %Instance.type) { // CHECK:STDOUT: %Self: %Instance.type = bind_symbolic_name Self, 0 [symbolic = %Self (constants.%Self.cf8)] // CHECK:STDOUT: %Self.as_type.loc12_14.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc12_14.1 (constants.%Self.as_type)] // CHECK:STDOUT: %pattern_type: type = pattern_type %Self.as_type.loc12_14.1 [symbolic = %pattern_type (constants.%pattern_type.4e4)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%self.param: @G.1.%Self.as_type.loc12_14.1 (%Self.as_type)); +// CHECK:STDOUT: fn(%self.param: @G.loc12.%Self.as_type.loc12_14.1 (%Self.as_type)); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @G.2(%self.param: %struct_type.i) { +// CHECK:STDOUT: fn @G.loc16(%self.param: %struct_type.i) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%Self.73c) {} +// CHECK:STDOUT: specific @F.loc4(constants.%Self.73c) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%NonInstance.facet) {} +// CHECK:STDOUT: specific @F.loc4(constants.%NonInstance.facet) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @G.1(constants.%Self.cf8) { +// CHECK:STDOUT: specific @G.loc12(constants.%Self.cf8) { // CHECK:STDOUT: %Self => constants.%Self.cf8 // CHECK:STDOUT: %Self.as_type.loc12_14.1 => constants.%Self.as_type // CHECK:STDOUT: %pattern_type => constants.%pattern_type.4e4 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @G.1(constants.%Instance.facet) { +// CHECK:STDOUT: specific @G.loc12(constants.%Instance.facet) { // CHECK:STDOUT: %Self => constants.%Instance.facet // CHECK:STDOUT: %Self.as_type.loc12_14.1 => constants.%struct_type.i // CHECK:STDOUT: %pattern_type => constants.%pattern_type.9b2 diff --git a/toolchain/check/testdata/impl/import_extend_impl.carbon b/toolchain/check/testdata/impl/import_extend_impl.carbon index 623b07b6dc76..34ba72e488be 100644 --- a/toolchain/check/testdata/impl/import_extend_impl.carbon +++ b/toolchain/check/testdata/impl/import_extend_impl.carbon @@ -42,13 +42,13 @@ fn G(c: C) { // CHECK:STDOUT: constants { // CHECK:STDOUT: %I.type: type = facet_type <@I> [concrete] // CHECK:STDOUT: %Self: %I.type = bind_symbolic_name Self, 0 [symbolic] -// CHECK:STDOUT: %F.type.cf0: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.cf0: type = fn_type @F.loc5 [concrete] // CHECK:STDOUT: %F.bc6: %F.type.cf0 = struct_value () [concrete] // CHECK:STDOUT: %I.assoc_type: type = assoc_entity_type @I [concrete] // CHECK:STDOUT: %assoc0: %I.assoc_type = assoc_entity element0, @I.%F.decl [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness @C.%I.impl_witness_table [concrete] -// CHECK:STDOUT: %F.type.f36: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.f36: type = fn_type @F.loc10 [concrete] // CHECK:STDOUT: %F.4c3: %F.type.f36 = struct_value () [concrete] // CHECK:STDOUT: %I.facet: %I.type = facet_value %C, (%I.impl_witness) [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] @@ -66,7 +66,7 @@ fn G(c: C) { // CHECK:STDOUT: // CHECK:STDOUT: interface @I { // CHECK:STDOUT: %Self: %I.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self] -// CHECK:STDOUT: %F.decl: %F.type.cf0 = fn_decl @F.1 [concrete = constants.%F.bc6] {} {} +// CHECK:STDOUT: %F.decl: %F.type.cf0 = fn_decl @F.loc5 [concrete = constants.%F.bc6] {} {} // CHECK:STDOUT: %assoc0: %I.assoc_type = assoc_entity element0, %F.decl [concrete = constants.%assoc0] // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -76,7 +76,7 @@ fn G(c: C) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @I.impl: %Self.ref as %I.ref { -// CHECK:STDOUT: %F.decl: %F.type.f36 = fn_decl @F.2 [concrete = constants.%F.4c3] {} {} +// CHECK:STDOUT: %F.decl: %F.type.f36 = fn_decl @F.loc10 [concrete = constants.%F.4c3] {} {} // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .F = %F.decl @@ -100,18 +100,18 @@ fn G(c: C) { // CHECK:STDOUT: extend @I.impl.%I.ref // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.1(@I.%Self: %I.type) { +// CHECK:STDOUT: generic fn @F.loc5(@I.%Self: %I.type) { // CHECK:STDOUT: fn(); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2() { +// CHECK:STDOUT: fn @F.loc10() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%Self) {} +// CHECK:STDOUT: specific @F.loc5(constants.%Self) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%I.facet) {} +// CHECK:STDOUT: specific @F.loc5(constants.%I.facet) {} // CHECK:STDOUT: // CHECK:STDOUT: --- use_imported_class_extend_impl.carbon // CHECK:STDOUT: diff --git a/toolchain/check/testdata/impl/import_interface_assoc_const.carbon b/toolchain/check/testdata/impl/import_interface_assoc_const.carbon index 3bc792307e66..57280d0ad9ed 100644 --- a/toolchain/check/testdata/impl/import_interface_assoc_const.carbon +++ b/toolchain/check/testdata/impl/import_interface_assoc_const.carbon @@ -1597,7 +1597,7 @@ impl CD as IF where .F = 0 { // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete] // CHECK:STDOUT: %IF_where.type: type = facet_type <@IF where %impl.elem0 = %int_0> [concrete] // CHECK:STDOUT: %IF.impl_witness: = impl_witness file.%IF.impl_witness_table [concrete] -// CHECK:STDOUT: %F.type.f56: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.f56: type = fn_type @F.loc11 [concrete] // CHECK:STDOUT: %F.fae: %F.type.f56 = struct_value () [concrete] // CHECK:STDOUT: %IF.facet.60c: %IF.type = facet_value %CD, (%IF.impl_witness) [concrete] // CHECK:STDOUT: } @@ -1644,7 +1644,7 @@ impl CD as IF where .F = 0 { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @IF.impl: %CD.ref as %.loc10_15 { -// CHECK:STDOUT: %F.decl: %F.type.f56 = fn_decl @F.2 [concrete = constants.%F.fae] {} {} +// CHECK:STDOUT: %F.decl: %F.type.f56 = fn_decl @F.loc11 [concrete = constants.%F.fae] {} {} // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .F = %F.decl @@ -1664,7 +1664,7 @@ impl CD as IF where .F = 0 { // CHECK:STDOUT: fn; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2() { +// CHECK:STDOUT: fn @F.loc11() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/impl/import_self.carbon b/toolchain/check/testdata/impl/import_self.carbon index 2f1c0c4b47bb..14109ffee072 100644 --- a/toolchain/check/testdata/impl/import_self.carbon +++ b/toolchain/check/testdata/impl/import_self.carbon @@ -127,7 +127,7 @@ fn F(x: (), y: ()) -> () { // CHECK:STDOUT: %pattern_type.8f9: type = pattern_type %Self.as_type.f73 [symbolic] // CHECK:STDOUT: %Add.impl_witness: = impl_witness file.%Add.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] -// CHECK:STDOUT: %Op.type.adf: type = fn_type @Op.2 [concrete] +// CHECK:STDOUT: %Op.type.adf: type = fn_type @Op.loc7 [concrete] // CHECK:STDOUT: %Op.489: %Op.type.adf = struct_value () [concrete] // CHECK:STDOUT: %Add.facet: %Add.type = facet_value %empty_tuple.type, (%Add.impl_witness) [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] @@ -137,10 +137,10 @@ fn F(x: (), y: ()) -> () { // CHECK:STDOUT: %assoc0.5ca: %Add.assoc_type = assoc_entity element0, imports.%Main.import_ref.5a3 [concrete] // CHECK:STDOUT: %.59e: type = fn_type_with_self_type %Op.type.31b, %Add.facet [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.4, @Destroy.impl(%empty_tuple.type) [concrete] +// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.3, @Destroy.impl(%empty_tuple.type) [concrete] // CHECK:STDOUT: %Op.ea3: %Op.type.a63 = struct_value () [concrete] // CHECK:STDOUT: %ptr.843: type = ptr_type %empty_tuple.type [concrete] -// CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.ea3, @Op.4(%empty_tuple.type) [concrete] +// CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.ea3, @Op.3(%empty_tuple.type) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -208,7 +208,7 @@ fn F(x: (), y: ()) -> () { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @Add.impl: %.loc6_7.2 as %Add.ref { -// CHECK:STDOUT: %Op.decl: %Op.type.adf = fn_decl @Op.2 [concrete = constants.%Op.489] { +// CHECK:STDOUT: %Op.decl: %Op.type.adf = fn_decl @Op.loc7 [concrete = constants.%Op.489] { // CHECK:STDOUT: %self.patt: %pattern_type.cb1 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.cb1 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %other.patt: %pattern_type.cb1 = binding_pattern other [concrete] @@ -240,7 +240,7 @@ fn F(x: (), y: ()) -> () { // CHECK:STDOUT: fn; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Op.2(%self.param: %empty_tuple.type, %other.param: %empty_tuple.type) -> %empty_tuple.type { +// CHECK:STDOUT: fn @Op.loc7(%self.param: %empty_tuple.type, %other.param: %empty_tuple.type) -> %empty_tuple.type { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc7_52: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete = constants.%empty_tuple] @@ -262,7 +262,7 @@ fn F(x: (), y: ()) -> () { // CHECK:STDOUT: %tuple: %empty_tuple.type = tuple_value () [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc11_23: %empty_tuple.type = converted %Op.call, %tuple [concrete = constants.%empty_tuple] // CHECK:STDOUT: %Op.bound: = bound_method %.loc11_22.1, constants.%Op.ea3 -// CHECK:STDOUT: %Op.specific_fn: = specific_function constants.%Op.ea3, @Op.4(constants.%empty_tuple.type) [concrete = constants.%Op.specific_fn] +// CHECK:STDOUT: %Op.specific_fn: = specific_function constants.%Op.ea3, @Op.3(constants.%empty_tuple.type) [concrete = constants.%Op.specific_fn] // CHECK:STDOUT: %bound_method.loc11_22: = bound_method %.loc11_22.1, %Op.specific_fn // CHECK:STDOUT: %addr: %ptr.843 = addr_of %.loc11_22.1 // CHECK:STDOUT: %no_op: init %empty_tuple.type = call %bound_method.loc11_22(%addr) diff --git a/toolchain/check/testdata/impl/import_thunk.carbon b/toolchain/check/testdata/impl/import_thunk.carbon index 59daacd1d2ef..95a7dea801e6 100644 --- a/toolchain/check/testdata/impl/import_thunk.carbon +++ b/toolchain/check/testdata/impl/import_thunk.carbon @@ -117,13 +117,13 @@ fn G() { // CHECK:STDOUT: %pattern_type.a96: type = pattern_type %empty_struct_type [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness file.%I.impl_witness_table, @I.impl(%Y) [symbolic] // CHECK:STDOUT: %pattern_type.ccc: type = pattern_type %C.13320f.2 [symbolic] -// CHECK:STDOUT: %F.type.0daaa1.1: type = fn_type @F.2, @I.impl(%Y) [symbolic] +// CHECK:STDOUT: %F.type.0daaa1.1: type = fn_type @F.loc8_17.1, @I.impl(%Y) [symbolic] // CHECK:STDOUT: %F.49c1ac.1: %F.type.0daaa1.1 = struct_value () [symbolic] // CHECK:STDOUT: %I.facet: %I.type = facet_value %C.13320f.2, (%I.impl_witness) [symbolic] -// CHECK:STDOUT: %F.type.0daaa1.2: type = fn_type @F.3, @I.impl(%Y) [symbolic] +// CHECK:STDOUT: %F.type.0daaa1.2: type = fn_type @F.loc8_17.2, @I.impl(%Y) [symbolic] // CHECK:STDOUT: %F.49c1ac.2: %F.type.0daaa1.2 = struct_value () [symbolic] // CHECK:STDOUT: %require_complete.a35: = require_complete_type %C.13320f.2 [symbolic] -// CHECK:STDOUT: %F.specific_fn: = specific_function %F.49c1ac.1, @F.2(%Y) [symbolic] +// CHECK:STDOUT: %F.specific_fn: = specific_function %F.49c1ac.1, @F.loc8_17.1(%Y) [symbolic] // CHECK:STDOUT: %C.val: %C.13320f.2 = struct_value () [symbolic] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %Destroy.assoc_type: type = assoc_entity_type @Destroy [concrete] @@ -202,25 +202,25 @@ fn G() { // CHECK:STDOUT: %I.impl_witness: = impl_witness file.%I.impl_witness_table, @I.impl(%Y.loc7_14.2) [symbolic = %I.impl_witness (constants.%I.impl_witness)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %F.type.loc8_17.1: type = fn_type @F.2, @I.impl(%Y.loc7_14.2) [symbolic = %F.type.loc8_17.1 (constants.%F.type.0daaa1.1)] +// CHECK:STDOUT: %F.type.loc8_17.1: type = fn_type @F.loc8_17.1, @I.impl(%Y.loc7_14.2) [symbolic = %F.type.loc8_17.1 (constants.%F.type.0daaa1.1)] // CHECK:STDOUT: %F.loc8_17.1: @I.impl.%F.type.loc8_17.1 (%F.type.0daaa1.1) = struct_value () [symbolic = %F.loc8_17.1 (constants.%F.49c1ac.1)] -// CHECK:STDOUT: %F.type.loc8_17.2: type = fn_type @F.3, @I.impl(%Y.loc7_14.2) [symbolic = %F.type.loc8_17.2 (constants.%F.type.0daaa1.2)] +// CHECK:STDOUT: %F.type.loc8_17.2: type = fn_type @F.loc8_17.2, @I.impl(%Y.loc7_14.2) [symbolic = %F.type.loc8_17.2 (constants.%F.type.0daaa1.2)] // CHECK:STDOUT: %F.loc8_17.2: @I.impl.%F.type.loc8_17.2 (%F.type.0daaa1.2) = struct_value () [symbolic = %F.loc8_17.2 (constants.%F.49c1ac.2)] // CHECK:STDOUT: // CHECK:STDOUT: impl: %C.loc7_25.1 as %I.ref { -// CHECK:STDOUT: %F.decl.loc8_17.1: @I.impl.%F.type.loc8_17.1 (%F.type.0daaa1.1) = fn_decl @F.2 [symbolic = @I.impl.%F.loc8_17.1 (constants.%F.49c1ac.1)] { -// CHECK:STDOUT: %x.patt: @F.2.%pattern_type (%pattern_type.ccc) = binding_pattern x [concrete] -// CHECK:STDOUT: %x.param_patt: @F.2.%pattern_type (%pattern_type.ccc) = value_param_pattern %x.patt, call_param0 [concrete] +// CHECK:STDOUT: %F.decl.loc8_17.1: @I.impl.%F.type.loc8_17.1 (%F.type.0daaa1.1) = fn_decl @F.loc8_17.1 [symbolic = @I.impl.%F.loc8_17.1 (constants.%F.49c1ac.1)] { +// CHECK:STDOUT: %x.patt: @F.loc8_17.1.%pattern_type (%pattern_type.ccc) = binding_pattern x [concrete] +// CHECK:STDOUT: %x.param_patt: @F.loc8_17.1.%pattern_type (%pattern_type.ccc) = value_param_pattern %x.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %x.param: @F.2.%C.loc8_14.1 (%C.13320f.2) = value_param call_param0 +// CHECK:STDOUT: %x.param: @F.loc8_17.1.%C.loc8_14.1 (%C.13320f.2) = value_param call_param0 // CHECK:STDOUT: %.loc8: type = splice_block %C.loc8_14.2 [symbolic = %C.loc8_14.1 (constants.%C.13320f.2)] { // CHECK:STDOUT: %C.ref: %C.type = name_ref C, file.%C.decl [concrete = constants.%C.generic] // CHECK:STDOUT: %Y.ref: %empty_tuple.type = name_ref Y, @I.impl.%Y.loc7_14.1 [symbolic = %Y (constants.%Y)] // CHECK:STDOUT: %C.loc8_14.2: type = class_type @C, @C(constants.%Y) [symbolic = %C.loc8_14.1 (constants.%C.13320f.2)] // CHECK:STDOUT: } -// CHECK:STDOUT: %x: @F.2.%C.loc8_14.1 (%C.13320f.2) = bind_name x, %x.param +// CHECK:STDOUT: %x: @F.loc8_17.1.%C.loc8_14.1 (%C.13320f.2) = bind_name x, %x.param // CHECK:STDOUT: } -// CHECK:STDOUT: %F.decl.loc8_17.2: @I.impl.%F.type.loc8_17.2 (%F.type.0daaa1.2) = fn_decl @F.3 [symbolic = @I.impl.%F.loc8_17.2 (constants.%F.49c1ac.2)] { +// CHECK:STDOUT: %F.decl.loc8_17.2: @I.impl.%F.type.loc8_17.2 (%F.type.0daaa1.2) = fn_decl @F.loc8_17.2 [symbolic = @I.impl.%F.loc8_17.2 (constants.%F.49c1ac.2)] { // CHECK:STDOUT: %x.patt: %pattern_type.a96 = binding_pattern x [concrete] // CHECK:STDOUT: %x.param_patt: %pattern_type.a96 = value_param_pattern %x.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -255,7 +255,7 @@ fn G() { // CHECK:STDOUT: fn; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.2(@I.impl.%Y.loc7_14.1: %empty_tuple.type) { +// CHECK:STDOUT: generic fn @F.loc8_17.1(@I.impl.%Y.loc7_14.1: %empty_tuple.type) { // CHECK:STDOUT: %Y: %empty_tuple.type = bind_symbolic_name Y, 0 [symbolic = %Y (constants.%Y)] // CHECK:STDOUT: %C.loc8_14.1: type = class_type @C, @C(%Y) [symbolic = %C.loc8_14.1 (constants.%C.13320f.2)] // CHECK:STDOUT: %pattern_type: type = pattern_type %C.loc8_14.1 [symbolic = %pattern_type (constants.%pattern_type.ccc)] @@ -263,47 +263,47 @@ fn G() { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type %C.loc8_14.1 [symbolic = %require_complete (constants.%require_complete.a35)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%x.param: @F.2.%C.loc8_14.1 (%C.13320f.2)) { +// CHECK:STDOUT: fn(%x.param: @F.loc8_17.1.%C.loc8_14.1 (%C.13320f.2)) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.3(@I.impl.%Y.loc7_14.1: %empty_tuple.type) { +// CHECK:STDOUT: generic fn @F.loc8_17.2(@I.impl.%Y.loc7_14.1: %empty_tuple.type) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Y: %empty_tuple.type = bind_symbolic_name Y, 0 [symbolic = %Y (constants.%Y)] -// CHECK:STDOUT: %F.type: type = fn_type @F.2, @I.impl(%Y) [symbolic = %F.type (constants.%F.type.0daaa1.1)] -// CHECK:STDOUT: %F: @F.3.%F.type (%F.type.0daaa1.1) = struct_value () [symbolic = %F (constants.%F.49c1ac.1)] -// CHECK:STDOUT: %F.specific_fn.loc8_17.2: = specific_function %F, @F.2(%Y) [symbolic = %F.specific_fn.loc8_17.2 (constants.%F.specific_fn)] +// CHECK:STDOUT: %F.type: type = fn_type @F.loc8_17.1, @I.impl(%Y) [symbolic = %F.type (constants.%F.type.0daaa1.1)] +// CHECK:STDOUT: %F: @F.loc8_17.2.%F.type (%F.type.0daaa1.1) = struct_value () [symbolic = %F (constants.%F.49c1ac.1)] +// CHECK:STDOUT: %F.specific_fn.loc8_17.2: = specific_function %F, @F.loc8_17.1(%Y) [symbolic = %F.specific_fn.loc8_17.2 (constants.%F.specific_fn)] // CHECK:STDOUT: %C: type = class_type @C, @C(%Y) [symbolic = %C (constants.%C.13320f.2)] // CHECK:STDOUT: %require_complete.1: = require_complete_type %C [symbolic = %require_complete.1 (constants.%require_complete.a35)] -// CHECK:STDOUT: %C.val: @F.3.%C (%C.13320f.2) = struct_value () [symbolic = %C.val (constants.%C.val)] +// CHECK:STDOUT: %C.val: @F.loc8_17.2.%C (%C.13320f.2) = struct_value () [symbolic = %C.val (constants.%C.val)] // CHECK:STDOUT: %Destroy.lookup_impl_witness: = lookup_impl_witness %C, @Destroy [symbolic = %Destroy.lookup_impl_witness (constants.%Destroy.lookup_impl_witness)] // CHECK:STDOUT: %Destroy.facet: %Destroy.type = facet_value %C, (%Destroy.lookup_impl_witness) [symbolic = %Destroy.facet (constants.%Destroy.facet)] // CHECK:STDOUT: %.7: type = fn_type_with_self_type constants.%Op.type.bae, %Destroy.facet [symbolic = %.7 (constants.%.97f)] -// CHECK:STDOUT: %impl.elem0.2: @F.3.%.7 (%.97f) = impl_witness_access %Destroy.lookup_impl_witness, element0 [symbolic = %impl.elem0.2 (constants.%impl.elem0)] +// CHECK:STDOUT: %impl.elem0.2: @F.loc8_17.2.%.7 (%.97f) = impl_witness_access %Destroy.lookup_impl_witness, element0 [symbolic = %impl.elem0.2 (constants.%impl.elem0)] // CHECK:STDOUT: %specific_impl_fn.2: = specific_impl_function %impl.elem0.2, @Op.1(%Destroy.facet) [symbolic = %specific_impl_fn.2 (constants.%specific_impl_fn)] // CHECK:STDOUT: %ptr: type = ptr_type %C [symbolic = %ptr (constants.%ptr.40d)] // CHECK:STDOUT: %require_complete.2: = require_complete_type %ptr [symbolic = %require_complete.2 (constants.%require_complete.0b0)] // CHECK:STDOUT: // CHECK:STDOUT: fn(%x.param: %empty_struct_type) [thunk @I.impl.%F.decl.loc8_17.1] { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %.loc8: @F.3.%F.type (%F.type.0daaa1.1) = specific_constant @I.impl.%F.decl.loc8_17.1, @I.impl(constants.%Y) [symbolic = %F (constants.%F.49c1ac.1)] -// CHECK:STDOUT: %F.ref: @F.3.%F.type (%F.type.0daaa1.1) = name_ref F, %.loc8 [symbolic = %F (constants.%F.49c1ac.1)] +// CHECK:STDOUT: %.loc8: @F.loc8_17.2.%F.type (%F.type.0daaa1.1) = specific_constant @I.impl.%F.decl.loc8_17.1, @I.impl(constants.%Y) [symbolic = %F (constants.%F.49c1ac.1)] +// CHECK:STDOUT: %F.ref: @F.loc8_17.2.%F.type (%F.type.0daaa1.1) = name_ref F, %.loc8 [symbolic = %F (constants.%F.49c1ac.1)] // CHECK:STDOUT: %x.ref: %empty_struct_type = name_ref x, %x.param -// CHECK:STDOUT: %F.specific_fn.loc8_17.1: = specific_function %F.ref, @F.2(constants.%Y) [symbolic = %F.specific_fn.loc8_17.2 (constants.%F.specific_fn)] -// CHECK:STDOUT: %.1: ref @F.3.%C (%C.13320f.2) = temporary_storage -// CHECK:STDOUT: %.2: init @F.3.%C (%C.13320f.2) = class_init (), %.1 [symbolic = %C.val (constants.%C.val)] -// CHECK:STDOUT: %.3: ref @F.3.%C (%C.13320f.2) = temporary %.1, %.2 -// CHECK:STDOUT: %.4: ref @F.3.%C (%C.13320f.2) = converted %x.ref, %.3 -// CHECK:STDOUT: %.5: @F.3.%C (%C.13320f.2) = bind_value %.4 +// CHECK:STDOUT: %F.specific_fn.loc8_17.1: = specific_function %F.ref, @F.loc8_17.1(constants.%Y) [symbolic = %F.specific_fn.loc8_17.2 (constants.%F.specific_fn)] +// CHECK:STDOUT: %.1: ref @F.loc8_17.2.%C (%C.13320f.2) = temporary_storage +// CHECK:STDOUT: %.2: init @F.loc8_17.2.%C (%C.13320f.2) = class_init (), %.1 [symbolic = %C.val (constants.%C.val)] +// CHECK:STDOUT: %.3: ref @F.loc8_17.2.%C (%C.13320f.2) = temporary %.1, %.2 +// CHECK:STDOUT: %.4: ref @F.loc8_17.2.%C (%C.13320f.2) = converted %x.ref, %.3 +// CHECK:STDOUT: %.5: @F.loc8_17.2.%C (%C.13320f.2) = bind_value %.4 // CHECK:STDOUT: %F.call: init %empty_tuple.type = call %F.specific_fn.loc8_17.1(%.5) // CHECK:STDOUT: %Op.ref: %Destroy.assoc_type = name_ref Op, imports.%Core.import_ref.f99 [concrete = constants.%assoc0] -// CHECK:STDOUT: %impl.elem0.1: @F.3.%.7 (%.97f) = impl_witness_access constants.%Destroy.lookup_impl_witness, element0 [symbolic = %impl.elem0.2 (constants.%impl.elem0)] +// CHECK:STDOUT: %impl.elem0.1: @F.loc8_17.2.%.7 (%.97f) = impl_witness_access constants.%Destroy.lookup_impl_witness, element0 [symbolic = %impl.elem0.2 (constants.%impl.elem0)] // CHECK:STDOUT: %bound_method.1: = bound_method %.1, %impl.elem0.1 // CHECK:STDOUT: %specific_impl_fn.1: = specific_impl_function %impl.elem0.1, @Op.1(constants.%Destroy.facet) [symbolic = %specific_impl_fn.2 (constants.%specific_impl_fn)] // CHECK:STDOUT: %bound_method.2: = bound_method %.1, %specific_impl_fn.1 -// CHECK:STDOUT: %addr: @F.3.%ptr (%ptr.40d) = addr_of %.1 +// CHECK:STDOUT: %addr: @F.loc8_17.2.%ptr (%ptr.40d) = addr_of %.1 // CHECK:STDOUT: %.6: init %empty_tuple.type = call %bound_method.2(%addr) // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -333,7 +333,7 @@ fn G() { // CHECK:STDOUT: // CHECK:STDOUT: specific @F.1(constants.%Self.826) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.2(constants.%Y) { +// CHECK:STDOUT: specific @F.loc8_17.1(constants.%Y) { // CHECK:STDOUT: %Y => constants.%Y // CHECK:STDOUT: %C.loc8_14.1 => constants.%C.13320f.2 // CHECK:STDOUT: %pattern_type => constants.%pattern_type.ccc @@ -344,7 +344,7 @@ fn G() { // CHECK:STDOUT: // CHECK:STDOUT: specific @F.1(constants.%I.facet) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.3(constants.%Y) {} +// CHECK:STDOUT: specific @F.loc8_17.2(constants.%Y) {} // CHECK:STDOUT: // CHECK:STDOUT: --- c.carbon // CHECK:STDOUT: diff --git a/toolchain/check/testdata/impl/import_use_generic.carbon b/toolchain/check/testdata/impl/import_use_generic.carbon index 5bd72e6e49cc..1b6278ab03d3 100644 --- a/toolchain/check/testdata/impl/import_use_generic.carbon +++ b/toolchain/check/testdata/impl/import_use_generic.carbon @@ -65,12 +65,12 @@ fn H() -> C({}).(I.F)() {} // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %I.type: type = facet_type <@I> [concrete] // CHECK:STDOUT: %Self: %I.type = bind_symbolic_name Self, 0 [symbolic] -// CHECK:STDOUT: %F.type.cf0: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.cf0: type = fn_type @F.loc7 [concrete] // CHECK:STDOUT: %F.bc6: %F.type.cf0 = struct_value () [concrete] // CHECK:STDOUT: %I.assoc_type: type = assoc_entity_type @I [concrete] // CHECK:STDOUT: %assoc0: %I.assoc_type = assoc_entity element0, @I.%F.decl [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness file.%I.impl_witness_table, @I.impl(%T) [symbolic] -// CHECK:STDOUT: %F.type.40c: type = fn_type @F.2, @I.impl(%T) [symbolic] +// CHECK:STDOUT: %F.type.40c: type = fn_type @F.loc11, @I.impl(%T) [symbolic] // CHECK:STDOUT: %F.071: %F.type.40c = struct_value () [symbolic] // CHECK:STDOUT: %I.facet: %I.type = facet_value %C, (%I.impl_witness) [symbolic] // CHECK:STDOUT: } @@ -101,7 +101,7 @@ fn H() -> C({}).(I.F)() {} // CHECK:STDOUT: // CHECK:STDOUT: interface @I { // CHECK:STDOUT: %Self: %I.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self] -// CHECK:STDOUT: %F.decl: %F.type.cf0 = fn_decl @F.1 [concrete = constants.%F.bc6] {} {} +// CHECK:STDOUT: %F.decl: %F.type.cf0 = fn_decl @F.loc7 [concrete = constants.%F.bc6] {} {} // CHECK:STDOUT: %assoc0: %I.assoc_type = assoc_entity element0, %F.decl [concrete = constants.%assoc0] // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -116,11 +116,11 @@ fn H() -> C({}).(I.F)() {} // CHECK:STDOUT: %I.impl_witness: = impl_witness file.%I.impl_witness_table, @I.impl(%T.loc10_14.2) [symbolic = %I.impl_witness (constants.%I.impl_witness)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %F.type: type = fn_type @F.2, @I.impl(%T.loc10_14.2) [symbolic = %F.type (constants.%F.type.40c)] +// CHECK:STDOUT: %F.type: type = fn_type @F.loc11, @I.impl(%T.loc10_14.2) [symbolic = %F.type (constants.%F.type.40c)] // CHECK:STDOUT: %F: @I.impl.%F.type (%F.type.40c) = struct_value () [symbolic = %F (constants.%F.071)] // CHECK:STDOUT: // CHECK:STDOUT: impl: %C.loc10_27.1 as %I.ref { -// CHECK:STDOUT: %F.decl: @I.impl.%F.type (%F.type.40c) = fn_decl @F.2 [symbolic = @I.impl.%F (constants.%F.071)] {} {} +// CHECK:STDOUT: %F.decl: @I.impl.%F.type (%F.type.40c) = fn_decl @F.loc11 [symbolic = @I.impl.%F (constants.%F.071)] {} {} // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .F = %F.decl @@ -143,11 +143,11 @@ fn H() -> C({}).(I.F)() {} // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.1(@I.%Self: %I.type) { +// CHECK:STDOUT: generic fn @F.loc7(@I.%Self: %I.type) { // CHECK:STDOUT: fn(); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.2(@I.impl.%T.loc10_14.1: type) { +// CHECK:STDOUT: generic fn @F.loc11(@I.impl.%T.loc10_14.1: type) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: // CHECK:STDOUT: fn() { @@ -160,7 +160,7 @@ fn H() -> C({}).(I.F)() {} // CHECK:STDOUT: %T.loc4_9.2 => constants.%T // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%Self) {} +// CHECK:STDOUT: specific @F.loc7(constants.%Self) {} // CHECK:STDOUT: // CHECK:STDOUT: specific @I.impl(constants.%T) { // CHECK:STDOUT: %T.loc10_14.2 => constants.%T @@ -172,9 +172,9 @@ fn H() -> C({}).(I.F)() {} // CHECK:STDOUT: %F => constants.%F.071 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.2(constants.%T) {} +// CHECK:STDOUT: specific @F.loc11(constants.%T) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%I.facet) {} +// CHECK:STDOUT: specific @F.loc7(constants.%I.facet) {} // CHECK:STDOUT: // CHECK:STDOUT: --- fail_use_in_fn_decl.carbon // CHECK:STDOUT: diff --git a/toolchain/check/testdata/impl/interface_args.carbon b/toolchain/check/testdata/impl/interface_args.carbon index e2176fa1c488..e42717f5f581 100644 --- a/toolchain/check/testdata/impl/interface_args.carbon +++ b/toolchain/check/testdata/impl/interface_args.carbon @@ -213,7 +213,7 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: %Self.e98: %Action.type.cca = bind_symbolic_name Self, 1 [symbolic] // CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self.e98 [symbolic] // CHECK:STDOUT: %pattern_type.8db: type = pattern_type %Self.as_type [symbolic] -// CHECK:STDOUT: %Op.type.036: type = fn_type @Op.1, @Action(%T) [symbolic] +// CHECK:STDOUT: %Op.type.036: type = fn_type @Op.loc5, @Action(%T) [symbolic] // CHECK:STDOUT: %Op.6ed: %Op.type.036 = struct_value () [symbolic] // CHECK:STDOUT: %Action.assoc_type.32e: type = assoc_entity_type @Action, @Action(%T) [symbolic] // CHECK:STDOUT: %assoc0.268: %Action.assoc_type.32e = assoc_entity element0, @Action.%Op.decl [symbolic] @@ -224,13 +224,13 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %Action.type.cb0: type = facet_type <@Action, @Action(%B)> [concrete] // CHECK:STDOUT: %Self.0d1: %Action.type.cb0 = bind_symbolic_name Self, 1 [symbolic] -// CHECK:STDOUT: %Op.type.54d: type = fn_type @Op.1, @Action(%B) [concrete] +// CHECK:STDOUT: %Op.type.54d: type = fn_type @Op.loc5, @Action(%B) [concrete] // CHECK:STDOUT: %Op.dba: %Op.type.54d = struct_value () [concrete] // CHECK:STDOUT: %Action.assoc_type.4ee: type = assoc_entity_type @Action, @Action(%B) [concrete] // CHECK:STDOUT: %assoc0.f3b: %Action.assoc_type.4ee = assoc_entity element0, @Action.%Op.decl [concrete] // CHECK:STDOUT: %Action.impl_witness: = impl_witness file.%Action.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.c10: type = pattern_type %A [concrete] -// CHECK:STDOUT: %Op.type.4b4: type = fn_type @Op.2 [concrete] +// CHECK:STDOUT: %Op.type.4b4: type = fn_type @Op.loc13 [concrete] // CHECK:STDOUT: %Op.40d: %Op.type.4b4 = struct_value () [concrete] // CHECK:STDOUT: %Action.facet: %Action.type.cb0 = facet_value %A, (%Action.impl_witness) [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] @@ -287,25 +287,25 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Action.type: type = facet_type <@Action, @Action(%T.loc4_18.2)> [symbolic = %Action.type (constants.%Action.type.cca)] // CHECK:STDOUT: %Self.2: @Action.%Action.type (%Action.type.cca) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.e98)] -// CHECK:STDOUT: %Op.type: type = fn_type @Op.1, @Action(%T.loc4_18.2) [symbolic = %Op.type (constants.%Op.type.036)] +// CHECK:STDOUT: %Op.type: type = fn_type @Op.loc5, @Action(%T.loc4_18.2) [symbolic = %Op.type (constants.%Op.type.036)] // CHECK:STDOUT: %Op: @Action.%Op.type (%Op.type.036) = struct_value () [symbolic = %Op (constants.%Op.6ed)] // CHECK:STDOUT: %Action.assoc_type: type = assoc_entity_type @Action, @Action(%T.loc4_18.2) [symbolic = %Action.assoc_type (constants.%Action.assoc_type.32e)] // CHECK:STDOUT: %assoc0.loc5_22.2: @Action.%Action.assoc_type (%Action.assoc_type.32e) = assoc_entity element0, %Op.decl [symbolic = %assoc0.loc5_22.2 (constants.%assoc0.268)] // CHECK:STDOUT: // CHECK:STDOUT: interface { // CHECK:STDOUT: %Self.1: @Action.%Action.type (%Action.type.cca) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.e98)] -// CHECK:STDOUT: %Op.decl: @Action.%Op.type (%Op.type.036) = fn_decl @Op.1 [symbolic = @Action.%Op (constants.%Op.6ed)] { -// CHECK:STDOUT: %self.patt: @Op.1.%pattern_type (%pattern_type.8db) = binding_pattern self [concrete] -// CHECK:STDOUT: %self.param_patt: @Op.1.%pattern_type (%pattern_type.8db) = value_param_pattern %self.patt, call_param0 [concrete] +// CHECK:STDOUT: %Op.decl: @Action.%Op.type (%Op.type.036) = fn_decl @Op.loc5 [symbolic = @Action.%Op (constants.%Op.6ed)] { +// CHECK:STDOUT: %self.patt: @Op.loc5.%pattern_type (%pattern_type.8db) = binding_pattern self [concrete] +// CHECK:STDOUT: %self.param_patt: @Op.loc5.%pattern_type (%pattern_type.8db) = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %self.param: @Op.1.%Self.as_type.loc5_15.1 (%Self.as_type) = value_param call_param0 +// CHECK:STDOUT: %self.param: @Op.loc5.%Self.as_type.loc5_15.1 (%Self.as_type) = value_param call_param0 // CHECK:STDOUT: %.loc5_15.1: type = splice_block %.loc5_15.3 [symbolic = %Self.as_type.loc5_15.1 (constants.%Self.as_type)] { -// CHECK:STDOUT: %.loc5_15.2: @Op.1.%Action.type (%Action.type.cca) = specific_constant @Action.%Self.1, @Action(constants.%T) [symbolic = %Self (constants.%Self.e98)] -// CHECK:STDOUT: %Self.ref: @Op.1.%Action.type (%Action.type.cca) = name_ref Self, %.loc5_15.2 [symbolic = %Self (constants.%Self.e98)] +// CHECK:STDOUT: %.loc5_15.2: @Op.loc5.%Action.type (%Action.type.cca) = specific_constant @Action.%Self.1, @Action(constants.%T) [symbolic = %Self (constants.%Self.e98)] +// CHECK:STDOUT: %Self.ref: @Op.loc5.%Action.type (%Action.type.cca) = name_ref Self, %.loc5_15.2 [symbolic = %Self (constants.%Self.e98)] // CHECK:STDOUT: %Self.as_type.loc5_15.2: type = facet_access_type %Self.ref [symbolic = %Self.as_type.loc5_15.1 (constants.%Self.as_type)] // CHECK:STDOUT: %.loc5_15.3: type = converted %Self.ref, %Self.as_type.loc5_15.2 [symbolic = %Self.as_type.loc5_15.1 (constants.%Self.as_type)] // CHECK:STDOUT: } -// CHECK:STDOUT: %self: @Op.1.%Self.as_type.loc5_15.1 (%Self.as_type) = bind_name self, %self.param +// CHECK:STDOUT: %self: @Op.loc5.%Self.as_type.loc5_15.1 (%Self.as_type) = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %assoc0.loc5_22.1: @Action.%Action.assoc_type (%Action.assoc_type.32e) = assoc_entity element0, %Op.decl [symbolic = %assoc0.loc5_22.2 (constants.%assoc0.268)] // CHECK:STDOUT: @@ -317,7 +317,7 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @Action.impl: %A.ref as %Action.type { -// CHECK:STDOUT: %Op.decl: %Op.type.4b4 = fn_decl @Op.2 [concrete = constants.%Op.40d] { +// CHECK:STDOUT: %Op.decl: %Op.type.4b4 = fn_decl @Op.loc13 [concrete = constants.%Op.40d] { // CHECK:STDOUT: %self.patt: %pattern_type.c10 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.c10 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -358,17 +358,17 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: .Self = constants.%C // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @Op.1(@Action.%T.loc4_18.1: type, @Action.%Self.1: @Action.%Action.type (%Action.type.cca)) { +// CHECK:STDOUT: generic fn @Op.loc5(@Action.%T.loc4_18.1: type, @Action.%Self.1: @Action.%Action.type (%Action.type.cca)) { // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic = %T (constants.%T)] // CHECK:STDOUT: %Action.type: type = facet_type <@Action, @Action(%T)> [symbolic = %Action.type (constants.%Action.type.cca)] -// CHECK:STDOUT: %Self: @Op.1.%Action.type (%Action.type.cca) = bind_symbolic_name Self, 1 [symbolic = %Self (constants.%Self.e98)] +// CHECK:STDOUT: %Self: @Op.loc5.%Action.type (%Action.type.cca) = bind_symbolic_name Self, 1 [symbolic = %Self (constants.%Self.e98)] // CHECK:STDOUT: %Self.as_type.loc5_15.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc5_15.1 (constants.%Self.as_type)] // CHECK:STDOUT: %pattern_type: type = pattern_type %Self.as_type.loc5_15.1 [symbolic = %pattern_type (constants.%pattern_type.8db)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%self.param: @Op.1.%Self.as_type.loc5_15.1 (%Self.as_type)); +// CHECK:STDOUT: fn(%self.param: @Op.loc5.%Self.as_type.loc5_15.1 (%Self.as_type)); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Op.2(%self.param: %A) { +// CHECK:STDOUT: fn @Op.loc13(%self.param: %A) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -391,7 +391,7 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: %T.loc4_18.2 => constants.%T // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Op.1(constants.%T, constants.%Self.e98) { +// CHECK:STDOUT: specific @Op.loc5(constants.%T, constants.%Self.e98) { // CHECK:STDOUT: %T => constants.%T // CHECK:STDOUT: %Action.type => constants.%Action.type.cca // CHECK:STDOUT: %Self => constants.%Self.e98 @@ -411,7 +411,7 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: %assoc0.loc5_22.2 => constants.%assoc0.f3b // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Op.1(constants.%B, constants.%Action.facet) { +// CHECK:STDOUT: specific @Op.loc5(constants.%B, constants.%Action.facet) { // CHECK:STDOUT: %T => constants.%B // CHECK:STDOUT: %Action.type => constants.%Action.type.cb0 // CHECK:STDOUT: %Self => constants.%Action.facet @@ -802,13 +802,13 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: %Factory.type.c96: type = facet_type <@Factory, @Factory(%T)> [symbolic] // CHECK:STDOUT: %Self.9ba: %Factory.type.c96 = bind_symbolic_name Self, 1 [symbolic] // CHECK:STDOUT: %pattern_type.7dc: type = pattern_type %T [symbolic] -// CHECK:STDOUT: %Make.type.598: type = fn_type @Make.1, @Factory(%T) [symbolic] +// CHECK:STDOUT: %Make.type.598: type = fn_type @Make.loc6, @Factory(%T) [symbolic] // CHECK:STDOUT: %Make.737: %Make.type.598 = struct_value () [symbolic] // CHECK:STDOUT: %Factory.assoc_type.207: type = assoc_entity_type @Factory, @Factory(%T) [symbolic] // CHECK:STDOUT: %assoc0.b3c: %Factory.assoc_type.207 = assoc_entity element0, @Factory.%Make.decl [symbolic] // CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self.9ba [symbolic] // CHECK:STDOUT: %pattern_type.5ea: type = pattern_type %Self.as_type [symbolic] -// CHECK:STDOUT: %Method.type.7ee: type = fn_type @Method.1, @Factory(%T) [symbolic] +// CHECK:STDOUT: %Method.type.7ee: type = fn_type @Method.loc8, @Factory(%T) [symbolic] // CHECK:STDOUT: %Method.a71: %Method.type.7ee = struct_value () [symbolic] // CHECK:STDOUT: %assoc1.e30: %Factory.assoc_type.207 = assoc_entity element1, @Factory.%Method.decl [symbolic] // CHECK:STDOUT: %A: type = class_type @A [concrete] @@ -817,19 +817,19 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: %B: type = class_type @B [concrete] // CHECK:STDOUT: %Factory.type.a5d: type = facet_type <@Factory, @Factory(%B)> [concrete] // CHECK:STDOUT: %Self.187: %Factory.type.a5d = bind_symbolic_name Self, 1 [symbolic] -// CHECK:STDOUT: %Make.type.c59: type = fn_type @Make.1, @Factory(%B) [concrete] +// CHECK:STDOUT: %Make.type.c59: type = fn_type @Make.loc6, @Factory(%B) [concrete] // CHECK:STDOUT: %Make.efe: %Make.type.c59 = struct_value () [concrete] // CHECK:STDOUT: %Factory.assoc_type.579: type = assoc_entity_type @Factory, @Factory(%B) [concrete] // CHECK:STDOUT: %assoc0.fe7: %Factory.assoc_type.579 = assoc_entity element0, @Factory.%Make.decl [concrete] -// CHECK:STDOUT: %Method.type.117: type = fn_type @Method.1, @Factory(%B) [concrete] +// CHECK:STDOUT: %Method.type.117: type = fn_type @Method.loc8, @Factory(%B) [concrete] // CHECK:STDOUT: %Method.ea9: %Method.type.117 = struct_value () [concrete] // CHECK:STDOUT: %assoc1.02a: %Factory.assoc_type.579 = assoc_entity element1, @Factory.%Method.decl [concrete] // CHECK:STDOUT: %Factory.impl_witness: = impl_witness file.%Factory.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.049: type = pattern_type %B [concrete] -// CHECK:STDOUT: %Make.type.ec4: type = fn_type @Make.2 [concrete] +// CHECK:STDOUT: %Make.type.ec4: type = fn_type @Make.loc15 [concrete] // CHECK:STDOUT: %Make.377: %Make.type.ec4 = struct_value () [concrete] // CHECK:STDOUT: %pattern_type.c10: type = pattern_type %A [concrete] -// CHECK:STDOUT: %Method.type.af5: type = fn_type @Method.2 [concrete] +// CHECK:STDOUT: %Method.type.af5: type = fn_type @Method.loc16 [concrete] // CHECK:STDOUT: %Method.3d4: %Method.type.af5 = struct_value () [concrete] // CHECK:STDOUT: %Factory.facet: %Factory.type.a5d = facet_value %A, (%Factory.impl_witness) [concrete] // CHECK:STDOUT: } @@ -872,42 +872,42 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Factory.type: type = facet_type <@Factory, @Factory(%T.loc4_19.2)> [symbolic = %Factory.type (constants.%Factory.type.c96)] // CHECK:STDOUT: %Self.2: @Factory.%Factory.type (%Factory.type.c96) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.9ba)] -// CHECK:STDOUT: %Make.type: type = fn_type @Make.1, @Factory(%T.loc4_19.2) [symbolic = %Make.type (constants.%Make.type.598)] +// CHECK:STDOUT: %Make.type: type = fn_type @Make.loc6, @Factory(%T.loc4_19.2) [symbolic = %Make.type (constants.%Make.type.598)] // CHECK:STDOUT: %Make: @Factory.%Make.type (%Make.type.598) = struct_value () [symbolic = %Make (constants.%Make.737)] // CHECK:STDOUT: %Factory.assoc_type: type = assoc_entity_type @Factory, @Factory(%T.loc4_19.2) [symbolic = %Factory.assoc_type (constants.%Factory.assoc_type.207)] // CHECK:STDOUT: %assoc0.loc6_17.2: @Factory.%Factory.assoc_type (%Factory.assoc_type.207) = assoc_entity element0, %Make.decl [symbolic = %assoc0.loc6_17.2 (constants.%assoc0.b3c)] -// CHECK:STDOUT: %Method.type: type = fn_type @Method.1, @Factory(%T.loc4_19.2) [symbolic = %Method.type (constants.%Method.type.7ee)] +// CHECK:STDOUT: %Method.type: type = fn_type @Method.loc8, @Factory(%T.loc4_19.2) [symbolic = %Method.type (constants.%Method.type.7ee)] // CHECK:STDOUT: %Method: @Factory.%Method.type (%Method.type.7ee) = struct_value () [symbolic = %Method (constants.%Method.a71)] // CHECK:STDOUT: %assoc1.loc8_31.2: @Factory.%Factory.assoc_type (%Factory.assoc_type.207) = assoc_entity element1, %Method.decl [symbolic = %assoc1.loc8_31.2 (constants.%assoc1.e30)] // CHECK:STDOUT: // CHECK:STDOUT: interface { // CHECK:STDOUT: %Self.1: @Factory.%Factory.type (%Factory.type.c96) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.9ba)] -// CHECK:STDOUT: %Make.decl: @Factory.%Make.type (%Make.type.598) = fn_decl @Make.1 [symbolic = @Factory.%Make (constants.%Make.737)] { -// CHECK:STDOUT: %return.patt: @Make.1.%pattern_type (%pattern_type.7dc) = return_slot_pattern [concrete] -// CHECK:STDOUT: %return.param_patt: @Make.1.%pattern_type (%pattern_type.7dc) = out_param_pattern %return.patt, call_param0 [concrete] +// CHECK:STDOUT: %Make.decl: @Factory.%Make.type (%Make.type.598) = fn_decl @Make.loc6 [symbolic = @Factory.%Make (constants.%Make.737)] { +// CHECK:STDOUT: %return.patt: @Make.loc6.%pattern_type (%pattern_type.7dc) = return_slot_pattern [concrete] +// CHECK:STDOUT: %return.param_patt: @Make.loc6.%pattern_type (%pattern_type.7dc) = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, @Factory.%T.loc4_19.1 [symbolic = %T (constants.%T)] -// CHECK:STDOUT: %return.param: ref @Make.1.%T (%T) = out_param call_param0 -// CHECK:STDOUT: %return: ref @Make.1.%T (%T) = return_slot %return.param +// CHECK:STDOUT: %return.param: ref @Make.loc6.%T (%T) = out_param call_param0 +// CHECK:STDOUT: %return: ref @Make.loc6.%T (%T) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %assoc0.loc6_17.1: @Factory.%Factory.assoc_type (%Factory.assoc_type.207) = assoc_entity element0, %Make.decl [symbolic = %assoc0.loc6_17.2 (constants.%assoc0.b3c)] -// CHECK:STDOUT: %Method.decl: @Factory.%Method.type (%Method.type.7ee) = fn_decl @Method.1 [symbolic = @Factory.%Method (constants.%Method.a71)] { -// CHECK:STDOUT: %self.patt: @Method.1.%pattern_type.loc8_13 (%pattern_type.5ea) = binding_pattern self [concrete] -// CHECK:STDOUT: %self.param_patt: @Method.1.%pattern_type.loc8_13 (%pattern_type.5ea) = value_param_pattern %self.patt, call_param0 [concrete] -// CHECK:STDOUT: %return.patt: @Method.1.%pattern_type.loc8_27 (%pattern_type.7dc) = return_slot_pattern [concrete] -// CHECK:STDOUT: %return.param_patt: @Method.1.%pattern_type.loc8_27 (%pattern_type.7dc) = out_param_pattern %return.patt, call_param1 [concrete] +// CHECK:STDOUT: %Method.decl: @Factory.%Method.type (%Method.type.7ee) = fn_decl @Method.loc8 [symbolic = @Factory.%Method (constants.%Method.a71)] { +// CHECK:STDOUT: %self.patt: @Method.loc8.%pattern_type.loc8_13 (%pattern_type.5ea) = binding_pattern self [concrete] +// CHECK:STDOUT: %self.param_patt: @Method.loc8.%pattern_type.loc8_13 (%pattern_type.5ea) = value_param_pattern %self.patt, call_param0 [concrete] +// CHECK:STDOUT: %return.patt: @Method.loc8.%pattern_type.loc8_27 (%pattern_type.7dc) = return_slot_pattern [concrete] +// CHECK:STDOUT: %return.param_patt: @Method.loc8.%pattern_type.loc8_27 (%pattern_type.7dc) = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, @Factory.%T.loc4_19.1 [symbolic = %T (constants.%T)] -// CHECK:STDOUT: %self.param: @Method.1.%Self.as_type.loc8_19.1 (%Self.as_type) = value_param call_param0 +// CHECK:STDOUT: %self.param: @Method.loc8.%Self.as_type.loc8_19.1 (%Self.as_type) = value_param call_param0 // CHECK:STDOUT: %.loc8_19.1: type = splice_block %.loc8_19.3 [symbolic = %Self.as_type.loc8_19.1 (constants.%Self.as_type)] { -// CHECK:STDOUT: %.loc8_19.2: @Method.1.%Factory.type (%Factory.type.c96) = specific_constant @Factory.%Self.1, @Factory(constants.%T) [symbolic = %Self (constants.%Self.9ba)] -// CHECK:STDOUT: %Self.ref: @Method.1.%Factory.type (%Factory.type.c96) = name_ref Self, %.loc8_19.2 [symbolic = %Self (constants.%Self.9ba)] +// CHECK:STDOUT: %.loc8_19.2: @Method.loc8.%Factory.type (%Factory.type.c96) = specific_constant @Factory.%Self.1, @Factory(constants.%T) [symbolic = %Self (constants.%Self.9ba)] +// CHECK:STDOUT: %Self.ref: @Method.loc8.%Factory.type (%Factory.type.c96) = name_ref Self, %.loc8_19.2 [symbolic = %Self (constants.%Self.9ba)] // CHECK:STDOUT: %Self.as_type.loc8_19.2: type = facet_access_type %Self.ref [symbolic = %Self.as_type.loc8_19.1 (constants.%Self.as_type)] // CHECK:STDOUT: %.loc8_19.3: type = converted %Self.ref, %Self.as_type.loc8_19.2 [symbolic = %Self.as_type.loc8_19.1 (constants.%Self.as_type)] // CHECK:STDOUT: } -// CHECK:STDOUT: %self: @Method.1.%Self.as_type.loc8_19.1 (%Self.as_type) = bind_name self, %self.param -// CHECK:STDOUT: %return.param: ref @Method.1.%T (%T) = out_param call_param1 -// CHECK:STDOUT: %return: ref @Method.1.%T (%T) = return_slot %return.param +// CHECK:STDOUT: %self: @Method.loc8.%Self.as_type.loc8_19.1 (%Self.as_type) = bind_name self, %self.param +// CHECK:STDOUT: %return.param: ref @Method.loc8.%T (%T) = out_param call_param1 +// CHECK:STDOUT: %return: ref @Method.loc8.%T (%T) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %assoc1.loc8_31.1: @Factory.%Factory.assoc_type (%Factory.assoc_type.207) = assoc_entity element1, %Method.decl [symbolic = %assoc1.loc8_31.2 (constants.%assoc1.e30)] // CHECK:STDOUT: @@ -921,7 +921,7 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @Factory.impl: %A.ref as %Factory.type { -// CHECK:STDOUT: %Make.decl: %Make.type.ec4 = fn_decl @Make.2 [concrete = constants.%Make.377] { +// CHECK:STDOUT: %Make.decl: %Make.type.ec4 = fn_decl @Make.loc15 [concrete = constants.%Make.377] { // CHECK:STDOUT: %return.patt: %pattern_type.049 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.049 = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -929,7 +929,7 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: %return.param: ref %B = out_param call_param0 // CHECK:STDOUT: %return: ref %B = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %Method.decl: %Method.type.af5 = fn_decl @Method.2 [concrete = constants.%Method.3d4] { +// CHECK:STDOUT: %Method.decl: %Method.type.af5 = fn_decl @Method.loc16 [concrete = constants.%Method.3d4] { // CHECK:STDOUT: %self.patt: %pattern_type.c10 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.c10 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %return.patt: %pattern_type.049 = return_slot_pattern [concrete] @@ -968,38 +968,38 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: .Self = constants.%B // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @Make.1(@Factory.%T.loc4_19.1: type, @Factory.%Self.1: @Factory.%Factory.type (%Factory.type.c96)) { +// CHECK:STDOUT: generic fn @Make.loc6(@Factory.%T.loc4_19.1: type, @Factory.%Self.1: @Factory.%Factory.type (%Factory.type.c96)) { // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic = %T (constants.%T)] // CHECK:STDOUT: %pattern_type: type = pattern_type %T [symbolic = %pattern_type (constants.%pattern_type.7dc)] // CHECK:STDOUT: -// CHECK:STDOUT: fn() -> @Make.1.%T (%T); +// CHECK:STDOUT: fn() -> @Make.loc6.%T (%T); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @Method.1(@Factory.%T.loc4_19.1: type, @Factory.%Self.1: @Factory.%Factory.type (%Factory.type.c96)) { +// CHECK:STDOUT: generic fn @Method.loc8(@Factory.%T.loc4_19.1: type, @Factory.%Self.1: @Factory.%Factory.type (%Factory.type.c96)) { // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic = %T (constants.%T)] // CHECK:STDOUT: %Factory.type: type = facet_type <@Factory, @Factory(%T)> [symbolic = %Factory.type (constants.%Factory.type.c96)] -// CHECK:STDOUT: %Self: @Method.1.%Factory.type (%Factory.type.c96) = bind_symbolic_name Self, 1 [symbolic = %Self (constants.%Self.9ba)] +// CHECK:STDOUT: %Self: @Method.loc8.%Factory.type (%Factory.type.c96) = bind_symbolic_name Self, 1 [symbolic = %Self (constants.%Self.9ba)] // CHECK:STDOUT: %Self.as_type.loc8_19.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc8_19.1 (constants.%Self.as_type)] // CHECK:STDOUT: %pattern_type.loc8_13: type = pattern_type %Self.as_type.loc8_19.1 [symbolic = %pattern_type.loc8_13 (constants.%pattern_type.5ea)] // CHECK:STDOUT: %pattern_type.loc8_27: type = pattern_type %T [symbolic = %pattern_type.loc8_27 (constants.%pattern_type.7dc)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%self.param: @Method.1.%Self.as_type.loc8_19.1 (%Self.as_type)) -> @Method.1.%T (%T); +// CHECK:STDOUT: fn(%self.param: @Method.loc8.%Self.as_type.loc8_19.1 (%Self.as_type)) -> @Method.loc8.%T (%T); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Make.2() -> %B; +// CHECK:STDOUT: fn @Make.loc15() -> %B; // CHECK:STDOUT: -// CHECK:STDOUT: fn @Method.2(%self.param: %A) -> %B; +// CHECK:STDOUT: fn @Method.loc16(%self.param: %A) -> %B; // CHECK:STDOUT: // CHECK:STDOUT: specific @Factory(constants.%T) { // CHECK:STDOUT: %T.loc4_19.2 => constants.%T // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Make.1(constants.%T, constants.%Self.9ba) { +// CHECK:STDOUT: specific @Make.loc6(constants.%T, constants.%Self.9ba) { // CHECK:STDOUT: %T => constants.%T // CHECK:STDOUT: %pattern_type => constants.%pattern_type.7dc // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Method.1(constants.%T, constants.%Self.9ba) { +// CHECK:STDOUT: specific @Method.loc8(constants.%T, constants.%Self.9ba) { // CHECK:STDOUT: %T => constants.%T // CHECK:STDOUT: %Factory.type => constants.%Factory.type.c96 // CHECK:STDOUT: %Self => constants.%Self.9ba @@ -1023,12 +1023,12 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: %assoc1.loc8_31.2 => constants.%assoc1.02a // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Make.1(constants.%B, constants.%Factory.facet) { +// CHECK:STDOUT: specific @Make.loc6(constants.%B, constants.%Factory.facet) { // CHECK:STDOUT: %T => constants.%B // CHECK:STDOUT: %pattern_type => constants.%pattern_type.049 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Method.1(constants.%B, constants.%Factory.facet) { +// CHECK:STDOUT: specific @Method.loc8(constants.%B, constants.%Factory.facet) { // CHECK:STDOUT: %T => constants.%B // CHECK:STDOUT: %Factory.type => constants.%Factory.type.a5d // CHECK:STDOUT: %Self => constants.%Factory.facet diff --git a/toolchain/check/testdata/impl/lookup/alias.carbon b/toolchain/check/testdata/impl/lookup/alias.carbon index 1af077daffa1..009d7d3a0c58 100644 --- a/toolchain/check/testdata/impl/lookup/alias.carbon +++ b/toolchain/check/testdata/impl/lookup/alias.carbon @@ -34,7 +34,7 @@ fn G(c: C) { // CHECK:STDOUT: constants { // CHECK:STDOUT: %HasF.type: type = facet_type <@HasF> [concrete] // CHECK:STDOUT: %Self: %HasF.type = bind_symbolic_name Self, 0 [symbolic] -// CHECK:STDOUT: %F.type.b7b: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.b7b: type = fn_type @F.loc16 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %F.f50: %F.type.b7b = struct_value () [concrete] // CHECK:STDOUT: %HasF.assoc_type: type = assoc_entity_type @HasF [concrete] @@ -43,7 +43,7 @@ fn G(c: C) { // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %HasF.impl_witness: = impl_witness file.%HasF.impl_witness_table [concrete] -// CHECK:STDOUT: %F.type.a02: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.a02: type = fn_type @F.loc24 [concrete] // CHECK:STDOUT: %F.dc7: %F.type.a02 = struct_value () [concrete] // CHECK:STDOUT: %HasF.facet: %HasF.type = facet_value %C, (%HasF.impl_witness) [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] @@ -78,7 +78,7 @@ fn G(c: C) { // CHECK:STDOUT: // CHECK:STDOUT: interface @HasF { // CHECK:STDOUT: %Self: %HasF.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self] -// CHECK:STDOUT: %F.decl: %F.type.b7b = fn_decl @F.1 [concrete = constants.%F.f50] {} {} +// CHECK:STDOUT: %F.decl: %F.type.b7b = fn_decl @F.loc16 [concrete = constants.%F.f50] {} {} // CHECK:STDOUT: %assoc0: %HasF.assoc_type = assoc_entity element0, %F.decl [concrete = constants.%assoc0] // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -88,7 +88,7 @@ fn G(c: C) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @HasF.impl: %C.ref as %HasF.ref { -// CHECK:STDOUT: %F.decl: %F.type.a02 = fn_decl @F.2 [concrete = constants.%F.dc7] {} {} +// CHECK:STDOUT: %F.decl: %F.type.a02 = fn_decl @F.loc24 [concrete = constants.%F.dc7] {} {} // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .F = %F.decl @@ -109,11 +109,11 @@ fn G(c: C) { // CHECK:STDOUT: .G = %G // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.1(@HasF.%Self: %HasF.type) { +// CHECK:STDOUT: generic fn @F.loc16(@HasF.%Self: %HasF.type) { // CHECK:STDOUT: fn(); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2() { +// CHECK:STDOUT: fn @F.loc24() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -131,7 +131,7 @@ fn G(c: C) { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%Self) {} +// CHECK:STDOUT: specific @F.loc16(constants.%Self) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%HasF.facet) {} +// CHECK:STDOUT: specific @F.loc16(constants.%HasF.facet) {} // CHECK:STDOUT: diff --git a/toolchain/check/testdata/impl/lookup/canonical_query_self.carbon b/toolchain/check/testdata/impl/lookup/canonical_query_self.carbon index 0065d9769436..f0efc02a2b83 100644 --- a/toolchain/check/testdata/impl/lookup/canonical_query_self.carbon +++ b/toolchain/check/testdata/impl/lookup/canonical_query_self.carbon @@ -53,7 +53,7 @@ fn G() { // CHECK:STDOUT: %Self.826: %I.type = bind_symbolic_name Self, 0 [symbolic] // CHECK:STDOUT: %Self.as_type.b70: type = facet_access_type %Self.826 [symbolic] // CHECK:STDOUT: %pattern_type.6de: type = pattern_type %Self.as_type.b70 [symbolic] -// CHECK:STDOUT: %II.type.465: type = fn_type @II.1 [concrete] +// CHECK:STDOUT: %II.type.465: type = fn_type @II.loc16 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %II.a07: %II.type.465 = struct_value () [concrete] // CHECK:STDOUT: %I.assoc_type: type = assoc_entity_type @I [concrete] @@ -62,7 +62,7 @@ fn G() { // CHECK:STDOUT: %Self.ccd: %J.type = bind_symbolic_name Self, 0 [symbolic] // CHECK:STDOUT: %Self.as_type.3df: type = facet_access_type %Self.ccd [symbolic] // CHECK:STDOUT: %pattern_type.4ca: type = pattern_type %Self.as_type.3df [symbolic] -// CHECK:STDOUT: %JJ.type.622: type = fn_type @JJ.1 [concrete] +// CHECK:STDOUT: %JJ.type.622: type = fn_type @JJ.loc19 [concrete] // CHECK:STDOUT: %JJ.5f5: %JJ.type.622 = struct_value () [concrete] // CHECK:STDOUT: %J.assoc_type: type = assoc_entity_type @J [concrete] // CHECK:STDOUT: %assoc0.78c: %J.assoc_type = assoc_entity element0, @J.%JJ.decl [concrete] @@ -90,17 +90,17 @@ fn G() { // CHECK:STDOUT: %J.facet.fa4: %J.type = facet_value %T.as_type, (%J.lookup_impl_witness) [symbolic] // CHECK:STDOUT: %.935: type = fn_type_with_self_type %JJ.type.622, %J.facet.fa4 [symbolic] // CHECK:STDOUT: %impl.elem0: %.935 = impl_witness_access %J.lookup_impl_witness, element0 [symbolic] -// CHECK:STDOUT: %specific_impl_fn: = specific_impl_function %impl.elem0, @JJ.1(%J.facet.fa4) [symbolic] +// CHECK:STDOUT: %specific_impl_fn: = specific_impl_function %impl.elem0, @JJ.loc19(%J.facet.fa4) [symbolic] // CHECK:STDOUT: %G.type: type = fn_type @G [concrete] // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness @C.%I.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.893: type = pattern_type %C [concrete] -// CHECK:STDOUT: %II.type.f11: type = fn_type @II.2 [concrete] +// CHECK:STDOUT: %II.type.f11: type = fn_type @II.loc32 [concrete] // CHECK:STDOUT: %II.b71: %II.type.f11 = struct_value () [concrete] // CHECK:STDOUT: %I.facet.98f: %I.type = facet_value %C, (%I.impl_witness) [concrete] // CHECK:STDOUT: %J.impl_witness: = impl_witness @C.%J.impl_witness_table [concrete] -// CHECK:STDOUT: %JJ.type.811: type = fn_type @JJ.2 [concrete] +// CHECK:STDOUT: %JJ.type.811: type = fn_type @JJ.loc35 [concrete] // CHECK:STDOUT: %JJ.9c9: %JJ.type.811 = struct_value () [concrete] // CHECK:STDOUT: %J.facet.5df: %J.type = facet_value %C, (%J.impl_witness) [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] @@ -168,17 +168,17 @@ fn G() { // CHECK:STDOUT: // CHECK:STDOUT: interface @I { // CHECK:STDOUT: %Self: %I.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.826] -// CHECK:STDOUT: %II.decl: %II.type.465 = fn_decl @II.1 [concrete = constants.%II.a07] { -// CHECK:STDOUT: %self.patt: @II.1.%pattern_type (%pattern_type.6de) = binding_pattern self [concrete] -// CHECK:STDOUT: %self.param_patt: @II.1.%pattern_type (%pattern_type.6de) = value_param_pattern %self.patt, call_param0 [concrete] +// CHECK:STDOUT: %II.decl: %II.type.465 = fn_decl @II.loc16 [concrete = constants.%II.a07] { +// CHECK:STDOUT: %self.patt: @II.loc16.%pattern_type (%pattern_type.6de) = binding_pattern self [concrete] +// CHECK:STDOUT: %self.param_patt: @II.loc16.%pattern_type (%pattern_type.6de) = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %self.param: @II.1.%Self.as_type.loc16_15.1 (%Self.as_type.b70) = value_param call_param0 +// CHECK:STDOUT: %self.param: @II.loc16.%Self.as_type.loc16_15.1 (%Self.as_type.b70) = value_param call_param0 // CHECK:STDOUT: %.loc16_15.1: type = splice_block %.loc16_15.2 [symbolic = %Self.as_type.loc16_15.1 (constants.%Self.as_type.b70)] { // CHECK:STDOUT: %Self.ref: %I.type = name_ref Self, @I.%Self [symbolic = %Self (constants.%Self.826)] // CHECK:STDOUT: %Self.as_type.loc16_15.2: type = facet_access_type %Self.ref [symbolic = %Self.as_type.loc16_15.1 (constants.%Self.as_type.b70)] // CHECK:STDOUT: %.loc16_15.2: type = converted %Self.ref, %Self.as_type.loc16_15.2 [symbolic = %Self.as_type.loc16_15.1 (constants.%Self.as_type.b70)] // CHECK:STDOUT: } -// CHECK:STDOUT: %self: @II.1.%Self.as_type.loc16_15.1 (%Self.as_type.b70) = bind_name self, %self.param +// CHECK:STDOUT: %self: @II.loc16.%Self.as_type.loc16_15.1 (%Self.as_type.b70) = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %assoc0: %I.assoc_type = assoc_entity element0, %II.decl [concrete = constants.%assoc0.82e] // CHECK:STDOUT: @@ -192,17 +192,17 @@ fn G() { // CHECK:STDOUT: // CHECK:STDOUT: interface @J { // CHECK:STDOUT: %Self: %J.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.ccd] -// CHECK:STDOUT: %JJ.decl: %JJ.type.622 = fn_decl @JJ.1 [concrete = constants.%JJ.5f5] { -// CHECK:STDOUT: %self.patt: @JJ.1.%pattern_type (%pattern_type.4ca) = binding_pattern self [concrete] -// CHECK:STDOUT: %self.param_patt: @JJ.1.%pattern_type (%pattern_type.4ca) = value_param_pattern %self.patt, call_param0 [concrete] +// CHECK:STDOUT: %JJ.decl: %JJ.type.622 = fn_decl @JJ.loc19 [concrete = constants.%JJ.5f5] { +// CHECK:STDOUT: %self.patt: @JJ.loc19.%pattern_type (%pattern_type.4ca) = binding_pattern self [concrete] +// CHECK:STDOUT: %self.param_patt: @JJ.loc19.%pattern_type (%pattern_type.4ca) = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %self.param: @JJ.1.%Self.as_type.loc19_15.1 (%Self.as_type.3df) = value_param call_param0 +// CHECK:STDOUT: %self.param: @JJ.loc19.%Self.as_type.loc19_15.1 (%Self.as_type.3df) = value_param call_param0 // CHECK:STDOUT: %.loc19_15.1: type = splice_block %.loc19_15.2 [symbolic = %Self.as_type.loc19_15.1 (constants.%Self.as_type.3df)] { // CHECK:STDOUT: %Self.ref: %J.type = name_ref Self, @J.%Self [symbolic = %Self (constants.%Self.ccd)] // CHECK:STDOUT: %Self.as_type.loc19_15.2: type = facet_access_type %Self.ref [symbolic = %Self.as_type.loc19_15.1 (constants.%Self.as_type.3df)] // CHECK:STDOUT: %.loc19_15.2: type = converted %Self.ref, %Self.as_type.loc19_15.2 [symbolic = %Self.as_type.loc19_15.1 (constants.%Self.as_type.3df)] // CHECK:STDOUT: } -// CHECK:STDOUT: %self: @JJ.1.%Self.as_type.loc19_15.1 (%Self.as_type.3df) = bind_name self, %self.param +// CHECK:STDOUT: %self: @JJ.loc19.%Self.as_type.loc19_15.1 (%Self.as_type.3df) = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %assoc0: %J.assoc_type = assoc_entity element0, %JJ.decl [concrete = constants.%assoc0.78c] // CHECK:STDOUT: @@ -213,7 +213,7 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @I.impl: %Self.ref as %I.ref { -// CHECK:STDOUT: %II.decl: %II.type.f11 = fn_decl @II.2 [concrete = constants.%II.b71] { +// CHECK:STDOUT: %II.decl: %II.type.f11 = fn_decl @II.loc32 [concrete = constants.%II.b71] { // CHECK:STDOUT: %self.patt: %pattern_type.893 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.893 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -228,7 +228,7 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @J.impl: %Self.ref as %J.ref { -// CHECK:STDOUT: %JJ.decl: %JJ.type.811 = fn_decl @JJ.2 [concrete = constants.%JJ.9c9] { +// CHECK:STDOUT: %JJ.decl: %JJ.type.811 = fn_decl @JJ.loc35 [concrete = constants.%JJ.9c9] { // CHECK:STDOUT: %self.patt: %pattern_type.893 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.893 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -268,20 +268,20 @@ fn G() { // CHECK:STDOUT: extend @J.impl.%J.ref // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @II.1(@I.%Self: %I.type) { +// CHECK:STDOUT: generic fn @II.loc16(@I.%Self: %I.type) { // CHECK:STDOUT: %Self: %I.type = bind_symbolic_name Self, 0 [symbolic = %Self (constants.%Self.826)] // CHECK:STDOUT: %Self.as_type.loc16_15.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc16_15.1 (constants.%Self.as_type.b70)] // CHECK:STDOUT: %pattern_type: type = pattern_type %Self.as_type.loc16_15.1 [symbolic = %pattern_type (constants.%pattern_type.6de)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%self.param: @II.1.%Self.as_type.loc16_15.1 (%Self.as_type.b70)); +// CHECK:STDOUT: fn(%self.param: @II.loc16.%Self.as_type.loc16_15.1 (%Self.as_type.b70)); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @JJ.1(@J.%Self: %J.type) { +// CHECK:STDOUT: generic fn @JJ.loc19(@J.%Self: %J.type) { // CHECK:STDOUT: %Self: %J.type = bind_symbolic_name Self, 0 [symbolic = %Self (constants.%Self.ccd)] // CHECK:STDOUT: %Self.as_type.loc19_15.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc19_15.1 (constants.%Self.as_type.3df)] // CHECK:STDOUT: %pattern_type: type = pattern_type %Self.as_type.loc19_15.1 [symbolic = %pattern_type (constants.%pattern_type.4ca)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%self.param: @JJ.1.%Self.as_type.loc19_15.1 (%Self.as_type.3df)); +// CHECK:STDOUT: fn(%self.param: @JJ.loc19.%Self.as_type.loc19_15.1 (%Self.as_type.3df)); // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @F(%T.loc22_6.1: %facet_type) { @@ -297,7 +297,7 @@ fn G() { // CHECK:STDOUT: %J.facet.loc26_33.2: %J.type = facet_value %T.as_type.loc22_20.2, (%J.lookup_impl_witness) [symbolic = %J.facet.loc26_33.2 (constants.%J.facet.fa4)] // CHECK:STDOUT: %.loc26_69.2: type = fn_type_with_self_type constants.%JJ.type.622, %J.facet.loc26_33.2 [symbolic = %.loc26_69.2 (constants.%.935)] // CHECK:STDOUT: %impl.elem0.loc26_69.2: @F.%.loc26_69.2 (%.935) = impl_witness_access %J.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc26_69.2 (constants.%impl.elem0)] -// CHECK:STDOUT: %specific_impl_fn.loc26_69.2: = specific_impl_function %impl.elem0.loc26_69.2, @JJ.1(%J.facet.loc26_33.2) [symbolic = %specific_impl_fn.loc26_69.2 (constants.%specific_impl_fn)] +// CHECK:STDOUT: %specific_impl_fn.loc26_69.2: = specific_impl_function %impl.elem0.loc26_69.2, @JJ.loc19(%J.facet.loc26_33.2) [symbolic = %specific_impl_fn.loc26_69.2 (constants.%specific_impl_fn)] // CHECK:STDOUT: // CHECK:STDOUT: fn(%t.param: @F.%T.as_type.loc22_20.2 (%T.as_type)) { // CHECK:STDOUT: !entry: @@ -329,7 +329,7 @@ fn G() { // CHECK:STDOUT: %.loc26_69.1: type = converted constants.%T.527, %T.as_type.loc26_69 [symbolic = %T.as_type.loc22_20.2 (constants.%T.as_type)] // CHECK:STDOUT: %impl.elem0.loc26_69.1: @F.%.loc26_69.2 (%.935) = impl_witness_access constants.%J.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc26_69.2 (constants.%impl.elem0)] // CHECK:STDOUT: %bound_method.loc26_69: = bound_method %t.ref, %impl.elem0.loc26_69.1 -// CHECK:STDOUT: %specific_impl_fn.loc26_69.1: = specific_impl_function %impl.elem0.loc26_69.1, @JJ.1(constants.%J.facet.fa4) [symbolic = %specific_impl_fn.loc26_69.2 (constants.%specific_impl_fn)] +// CHECK:STDOUT: %specific_impl_fn.loc26_69.1: = specific_impl_function %impl.elem0.loc26_69.1, @JJ.loc19(constants.%J.facet.fa4) [symbolic = %specific_impl_fn.loc26_69.2 (constants.%specific_impl_fn)] // CHECK:STDOUT: %bound_method.loc26_73: = bound_method %t.ref, %specific_impl_fn.loc26_69.1 // CHECK:STDOUT: %.loc26_73: init %empty_tuple.type = call %bound_method.loc26_73(%t.ref) // CHECK:STDOUT: return @@ -401,23 +401,23 @@ fn G() { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @II.2(%self.param: %C) { +// CHECK:STDOUT: fn @II.loc32(%self.param: %C) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @JJ.2(%self.param: %C) { +// CHECK:STDOUT: fn @JJ.loc35(%self.param: %C) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @II.1(constants.%Self.826) { +// CHECK:STDOUT: specific @II.loc16(constants.%Self.826) { // CHECK:STDOUT: %Self => constants.%Self.826 // CHECK:STDOUT: %Self.as_type.loc16_15.1 => constants.%Self.as_type.b70 // CHECK:STDOUT: %pattern_type => constants.%pattern_type.6de // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @JJ.1(constants.%Self.ccd) { +// CHECK:STDOUT: specific @JJ.loc19(constants.%Self.ccd) { // CHECK:STDOUT: %Self => constants.%Self.ccd // CHECK:STDOUT: %Self.as_type.loc19_15.1 => constants.%Self.as_type.3df // CHECK:STDOUT: %pattern_type => constants.%pattern_type.4ca @@ -429,19 +429,19 @@ fn G() { // CHECK:STDOUT: %pattern_type => constants.%pattern_type.a4f // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @JJ.1(constants.%J.facet.fa4) { +// CHECK:STDOUT: specific @JJ.loc19(constants.%J.facet.fa4) { // CHECK:STDOUT: %Self => constants.%J.facet.fa4 // CHECK:STDOUT: %Self.as_type.loc19_15.1 => constants.%T.as_type // CHECK:STDOUT: %pattern_type => constants.%pattern_type.a4f // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @II.1(constants.%I.facet.98f) { +// CHECK:STDOUT: specific @II.loc16(constants.%I.facet.98f) { // CHECK:STDOUT: %Self => constants.%I.facet.98f // CHECK:STDOUT: %Self.as_type.loc16_15.1 => constants.%C // CHECK:STDOUT: %pattern_type => constants.%pattern_type.893 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @JJ.1(constants.%J.facet.5df) { +// CHECK:STDOUT: specific @JJ.loc19(constants.%J.facet.5df) { // CHECK:STDOUT: %Self => constants.%J.facet.5df // CHECK:STDOUT: %Self.as_type.loc19_15.1 => constants.%C // CHECK:STDOUT: %pattern_type => constants.%pattern_type.893 diff --git a/toolchain/check/testdata/impl/lookup/fail_alias_impl_not_found.carbon b/toolchain/check/testdata/impl/lookup/fail_alias_impl_not_found.carbon index da6540a01c77..fa4b6c8ef7c2 100644 --- a/toolchain/check/testdata/impl/lookup/fail_alias_impl_not_found.carbon +++ b/toolchain/check/testdata/impl/lookup/fail_alias_impl_not_found.carbon @@ -38,7 +38,7 @@ fn F(c: C) { // CHECK:STDOUT: constants { // CHECK:STDOUT: %I.type: type = facet_type <@I> [concrete] // CHECK:STDOUT: %Self: %I.type = bind_symbolic_name Self, 0 [symbolic] -// CHECK:STDOUT: %F.type.cf0: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.cf0: type = fn_type @F.loc16 [concrete] // CHECK:STDOUT: %F.bc6: %F.type.cf0 = struct_value () [concrete] // CHECK:STDOUT: %I.assoc_type: type = assoc_entity_type @I [concrete] // CHECK:STDOUT: %assoc0: %I.assoc_type = assoc_entity element0, @I.%F.decl [concrete] @@ -46,7 +46,7 @@ fn F(c: C) { // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] -// CHECK:STDOUT: %F.type.b25: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.b25: type = fn_type @F.loc23 [concrete] // CHECK:STDOUT: %F.c41: %F.type.b25 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -58,7 +58,7 @@ fn F(c: C) { // CHECK:STDOUT: } // CHECK:STDOUT: %I.decl: type = interface_decl @I [concrete = constants.%I.type] {} {} // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} -// CHECK:STDOUT: %F.decl: %F.type.b25 = fn_decl @F.2 [concrete = constants.%F.c41] { +// CHECK:STDOUT: %F.decl: %F.type.b25 = fn_decl @F.loc23 [concrete = constants.%F.c41] { // CHECK:STDOUT: %c.patt: %pattern_type = binding_pattern c [concrete] // CHECK:STDOUT: %c.param_patt: %pattern_type = value_param_pattern %c.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -70,7 +70,7 @@ fn F(c: C) { // CHECK:STDOUT: // CHECK:STDOUT: interface @I { // CHECK:STDOUT: %Self: %I.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self] -// CHECK:STDOUT: %F.decl: %F.type.cf0 = fn_decl @F.1 [concrete = constants.%F.bc6] {} {} +// CHECK:STDOUT: %F.decl: %F.type.cf0 = fn_decl @F.loc16 [concrete = constants.%F.bc6] {} {} // CHECK:STDOUT: %assoc0: %I.assoc_type = assoc_entity element0, %F.decl [concrete = constants.%assoc0] // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -93,11 +93,11 @@ fn F(c: C) { // CHECK:STDOUT: .F = %F // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.1(@I.%Self: %I.type) { +// CHECK:STDOUT: generic fn @F.loc16(@I.%Self: %I.type) { // CHECK:STDOUT: fn(); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2(%c.param: %C) { +// CHECK:STDOUT: fn @F.loc23(%c.param: %C) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %C.ref.loc28: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %F.ref.loc28: %I.assoc_type = name_ref F, @C.%F [concrete = constants.%assoc0] @@ -106,5 +106,5 @@ fn F(c: C) { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%Self) {} +// CHECK:STDOUT: specific @F.loc16(constants.%Self) {} // CHECK:STDOUT: diff --git a/toolchain/check/testdata/impl/lookup/fail_todo_undefined_impl.carbon b/toolchain/check/testdata/impl/lookup/fail_todo_undefined_impl.carbon index a8b8b8f90178..10f007aceecf 100644 --- a/toolchain/check/testdata/impl/lookup/fail_todo_undefined_impl.carbon +++ b/toolchain/check/testdata/impl/lookup/fail_todo_undefined_impl.carbon @@ -53,7 +53,7 @@ fn G() { // CHECK:STDOUT: constants { // CHECK:STDOUT: %I.type: type = facet_type <@I> [concrete] // CHECK:STDOUT: %Self: %I.type = bind_symbolic_name Self, 0 [symbolic] -// CHECK:STDOUT: %F.type.cf0: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.cf0: type = fn_type @F.loc16 [concrete] // CHECK:STDOUT: %F.bc6: %F.type.cf0 = struct_value () [concrete] // CHECK:STDOUT: %I.assoc_type: type = assoc_entity_type @I [concrete] // CHECK:STDOUT: %assoc0: %I.assoc_type = assoc_entity element0, @I.%F.decl [concrete] @@ -61,12 +61,12 @@ fn G() { // CHECK:STDOUT: %I.impl_witness.ab4: = impl_witness @C.%I.impl_witness_table [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] -// CHECK:STDOUT: %F.type.b25: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.b25: type = fn_type @F.loc25 [concrete] // CHECK:STDOUT: %F.c41: %F.type.b25 = struct_value () [concrete] // CHECK:STDOUT: %I.facet.580: %I.type = facet_value %C, (%I.impl_witness.ab4) [concrete] // CHECK:STDOUT: %.3ac: type = fn_type_with_self_type %F.type.cf0, %I.facet.580 [concrete] // CHECK:STDOUT: %I.impl_witness.6f2: = impl_witness file.%I.impl_witness_table [concrete] -// CHECK:STDOUT: %F.type.5d6: type = fn_type @F.3 [concrete] +// CHECK:STDOUT: %F.type.5d6: type = fn_type @F.loc36 [concrete] // CHECK:STDOUT: %F.a2e: %F.type.5d6 = struct_value () [concrete] // CHECK:STDOUT: %I.facet.029: %I.type = facet_value %C, (%I.impl_witness.6f2) [concrete] // CHECK:STDOUT: %G.type: type = fn_type @G [concrete] @@ -82,7 +82,7 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: %I.decl: type = interface_decl @I [concrete = constants.%I.type] {} {} // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} -// CHECK:STDOUT: %F.decl: %F.type.b25 = fn_decl @F.2 [concrete = constants.%F.c41] {} {} +// CHECK:STDOUT: %F.decl: %F.type.b25 = fn_decl @F.loc25 [concrete = constants.%F.c41] {} {} // CHECK:STDOUT: impl_decl @I.impl.770 [concrete] {} { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] @@ -94,7 +94,7 @@ fn G() { // CHECK:STDOUT: // CHECK:STDOUT: interface @I { // CHECK:STDOUT: %Self: %I.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self] -// CHECK:STDOUT: %F.decl: %F.type.cf0 = fn_decl @F.1 [concrete = constants.%F.bc6] {} {} +// CHECK:STDOUT: %F.decl: %F.type.cf0 = fn_decl @F.loc16 [concrete = constants.%F.bc6] {} {} // CHECK:STDOUT: %assoc0: %I.assoc_type = assoc_entity element0, %F.decl [concrete = constants.%assoc0] // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -106,7 +106,7 @@ fn G() { // CHECK:STDOUT: impl @I.impl.a21: %Self.ref as %I.ref; // CHECK:STDOUT: // CHECK:STDOUT: impl @I.impl.770: %C.ref as %I.ref { -// CHECK:STDOUT: %F.decl: %F.type.5d6 = fn_decl @F.3 [concrete = constants.%F.a2e] {} {} +// CHECK:STDOUT: %F.decl: %F.type.5d6 = fn_decl @F.loc36 [concrete = constants.%F.a2e] {} {} // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .F = %F.decl @@ -131,11 +131,11 @@ fn G() { // CHECK:STDOUT: extend @I.impl.a21.%I.ref // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.1(@I.%Self: %I.type) { +// CHECK:STDOUT: generic fn @F.loc16(@I.%Self: %I.type) { // CHECK:STDOUT: fn(); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2() { +// CHECK:STDOUT: fn @F.loc25() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %F.ref: %I.assoc_type = name_ref F, @I.%assoc0 [concrete = constants.%assoc0] @@ -143,7 +143,7 @@ fn G() { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.3() { +// CHECK:STDOUT: fn @F.loc36() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -156,7 +156,7 @@ fn G() { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%Self) {} +// CHECK:STDOUT: specific @F.loc16(constants.%Self) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%I.facet.029) {} +// CHECK:STDOUT: specific @F.loc16(constants.%I.facet.029) {} // CHECK:STDOUT: diff --git a/toolchain/check/testdata/impl/lookup/generic.carbon b/toolchain/check/testdata/impl/lookup/generic.carbon index 93f61a954406..913db95e4b9f 100644 --- a/toolchain/check/testdata/impl/lookup/generic.carbon +++ b/toolchain/check/testdata/impl/lookup/generic.carbon @@ -134,7 +134,7 @@ fn G(x: A) { // CHECK:STDOUT: %Self: %HasF.type = bind_symbolic_name Self, 0 [symbolic] // CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self [symbolic] // CHECK:STDOUT: %pattern_type.28f: type = pattern_type %Self.as_type [symbolic] -// CHECK:STDOUT: %F.type.b7b: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.b7b: type = fn_type @F.loc5 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %F.f50: %F.type.b7b = struct_value () [concrete] // CHECK:STDOUT: %HasF.assoc_type: type = assoc_entity_type @HasF [concrete] @@ -143,7 +143,7 @@ fn G(x: A) { // CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] // CHECK:STDOUT: %HasF.impl_witness.ec7: = impl_witness file.%HasF.impl_witness_table, @HasF.impl(%T) [symbolic] // CHECK:STDOUT: %pattern_type.7dc: type = pattern_type %T [symbolic] -// CHECK:STDOUT: %F.type.3fd: type = fn_type @F.2, @HasF.impl(%T) [symbolic] +// CHECK:STDOUT: %F.type.3fd: type = fn_type @F.loc9, @HasF.impl(%T) [symbolic] // CHECK:STDOUT: %F.c98: %F.type.3fd = struct_value () [symbolic] // CHECK:STDOUT: %HasF.facet.216: %HasF.type = facet_value %T, (%HasF.impl_witness.ec7) [symbolic] // CHECK:STDOUT: %require_complete: = require_complete_type %T [symbolic] @@ -152,11 +152,11 @@ fn G(x: A) { // CHECK:STDOUT: %G.type: type = fn_type @G [concrete] // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] // CHECK:STDOUT: %HasF.impl_witness.6e4: = impl_witness file.%HasF.impl_witness_table, @HasF.impl(%empty_struct_type) [concrete] -// CHECK:STDOUT: %F.type.2e4: type = fn_type @F.2, @HasF.impl(%empty_struct_type) [concrete] +// CHECK:STDOUT: %F.type.2e4: type = fn_type @F.loc9, @HasF.impl(%empty_struct_type) [concrete] // CHECK:STDOUT: %F.f13: %F.type.2e4 = struct_value () [concrete] // CHECK:STDOUT: %HasF.facet.fa2: %HasF.type = facet_value %empty_struct_type, (%HasF.impl_witness.6e4) [concrete] // CHECK:STDOUT: %.e02: type = fn_type_with_self_type %F.type.b7b, %HasF.facet.fa2 [concrete] -// CHECK:STDOUT: %F.specific_fn: = specific_function %F.f13, @F.2(%empty_struct_type) [concrete] +// CHECK:STDOUT: %F.specific_fn: = specific_function %F.f13, @F.loc9(%empty_struct_type) [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -199,17 +199,17 @@ fn G(x: A) { // CHECK:STDOUT: // CHECK:STDOUT: interface @HasF { // CHECK:STDOUT: %Self: %HasF.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self] -// CHECK:STDOUT: %F.decl: %F.type.b7b = fn_decl @F.1 [concrete = constants.%F.f50] { -// CHECK:STDOUT: %self.patt: @F.1.%pattern_type (%pattern_type.28f) = binding_pattern self [concrete] -// CHECK:STDOUT: %self.param_patt: @F.1.%pattern_type (%pattern_type.28f) = value_param_pattern %self.patt, call_param0 [concrete] +// CHECK:STDOUT: %F.decl: %F.type.b7b = fn_decl @F.loc5 [concrete = constants.%F.f50] { +// CHECK:STDOUT: %self.patt: @F.loc5.%pattern_type (%pattern_type.28f) = binding_pattern self [concrete] +// CHECK:STDOUT: %self.param_patt: @F.loc5.%pattern_type (%pattern_type.28f) = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %self.param: @F.1.%Self.as_type.loc5_14.1 (%Self.as_type) = value_param call_param0 +// CHECK:STDOUT: %self.param: @F.loc5.%Self.as_type.loc5_14.1 (%Self.as_type) = value_param call_param0 // CHECK:STDOUT: %.loc5_14.1: type = splice_block %.loc5_14.2 [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type)] { // CHECK:STDOUT: %Self.ref: %HasF.type = name_ref Self, @HasF.%Self [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %Self.as_type.loc5_14.2: type = facet_access_type %Self.ref [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type)] // CHECK:STDOUT: %.loc5_14.2: type = converted %Self.ref, %Self.as_type.loc5_14.2 [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type)] // CHECK:STDOUT: } -// CHECK:STDOUT: %self: @F.1.%Self.as_type.loc5_14.1 (%Self.as_type) = bind_name self, %self.param +// CHECK:STDOUT: %self: @F.loc5.%Self.as_type.loc5_14.1 (%Self.as_type) = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %assoc0: %HasF.assoc_type = assoc_entity element0, %F.decl [concrete = constants.%assoc0] // CHECK:STDOUT: @@ -224,17 +224,17 @@ fn G(x: A) { // CHECK:STDOUT: %HasF.impl_witness: = impl_witness file.%HasF.impl_witness_table, @HasF.impl(%T.loc8_14.2) [symbolic = %HasF.impl_witness (constants.%HasF.impl_witness.ec7)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %F.type: type = fn_type @F.2, @HasF.impl(%T.loc8_14.2) [symbolic = %F.type (constants.%F.type.3fd)] +// CHECK:STDOUT: %F.type: type = fn_type @F.loc9, @HasF.impl(%T.loc8_14.2) [symbolic = %F.type (constants.%F.type.3fd)] // CHECK:STDOUT: %F: @HasF.impl.%F.type (%F.type.3fd) = struct_value () [symbolic = %F (constants.%F.c98)] // CHECK:STDOUT: // CHECK:STDOUT: impl: %T.ref as %HasF.ref { -// CHECK:STDOUT: %F.decl: @HasF.impl.%F.type (%F.type.3fd) = fn_decl @F.2 [symbolic = @HasF.impl.%F (constants.%F.c98)] { -// CHECK:STDOUT: %self.patt: @F.2.%pattern_type (%pattern_type.7dc) = binding_pattern self [concrete] -// CHECK:STDOUT: %self.param_patt: @F.2.%pattern_type (%pattern_type.7dc) = value_param_pattern %self.patt, call_param0 [concrete] +// CHECK:STDOUT: %F.decl: @HasF.impl.%F.type (%F.type.3fd) = fn_decl @F.loc9 [symbolic = @HasF.impl.%F (constants.%F.c98)] { +// CHECK:STDOUT: %self.patt: @F.loc9.%pattern_type (%pattern_type.7dc) = binding_pattern self [concrete] +// CHECK:STDOUT: %self.param_patt: @F.loc9.%pattern_type (%pattern_type.7dc) = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %self.param: @F.2.%T (%T) = value_param call_param0 +// CHECK:STDOUT: %self.param: @F.loc9.%T (%T) = value_param call_param0 // CHECK:STDOUT: %Self.ref: type = name_ref Self, @HasF.impl.%T.ref [symbolic = %T (constants.%T)] -// CHECK:STDOUT: %self: @F.2.%T (%T) = bind_name self, %self.param +// CHECK:STDOUT: %self: @F.loc9.%T (%T) = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -243,22 +243,22 @@ fn G(x: A) { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.1(@HasF.%Self: %HasF.type) { +// CHECK:STDOUT: generic fn @F.loc5(@HasF.%Self: %HasF.type) { // CHECK:STDOUT: %Self: %HasF.type = bind_symbolic_name Self, 0 [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %Self.as_type.loc5_14.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type)] // CHECK:STDOUT: %pattern_type: type = pattern_type %Self.as_type.loc5_14.1 [symbolic = %pattern_type (constants.%pattern_type.28f)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%self.param: @F.1.%Self.as_type.loc5_14.1 (%Self.as_type)); +// CHECK:STDOUT: fn(%self.param: @F.loc5.%Self.as_type.loc5_14.1 (%Self.as_type)); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.2(@HasF.impl.%T.loc8_14.1: type) { +// CHECK:STDOUT: generic fn @F.loc9(@HasF.impl.%T.loc8_14.1: type) { // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic = %T (constants.%T)] // CHECK:STDOUT: %pattern_type: type = pattern_type %T [symbolic = %pattern_type (constants.%pattern_type.7dc)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type %T [symbolic = %require_complete (constants.%require_complete)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%self.param: @F.2.%T (%T)) { +// CHECK:STDOUT: fn(%self.param: @F.loc9.%T (%T)) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -271,13 +271,13 @@ fn G(x: A) { // CHECK:STDOUT: %F.ref: %HasF.assoc_type = name_ref F, @HasF.%assoc0 [concrete = constants.%assoc0] // CHECK:STDOUT: %impl.elem0: %.e02 = impl_witness_access constants.%HasF.impl_witness.6e4, element0 [concrete = constants.%F.f13] // CHECK:STDOUT: %bound_method.loc13_4: = bound_method %x.ref, %impl.elem0 -// CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @F.2(constants.%empty_struct_type) [concrete = constants.%F.specific_fn] +// CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @F.loc9(constants.%empty_struct_type) [concrete = constants.%F.specific_fn] // CHECK:STDOUT: %bound_method.loc13_14: = bound_method %x.ref, %specific_fn // CHECK:STDOUT: %F.call: init %empty_tuple.type = call %bound_method.loc13_14(%x.ref) // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%Self) { +// CHECK:STDOUT: specific @F.loc5(constants.%Self) { // CHECK:STDOUT: %Self => constants.%Self // CHECK:STDOUT: %Self.as_type.loc5_14.1 => constants.%Self.as_type // CHECK:STDOUT: %pattern_type => constants.%pattern_type.28f @@ -292,12 +292,12 @@ fn G(x: A) { // CHECK:STDOUT: %F => constants.%F.c98 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.2(constants.%T) { +// CHECK:STDOUT: specific @F.loc9(constants.%T) { // CHECK:STDOUT: %T => constants.%T // CHECK:STDOUT: %pattern_type => constants.%pattern_type.7dc // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%HasF.facet.216) { +// CHECK:STDOUT: specific @F.loc5(constants.%HasF.facet.216) { // CHECK:STDOUT: %Self => constants.%HasF.facet.216 // CHECK:STDOUT: %Self.as_type.loc5_14.1 => constants.%T // CHECK:STDOUT: %pattern_type => constants.%pattern_type.7dc @@ -312,7 +312,7 @@ fn G(x: A) { // CHECK:STDOUT: %F => constants.%F.f13 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.2(constants.%empty_struct_type) { +// CHECK:STDOUT: specific @F.loc9(constants.%empty_struct_type) { // CHECK:STDOUT: %T => constants.%empty_struct_type // CHECK:STDOUT: %pattern_type => constants.%pattern_type.a96 // CHECK:STDOUT: @@ -327,7 +327,7 @@ fn G(x: A) { // CHECK:STDOUT: %Self.f0c: %HasF.type = bind_symbolic_name Self, 0 [symbolic] // CHECK:STDOUT: %Self.as_type.308: type = facet_access_type %Self.f0c [symbolic] // CHECK:STDOUT: %pattern_type.28f: type = pattern_type %Self.as_type.308 [symbolic] -// CHECK:STDOUT: %F.type.b7b: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.b7b: type = fn_type @F.loc5 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %F.f50: %F.type.b7b = struct_value () [concrete] // CHECK:STDOUT: %HasF.assoc_type: type = assoc_entity_type @HasF [concrete] @@ -336,7 +336,7 @@ fn G(x: A) { // CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] // CHECK:STDOUT: %HasF.impl_witness.ec7: = impl_witness file.%HasF.impl_witness_table, @HasF.impl(%T) [symbolic] // CHECK:STDOUT: %pattern_type.7dc: type = pattern_type %T [symbolic] -// CHECK:STDOUT: %F.type.3fd: type = fn_type @F.2, @HasF.impl(%T) [symbolic] +// CHECK:STDOUT: %F.type.3fd: type = fn_type @F.loc9, @HasF.impl(%T) [symbolic] // CHECK:STDOUT: %F.c98: %F.type.3fd = struct_value () [symbolic] // CHECK:STDOUT: %HasF.facet.216: %HasF.type = facet_value %T, (%HasF.impl_witness.ec7) [symbolic] // CHECK:STDOUT: %require_complete.4ae: = require_complete_type %T [symbolic] @@ -345,11 +345,11 @@ fn G(x: A) { // CHECK:STDOUT: %G.type: type = fn_type @G [concrete] // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] // CHECK:STDOUT: %HasF.impl_witness.6e4: = impl_witness file.%HasF.impl_witness_table, @HasF.impl(%empty_struct_type) [concrete] -// CHECK:STDOUT: %F.type.2e4: type = fn_type @F.2, @HasF.impl(%empty_struct_type) [concrete] +// CHECK:STDOUT: %F.type.2e4: type = fn_type @F.loc9, @HasF.impl(%empty_struct_type) [concrete] // CHECK:STDOUT: %F.f13: %F.type.2e4 = struct_value () [concrete] // CHECK:STDOUT: %HasF.facet.fa2: %HasF.type = facet_value %empty_struct_type, (%HasF.impl_witness.6e4) [concrete] // CHECK:STDOUT: %.e02: type = fn_type_with_self_type %F.type.b7b, %HasF.facet.fa2 [concrete] -// CHECK:STDOUT: %F.specific_fn: = specific_function %F.f13, @F.2(%empty_struct_type) [concrete] +// CHECK:STDOUT: %F.specific_fn: = specific_function %F.f13, @F.loc9(%empty_struct_type) [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %Op.type.069: type = fn_type @Op.2, @Destroy.impl(%empty_struct_type) [concrete] @@ -406,24 +406,24 @@ fn G(x: A) { // CHECK:STDOUT: // CHECK:STDOUT: interface @HasF { // CHECK:STDOUT: %Self: %HasF.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.f0c] -// CHECK:STDOUT: %F.decl: %F.type.b7b = fn_decl @F.1 [concrete = constants.%F.f50] { -// CHECK:STDOUT: %self.patt: @F.1.%pattern_type (%pattern_type.28f) = binding_pattern self [concrete] -// CHECK:STDOUT: %self.param_patt: @F.1.%pattern_type (%pattern_type.28f) = value_param_pattern %self.patt, call_param0 [concrete] -// CHECK:STDOUT: %return.patt: @F.1.%pattern_type (%pattern_type.28f) = return_slot_pattern [concrete] -// CHECK:STDOUT: %return.param_patt: @F.1.%pattern_type (%pattern_type.28f) = out_param_pattern %return.patt, call_param1 [concrete] +// CHECK:STDOUT: %F.decl: %F.type.b7b = fn_decl @F.loc5 [concrete = constants.%F.f50] { +// CHECK:STDOUT: %self.patt: @F.loc5.%pattern_type (%pattern_type.28f) = binding_pattern self [concrete] +// CHECK:STDOUT: %self.param_patt: @F.loc5.%pattern_type (%pattern_type.28f) = value_param_pattern %self.patt, call_param0 [concrete] +// CHECK:STDOUT: %return.patt: @F.loc5.%pattern_type (%pattern_type.28f) = return_slot_pattern [concrete] +// CHECK:STDOUT: %return.param_patt: @F.loc5.%pattern_type (%pattern_type.28f) = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref.loc5_25: %HasF.type = name_ref Self, @HasF.%Self [symbolic = %Self (constants.%Self.f0c)] // CHECK:STDOUT: %Self.as_type.loc5_25: type = facet_access_type %Self.ref.loc5_25 [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type.308)] // CHECK:STDOUT: %.loc5_25: type = converted %Self.ref.loc5_25, %Self.as_type.loc5_25 [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type.308)] -// CHECK:STDOUT: %self.param: @F.1.%Self.as_type.loc5_14.1 (%Self.as_type.308) = value_param call_param0 +// CHECK:STDOUT: %self.param: @F.loc5.%Self.as_type.loc5_14.1 (%Self.as_type.308) = value_param call_param0 // CHECK:STDOUT: %.loc5_14.1: type = splice_block %.loc5_14.2 [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type.308)] { // CHECK:STDOUT: %Self.ref.loc5_14: %HasF.type = name_ref Self, @HasF.%Self [symbolic = %Self (constants.%Self.f0c)] // CHECK:STDOUT: %Self.as_type.loc5_14.2: type = facet_access_type %Self.ref.loc5_14 [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type.308)] // CHECK:STDOUT: %.loc5_14.2: type = converted %Self.ref.loc5_14, %Self.as_type.loc5_14.2 [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type.308)] // CHECK:STDOUT: } -// CHECK:STDOUT: %self: @F.1.%Self.as_type.loc5_14.1 (%Self.as_type.308) = bind_name self, %self.param -// CHECK:STDOUT: %return.param: ref @F.1.%Self.as_type.loc5_14.1 (%Self.as_type.308) = out_param call_param1 -// CHECK:STDOUT: %return: ref @F.1.%Self.as_type.loc5_14.1 (%Self.as_type.308) = return_slot %return.param +// CHECK:STDOUT: %self: @F.loc5.%Self.as_type.loc5_14.1 (%Self.as_type.308) = bind_name self, %self.param +// CHECK:STDOUT: %return.param: ref @F.loc5.%Self.as_type.loc5_14.1 (%Self.as_type.308) = out_param call_param1 +// CHECK:STDOUT: %return: ref @F.loc5.%Self.as_type.loc5_14.1 (%Self.as_type.308) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %assoc0: %HasF.assoc_type = assoc_entity element0, %F.decl [concrete = constants.%assoc0.97a] // CHECK:STDOUT: @@ -438,22 +438,22 @@ fn G(x: A) { // CHECK:STDOUT: %HasF.impl_witness: = impl_witness file.%HasF.impl_witness_table, @HasF.impl(%T.loc8_14.2) [symbolic = %HasF.impl_witness (constants.%HasF.impl_witness.ec7)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %F.type: type = fn_type @F.2, @HasF.impl(%T.loc8_14.2) [symbolic = %F.type (constants.%F.type.3fd)] +// CHECK:STDOUT: %F.type: type = fn_type @F.loc9, @HasF.impl(%T.loc8_14.2) [symbolic = %F.type (constants.%F.type.3fd)] // CHECK:STDOUT: %F: @HasF.impl.%F.type (%F.type.3fd) = struct_value () [symbolic = %F (constants.%F.c98)] // CHECK:STDOUT: // CHECK:STDOUT: impl: %T.ref as %HasF.ref { -// CHECK:STDOUT: %F.decl: @HasF.impl.%F.type (%F.type.3fd) = fn_decl @F.2 [symbolic = @HasF.impl.%F (constants.%F.c98)] { -// CHECK:STDOUT: %self.patt: @F.2.%pattern_type (%pattern_type.7dc) = binding_pattern self [concrete] -// CHECK:STDOUT: %self.param_patt: @F.2.%pattern_type (%pattern_type.7dc) = value_param_pattern %self.patt, call_param0 [concrete] -// CHECK:STDOUT: %return.patt: @F.2.%pattern_type (%pattern_type.7dc) = return_slot_pattern [concrete] -// CHECK:STDOUT: %return.param_patt: @F.2.%pattern_type (%pattern_type.7dc) = out_param_pattern %return.patt, call_param1 [concrete] +// CHECK:STDOUT: %F.decl: @HasF.impl.%F.type (%F.type.3fd) = fn_decl @F.loc9 [symbolic = @HasF.impl.%F (constants.%F.c98)] { +// CHECK:STDOUT: %self.patt: @F.loc9.%pattern_type (%pattern_type.7dc) = binding_pattern self [concrete] +// CHECK:STDOUT: %self.param_patt: @F.loc9.%pattern_type (%pattern_type.7dc) = value_param_pattern %self.patt, call_param0 [concrete] +// CHECK:STDOUT: %return.patt: @F.loc9.%pattern_type (%pattern_type.7dc) = return_slot_pattern [concrete] +// CHECK:STDOUT: %return.param_patt: @F.loc9.%pattern_type (%pattern_type.7dc) = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, @HasF.impl.%T.loc8_14.1 [symbolic = %T (constants.%T)] -// CHECK:STDOUT: %self.param: @F.2.%T (%T) = value_param call_param0 +// CHECK:STDOUT: %self.param: @F.loc9.%T (%T) = value_param call_param0 // CHECK:STDOUT: %Self.ref: type = name_ref Self, @HasF.impl.%T.ref [symbolic = %T (constants.%T)] -// CHECK:STDOUT: %self: @F.2.%T (%T) = bind_name self, %self.param -// CHECK:STDOUT: %return.param: ref @F.2.%T (%T) = out_param call_param1 -// CHECK:STDOUT: %return: ref @F.2.%T (%T) = return_slot %return.param +// CHECK:STDOUT: %self: @F.loc9.%T (%T) = bind_name self, %self.param +// CHECK:STDOUT: %return.param: ref @F.loc9.%T (%T) = out_param call_param1 +// CHECK:STDOUT: %return: ref @F.loc9.%T (%T) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -463,24 +463,24 @@ fn G(x: A) { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.1(@HasF.%Self: %HasF.type) { +// CHECK:STDOUT: generic fn @F.loc5(@HasF.%Self: %HasF.type) { // CHECK:STDOUT: %Self: %HasF.type = bind_symbolic_name Self, 0 [symbolic = %Self (constants.%Self.f0c)] // CHECK:STDOUT: %Self.as_type.loc5_14.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type.308)] // CHECK:STDOUT: %pattern_type: type = pattern_type %Self.as_type.loc5_14.1 [symbolic = %pattern_type (constants.%pattern_type.28f)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%self.param: @F.1.%Self.as_type.loc5_14.1 (%Self.as_type.308)) -> @F.1.%Self.as_type.loc5_14.1 (%Self.as_type.308); +// CHECK:STDOUT: fn(%self.param: @F.loc5.%Self.as_type.loc5_14.1 (%Self.as_type.308)) -> @F.loc5.%Self.as_type.loc5_14.1 (%Self.as_type.308); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.2(@HasF.impl.%T.loc8_14.1: type) { +// CHECK:STDOUT: generic fn @F.loc9(@HasF.impl.%T.loc8_14.1: type) { // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic = %T (constants.%T)] // CHECK:STDOUT: %pattern_type: type = pattern_type %T [symbolic = %pattern_type (constants.%pattern_type.7dc)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type %T [symbolic = %require_complete (constants.%require_complete.4ae)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%self.param: @F.2.%T (%T)) -> @F.2.%T (%T) { +// CHECK:STDOUT: fn(%self.param: @F.loc9.%T (%T)) -> @F.loc9.%T (%T) { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %self.ref: @F.2.%T (%T) = name_ref self, %self +// CHECK:STDOUT: %self.ref: @F.loc9.%T (%T) = name_ref self, %self // CHECK:STDOUT: return %self.ref // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -492,7 +492,7 @@ fn G(x: A) { // CHECK:STDOUT: %F.ref: %HasF.assoc_type = name_ref F, @HasF.%assoc0 [concrete = constants.%assoc0.97a] // CHECK:STDOUT: %impl.elem0: %.e02 = impl_witness_access constants.%HasF.impl_witness.6e4, element0 [concrete = constants.%F.f13] // CHECK:STDOUT: %bound_method.loc13_11: = bound_method %x.ref, %impl.elem0 -// CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @F.2(constants.%empty_struct_type) [concrete = constants.%F.specific_fn] +// CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @F.loc9(constants.%empty_struct_type) [concrete = constants.%F.specific_fn] // CHECK:STDOUT: %bound_method.loc13_21.1: = bound_method %x.ref, %specific_fn // CHECK:STDOUT: %F.call: init %empty_struct_type = call %bound_method.loc13_21.1(%x.ref) // CHECK:STDOUT: %.loc13_21.1: ref %empty_struct_type = temporary_storage @@ -507,7 +507,7 @@ fn G(x: A) { // CHECK:STDOUT: return %.loc13_22 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%Self.f0c) { +// CHECK:STDOUT: specific @F.loc5(constants.%Self.f0c) { // CHECK:STDOUT: %Self => constants.%Self.f0c // CHECK:STDOUT: %Self.as_type.loc5_14.1 => constants.%Self.as_type.308 // CHECK:STDOUT: %pattern_type => constants.%pattern_type.28f @@ -522,12 +522,12 @@ fn G(x: A) { // CHECK:STDOUT: %F => constants.%F.c98 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.2(constants.%T) { +// CHECK:STDOUT: specific @F.loc9(constants.%T) { // CHECK:STDOUT: %T => constants.%T // CHECK:STDOUT: %pattern_type => constants.%pattern_type.7dc // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%HasF.facet.216) { +// CHECK:STDOUT: specific @F.loc5(constants.%HasF.facet.216) { // CHECK:STDOUT: %Self => constants.%HasF.facet.216 // CHECK:STDOUT: %Self.as_type.loc5_14.1 => constants.%T // CHECK:STDOUT: %pattern_type => constants.%pattern_type.7dc @@ -542,7 +542,7 @@ fn G(x: A) { // CHECK:STDOUT: %F => constants.%F.f13 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.2(constants.%empty_struct_type) { +// CHECK:STDOUT: specific @F.loc9(constants.%empty_struct_type) { // CHECK:STDOUT: %T => constants.%empty_struct_type // CHECK:STDOUT: %pattern_type => constants.%pattern_type.a96 // CHECK:STDOUT: @@ -557,7 +557,7 @@ fn G(x: A) { // CHECK:STDOUT: %Self: %HasF.type = bind_symbolic_name Self, 0 [symbolic] // CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self [symbolic] // CHECK:STDOUT: %pattern_type.28f: type = pattern_type %Self.as_type [symbolic] -// CHECK:STDOUT: %F.type.b7b: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.b7b: type = fn_type @F.loc5 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %F.f50: %F.type.b7b = struct_value () [concrete] // CHECK:STDOUT: %HasF.assoc_type: type = assoc_entity_type @HasF [concrete] @@ -571,7 +571,7 @@ fn G(x: A) { // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %HasF.impl_witness.834: = impl_witness file.%HasF.impl_witness_table, @HasF.impl(%T) [symbolic] // CHECK:STDOUT: %pattern_type.e5e: type = pattern_type %C.f2e [symbolic] -// CHECK:STDOUT: %F.type.8fe: type = fn_type @F.2, @HasF.impl(%T) [symbolic] +// CHECK:STDOUT: %F.type.8fe: type = fn_type @F.loc11, @HasF.impl(%T) [symbolic] // CHECK:STDOUT: %F.92a: %F.type.8fe = struct_value () [symbolic] // CHECK:STDOUT: %HasF.facet.766: %HasF.type = facet_value %C.f2e, (%HasF.impl_witness.834) [symbolic] // CHECK:STDOUT: %require_complete: = require_complete_type %C.f2e [symbolic] @@ -580,11 +580,11 @@ fn G(x: A) { // CHECK:STDOUT: %G.type: type = fn_type @G [concrete] // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] // CHECK:STDOUT: %HasF.impl_witness.0de: = impl_witness file.%HasF.impl_witness_table, @HasF.impl(%empty_struct_type) [concrete] -// CHECK:STDOUT: %F.type.2e5: type = fn_type @F.2, @HasF.impl(%empty_struct_type) [concrete] +// CHECK:STDOUT: %F.type.2e5: type = fn_type @F.loc11, @HasF.impl(%empty_struct_type) [concrete] // CHECK:STDOUT: %F.c77: %F.type.2e5 = struct_value () [concrete] // CHECK:STDOUT: %HasF.facet.672: %HasF.type = facet_value %C.7a7, (%HasF.impl_witness.0de) [concrete] // CHECK:STDOUT: %.0c7: type = fn_type_with_self_type %F.type.b7b, %HasF.facet.672 [concrete] -// CHECK:STDOUT: %F.specific_fn: = specific_function %F.c77, @F.2(%empty_struct_type) [concrete] +// CHECK:STDOUT: %F.specific_fn: = specific_function %F.c77, @F.loc11(%empty_struct_type) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -636,17 +636,17 @@ fn G(x: A) { // CHECK:STDOUT: // CHECK:STDOUT: interface @HasF { // CHECK:STDOUT: %Self: %HasF.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self] -// CHECK:STDOUT: %F.decl: %F.type.b7b = fn_decl @F.1 [concrete = constants.%F.f50] { -// CHECK:STDOUT: %self.patt: @F.1.%pattern_type (%pattern_type.28f) = binding_pattern self [concrete] -// CHECK:STDOUT: %self.param_patt: @F.1.%pattern_type (%pattern_type.28f) = value_param_pattern %self.patt, call_param0 [concrete] +// CHECK:STDOUT: %F.decl: %F.type.b7b = fn_decl @F.loc5 [concrete = constants.%F.f50] { +// CHECK:STDOUT: %self.patt: @F.loc5.%pattern_type (%pattern_type.28f) = binding_pattern self [concrete] +// CHECK:STDOUT: %self.param_patt: @F.loc5.%pattern_type (%pattern_type.28f) = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %self.param: @F.1.%Self.as_type.loc5_14.1 (%Self.as_type) = value_param call_param0 +// CHECK:STDOUT: %self.param: @F.loc5.%Self.as_type.loc5_14.1 (%Self.as_type) = value_param call_param0 // CHECK:STDOUT: %.loc5_14.1: type = splice_block %.loc5_14.2 [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type)] { // CHECK:STDOUT: %Self.ref: %HasF.type = name_ref Self, @HasF.%Self [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %Self.as_type.loc5_14.2: type = facet_access_type %Self.ref [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type)] // CHECK:STDOUT: %.loc5_14.2: type = converted %Self.ref, %Self.as_type.loc5_14.2 [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type)] // CHECK:STDOUT: } -// CHECK:STDOUT: %self: @F.1.%Self.as_type.loc5_14.1 (%Self.as_type) = bind_name self, %self.param +// CHECK:STDOUT: %self: @F.loc5.%Self.as_type.loc5_14.1 (%Self.as_type) = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %assoc0: %HasF.assoc_type = assoc_entity element0, %F.decl [concrete = constants.%assoc0] // CHECK:STDOUT: @@ -662,17 +662,17 @@ fn G(x: A) { // CHECK:STDOUT: %HasF.impl_witness: = impl_witness file.%HasF.impl_witness_table, @HasF.impl(%T.loc10_14.2) [symbolic = %HasF.impl_witness (constants.%HasF.impl_witness.834)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %F.type: type = fn_type @F.2, @HasF.impl(%T.loc10_14.2) [symbolic = %F.type (constants.%F.type.8fe)] +// CHECK:STDOUT: %F.type: type = fn_type @F.loc11, @HasF.impl(%T.loc10_14.2) [symbolic = %F.type (constants.%F.type.8fe)] // CHECK:STDOUT: %F: @HasF.impl.%F.type (%F.type.8fe) = struct_value () [symbolic = %F (constants.%F.92a)] // CHECK:STDOUT: // CHECK:STDOUT: impl: %C.loc10_27.1 as %HasF.ref { -// CHECK:STDOUT: %F.decl: @HasF.impl.%F.type (%F.type.8fe) = fn_decl @F.2 [symbolic = @HasF.impl.%F (constants.%F.92a)] { -// CHECK:STDOUT: %self.patt: @F.2.%pattern_type (%pattern_type.e5e) = binding_pattern self [concrete] -// CHECK:STDOUT: %self.param_patt: @F.2.%pattern_type (%pattern_type.e5e) = value_param_pattern %self.patt, call_param0 [concrete] +// CHECK:STDOUT: %F.decl: @HasF.impl.%F.type (%F.type.8fe) = fn_decl @F.loc11 [symbolic = @HasF.impl.%F (constants.%F.92a)] { +// CHECK:STDOUT: %self.patt: @F.loc11.%pattern_type (%pattern_type.e5e) = binding_pattern self [concrete] +// CHECK:STDOUT: %self.param_patt: @F.loc11.%pattern_type (%pattern_type.e5e) = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %self.param: @F.2.%C (%C.f2e) = value_param call_param0 +// CHECK:STDOUT: %self.param: @F.loc11.%C (%C.f2e) = value_param call_param0 // CHECK:STDOUT: %Self.ref: type = name_ref Self, @HasF.impl.%C.loc10_27.1 [symbolic = %C (constants.%C.f2e)] -// CHECK:STDOUT: %self: @F.2.%C (%C.f2e) = bind_name self, %self.param +// CHECK:STDOUT: %self: @F.loc11.%C (%C.f2e) = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -696,15 +696,15 @@ fn G(x: A) { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.1(@HasF.%Self: %HasF.type) { +// CHECK:STDOUT: generic fn @F.loc5(@HasF.%Self: %HasF.type) { // CHECK:STDOUT: %Self: %HasF.type = bind_symbolic_name Self, 0 [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %Self.as_type.loc5_14.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type)] // CHECK:STDOUT: %pattern_type: type = pattern_type %Self.as_type.loc5_14.1 [symbolic = %pattern_type (constants.%pattern_type.28f)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%self.param: @F.1.%Self.as_type.loc5_14.1 (%Self.as_type)); +// CHECK:STDOUT: fn(%self.param: @F.loc5.%Self.as_type.loc5_14.1 (%Self.as_type)); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.2(@HasF.impl.%T.loc10_14.1: type) { +// CHECK:STDOUT: generic fn @F.loc11(@HasF.impl.%T.loc10_14.1: type) { // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic = %T (constants.%T)] // CHECK:STDOUT: %C: type = class_type @C, @C(%T) [symbolic = %C (constants.%C.f2e)] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [symbolic = %pattern_type (constants.%pattern_type.e5e)] @@ -712,7 +712,7 @@ fn G(x: A) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type %C [symbolic = %require_complete (constants.%require_complete)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%self.param: @F.2.%C (%C.f2e)) { +// CHECK:STDOUT: fn(%self.param: @F.loc11.%C (%C.f2e)) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -725,13 +725,13 @@ fn G(x: A) { // CHECK:STDOUT: %F.ref: %HasF.assoc_type = name_ref F, @HasF.%assoc0 [concrete = constants.%assoc0] // CHECK:STDOUT: %impl.elem0: %.0c7 = impl_witness_access constants.%HasF.impl_witness.0de, element0 [concrete = constants.%F.c77] // CHECK:STDOUT: %bound_method.loc15_4: = bound_method %x.ref, %impl.elem0 -// CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @F.2(constants.%empty_struct_type) [concrete = constants.%F.specific_fn] +// CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @F.loc11(constants.%empty_struct_type) [concrete = constants.%F.specific_fn] // CHECK:STDOUT: %bound_method.loc15_14: = bound_method %x.ref, %specific_fn // CHECK:STDOUT: %F.call: init %empty_tuple.type = call %bound_method.loc15_14(%x.ref) // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%Self) { +// CHECK:STDOUT: specific @F.loc5(constants.%Self) { // CHECK:STDOUT: %Self => constants.%Self // CHECK:STDOUT: %Self.as_type.loc5_14.1 => constants.%Self.as_type // CHECK:STDOUT: %pattern_type => constants.%pattern_type.28f @@ -753,13 +753,13 @@ fn G(x: A) { // CHECK:STDOUT: %F => constants.%F.92a // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.2(constants.%T) { +// CHECK:STDOUT: specific @F.loc11(constants.%T) { // CHECK:STDOUT: %T => constants.%T // CHECK:STDOUT: %C => constants.%C.f2e // CHECK:STDOUT: %pattern_type => constants.%pattern_type.e5e // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%HasF.facet.766) { +// CHECK:STDOUT: specific @F.loc5(constants.%HasF.facet.766) { // CHECK:STDOUT: %Self => constants.%HasF.facet.766 // CHECK:STDOUT: %Self.as_type.loc5_14.1 => constants.%C.f2e // CHECK:STDOUT: %pattern_type => constants.%pattern_type.e5e @@ -781,7 +781,7 @@ fn G(x: A) { // CHECK:STDOUT: %F => constants.%F.c77 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.2(constants.%empty_struct_type) { +// CHECK:STDOUT: specific @F.loc11(constants.%empty_struct_type) { // CHECK:STDOUT: %T => constants.%empty_struct_type // CHECK:STDOUT: %C => constants.%C.7a7 // CHECK:STDOUT: %pattern_type => constants.%pattern_type.99a @@ -802,7 +802,7 @@ fn G(x: A) { // CHECK:STDOUT: %Self.322: %HasF.type.901 = bind_symbolic_name Self, 1 [symbolic] // CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self.322 [symbolic] // CHECK:STDOUT: %pattern_type.dfb: type = pattern_type %Self.as_type [symbolic] -// CHECK:STDOUT: %F.type.46c: type = fn_type @F.1, @HasF(%T) [symbolic] +// CHECK:STDOUT: %F.type.46c: type = fn_type @F.loc5, @HasF(%T) [symbolic] // CHECK:STDOUT: %F.823: %F.type.46c = struct_value () [symbolic] // CHECK:STDOUT: %HasF.assoc_type.dd8: type = assoc_entity_type @HasF, @HasF(%T) [symbolic] // CHECK:STDOUT: %assoc0.d31: %HasF.assoc_type.dd8 = assoc_entity element0, @HasF.%F.decl [symbolic] @@ -810,24 +810,24 @@ fn G(x: A) { // CHECK:STDOUT: %require_complete: = require_complete_type %HasF.type.901 [symbolic] // CHECK:STDOUT: %HasF.impl_witness.55c: = impl_witness file.%HasF.impl_witness_table, @HasF.impl(%T) [symbolic] // CHECK:STDOUT: %pattern_type.a96: type = pattern_type %empty_struct_type [concrete] -// CHECK:STDOUT: %F.type.6c8: type = fn_type @F.2, @HasF.impl(%T) [symbolic] +// CHECK:STDOUT: %F.type.6c8: type = fn_type @F.loc9, @HasF.impl(%T) [symbolic] // CHECK:STDOUT: %F.008: %F.type.6c8 = struct_value () [symbolic] // CHECK:STDOUT: %HasF.facet.566: %HasF.type.901 = facet_value %empty_struct_type, (%HasF.impl_witness.55c) [symbolic] // CHECK:STDOUT: %G.type: type = fn_type @G [concrete] // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] // CHECK:STDOUT: %HasF.type.072: type = facet_type <@HasF, @HasF(%empty_struct_type)> [concrete] // CHECK:STDOUT: %Self.a46: %HasF.type.072 = bind_symbolic_name Self, 1 [symbolic] -// CHECK:STDOUT: %F.type.b0b: type = fn_type @F.1, @HasF(%empty_struct_type) [concrete] +// CHECK:STDOUT: %F.type.b0b: type = fn_type @F.loc5, @HasF(%empty_struct_type) [concrete] // CHECK:STDOUT: %F.418: %F.type.b0b = struct_value () [concrete] // CHECK:STDOUT: %HasF.assoc_type.9e4: type = assoc_entity_type @HasF, @HasF(%empty_struct_type) [concrete] // CHECK:STDOUT: %assoc0.f76: %HasF.assoc_type.9e4 = assoc_entity element0, @HasF.%F.decl [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %HasF.type.072 [concrete] // CHECK:STDOUT: %HasF.impl_witness.25d: = impl_witness file.%HasF.impl_witness_table, @HasF.impl(%empty_struct_type) [concrete] -// CHECK:STDOUT: %F.type.a13: type = fn_type @F.2, @HasF.impl(%empty_struct_type) [concrete] +// CHECK:STDOUT: %F.type.a13: type = fn_type @F.loc9, @HasF.impl(%empty_struct_type) [concrete] // CHECK:STDOUT: %F.8c6: %F.type.a13 = struct_value () [concrete] // CHECK:STDOUT: %HasF.facet.07d: %HasF.type.072 = facet_value %empty_struct_type, (%HasF.impl_witness.25d) [concrete] // CHECK:STDOUT: %.21f: type = fn_type_with_self_type %F.type.b0b, %HasF.facet.07d [concrete] -// CHECK:STDOUT: %F.specific_fn: = specific_function %F.8c6, @F.2(%empty_struct_type) [concrete] +// CHECK:STDOUT: %F.specific_fn: = specific_function %F.8c6, @F.loc9(%empty_struct_type) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -880,25 +880,25 @@ fn G(x: A) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %HasF.type: type = facet_type <@HasF, @HasF(%T.loc4_16.2)> [symbolic = %HasF.type (constants.%HasF.type.901)] // CHECK:STDOUT: %Self.2: @HasF.%HasF.type (%HasF.type.901) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.322)] -// CHECK:STDOUT: %F.type: type = fn_type @F.1, @HasF(%T.loc4_16.2) [symbolic = %F.type (constants.%F.type.46c)] +// CHECK:STDOUT: %F.type: type = fn_type @F.loc5, @HasF(%T.loc4_16.2) [symbolic = %F.type (constants.%F.type.46c)] // CHECK:STDOUT: %F: @HasF.%F.type (%F.type.46c) = struct_value () [symbolic = %F (constants.%F.823)] // CHECK:STDOUT: %HasF.assoc_type: type = assoc_entity_type @HasF, @HasF(%T.loc4_16.2) [symbolic = %HasF.assoc_type (constants.%HasF.assoc_type.dd8)] // CHECK:STDOUT: %assoc0.loc5_21.2: @HasF.%HasF.assoc_type (%HasF.assoc_type.dd8) = assoc_entity element0, %F.decl [symbolic = %assoc0.loc5_21.2 (constants.%assoc0.d31)] // CHECK:STDOUT: // CHECK:STDOUT: interface { // CHECK:STDOUT: %Self.1: @HasF.%HasF.type (%HasF.type.901) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.322)] -// CHECK:STDOUT: %F.decl: @HasF.%F.type (%F.type.46c) = fn_decl @F.1 [symbolic = @HasF.%F (constants.%F.823)] { -// CHECK:STDOUT: %self.patt: @F.1.%pattern_type (%pattern_type.dfb) = binding_pattern self [concrete] -// CHECK:STDOUT: %self.param_patt: @F.1.%pattern_type (%pattern_type.dfb) = value_param_pattern %self.patt, call_param0 [concrete] +// CHECK:STDOUT: %F.decl: @HasF.%F.type (%F.type.46c) = fn_decl @F.loc5 [symbolic = @HasF.%F (constants.%F.823)] { +// CHECK:STDOUT: %self.patt: @F.loc5.%pattern_type (%pattern_type.dfb) = binding_pattern self [concrete] +// CHECK:STDOUT: %self.param_patt: @F.loc5.%pattern_type (%pattern_type.dfb) = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %self.param: @F.1.%Self.as_type.loc5_14.1 (%Self.as_type) = value_param call_param0 +// CHECK:STDOUT: %self.param: @F.loc5.%Self.as_type.loc5_14.1 (%Self.as_type) = value_param call_param0 // CHECK:STDOUT: %.loc5_14.1: type = splice_block %.loc5_14.3 [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type)] { -// CHECK:STDOUT: %.loc5_14.2: @F.1.%HasF.type (%HasF.type.901) = specific_constant @HasF.%Self.1, @HasF(constants.%T) [symbolic = %Self (constants.%Self.322)] -// CHECK:STDOUT: %Self.ref: @F.1.%HasF.type (%HasF.type.901) = name_ref Self, %.loc5_14.2 [symbolic = %Self (constants.%Self.322)] +// CHECK:STDOUT: %.loc5_14.2: @F.loc5.%HasF.type (%HasF.type.901) = specific_constant @HasF.%Self.1, @HasF(constants.%T) [symbolic = %Self (constants.%Self.322)] +// CHECK:STDOUT: %Self.ref: @F.loc5.%HasF.type (%HasF.type.901) = name_ref Self, %.loc5_14.2 [symbolic = %Self (constants.%Self.322)] // CHECK:STDOUT: %Self.as_type.loc5_14.2: type = facet_access_type %Self.ref [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type)] // CHECK:STDOUT: %.loc5_14.3: type = converted %Self.ref, %Self.as_type.loc5_14.2 [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type)] // CHECK:STDOUT: } -// CHECK:STDOUT: %self: @F.1.%Self.as_type.loc5_14.1 (%Self.as_type) = bind_name self, %self.param +// CHECK:STDOUT: %self: @F.loc5.%Self.as_type.loc5_14.1 (%Self.as_type) = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %assoc0.loc5_21.1: @HasF.%HasF.assoc_type (%HasF.assoc_type.dd8) = assoc_entity element0, %F.decl [symbolic = %assoc0.loc5_21.2 (constants.%assoc0.d31)] // CHECK:STDOUT: @@ -916,11 +916,11 @@ fn G(x: A) { // CHECK:STDOUT: %HasF.impl_witness: = impl_witness file.%HasF.impl_witness_table, @HasF.impl(%T.loc8_14.2) [symbolic = %HasF.impl_witness (constants.%HasF.impl_witness.55c)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %F.type: type = fn_type @F.2, @HasF.impl(%T.loc8_14.2) [symbolic = %F.type (constants.%F.type.6c8)] +// CHECK:STDOUT: %F.type: type = fn_type @F.loc9, @HasF.impl(%T.loc8_14.2) [symbolic = %F.type (constants.%F.type.6c8)] // CHECK:STDOUT: %F: @HasF.impl.%F.type (%F.type.6c8) = struct_value () [symbolic = %F (constants.%F.008)] // CHECK:STDOUT: // CHECK:STDOUT: impl: %.loc8_25.2 as %HasF.type.loc8_36.1 { -// CHECK:STDOUT: %F.decl: @HasF.impl.%F.type (%F.type.6c8) = fn_decl @F.2 [symbolic = @HasF.impl.%F (constants.%F.008)] { +// CHECK:STDOUT: %F.decl: @HasF.impl.%F.type (%F.type.6c8) = fn_decl @F.loc9 [symbolic = @HasF.impl.%F (constants.%F.008)] { // CHECK:STDOUT: %self.patt: %pattern_type.a96 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.a96 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -935,17 +935,17 @@ fn G(x: A) { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.1(@HasF.%T.loc4_16.1: type, @HasF.%Self.1: @HasF.%HasF.type (%HasF.type.901)) { +// CHECK:STDOUT: generic fn @F.loc5(@HasF.%T.loc4_16.1: type, @HasF.%Self.1: @HasF.%HasF.type (%HasF.type.901)) { // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic = %T (constants.%T)] // CHECK:STDOUT: %HasF.type: type = facet_type <@HasF, @HasF(%T)> [symbolic = %HasF.type (constants.%HasF.type.901)] -// CHECK:STDOUT: %Self: @F.1.%HasF.type (%HasF.type.901) = bind_symbolic_name Self, 1 [symbolic = %Self (constants.%Self.322)] +// CHECK:STDOUT: %Self: @F.loc5.%HasF.type (%HasF.type.901) = bind_symbolic_name Self, 1 [symbolic = %Self (constants.%Self.322)] // CHECK:STDOUT: %Self.as_type.loc5_14.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type)] // CHECK:STDOUT: %pattern_type: type = pattern_type %Self.as_type.loc5_14.1 [symbolic = %pattern_type (constants.%pattern_type.dfb)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%self.param: @F.1.%Self.as_type.loc5_14.1 (%Self.as_type)); +// CHECK:STDOUT: fn(%self.param: @F.loc5.%Self.as_type.loc5_14.1 (%Self.as_type)); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.2(@HasF.impl.%T.loc8_14.1: type) { +// CHECK:STDOUT: generic fn @F.loc9(@HasF.impl.%T.loc8_14.1: type) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: // CHECK:STDOUT: fn(%self.param: %empty_struct_type) { @@ -965,7 +965,7 @@ fn G(x: A) { // CHECK:STDOUT: %F.ref: %HasF.assoc_type.9e4 = name_ref F, %.loc13_14 [concrete = constants.%assoc0.f76] // CHECK:STDOUT: %impl.elem0: %.21f = impl_witness_access constants.%HasF.impl_witness.25d, element0 [concrete = constants.%F.8c6] // CHECK:STDOUT: %bound_method.loc13_4: = bound_method %x.ref, %impl.elem0 -// CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @F.2(constants.%empty_struct_type) [concrete = constants.%F.specific_fn] +// CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @F.loc9(constants.%empty_struct_type) [concrete = constants.%F.specific_fn] // CHECK:STDOUT: %bound_method.loc13_18: = bound_method %x.ref, %specific_fn // CHECK:STDOUT: %F.call: init %empty_tuple.type = call %bound_method.loc13_18(%x.ref) // CHECK:STDOUT: return @@ -983,7 +983,7 @@ fn G(x: A) { // CHECK:STDOUT: %assoc0.loc5_21.2 => constants.%assoc0.d31 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%T, constants.%Self.322) { +// CHECK:STDOUT: specific @F.loc5(constants.%T, constants.%Self.322) { // CHECK:STDOUT: %T => constants.%T // CHECK:STDOUT: %HasF.type => constants.%HasF.type.901 // CHECK:STDOUT: %Self => constants.%Self.322 @@ -1002,9 +1002,9 @@ fn G(x: A) { // CHECK:STDOUT: %F => constants.%F.008 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.2(constants.%T) {} +// CHECK:STDOUT: specific @F.loc9(constants.%T) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%T, constants.%HasF.facet.566) { +// CHECK:STDOUT: specific @F.loc5(constants.%T, constants.%HasF.facet.566) { // CHECK:STDOUT: %T => constants.%T // CHECK:STDOUT: %HasF.type => constants.%HasF.type.901 // CHECK:STDOUT: %Self => constants.%HasF.facet.566 @@ -1035,7 +1035,7 @@ fn G(x: A) { // CHECK:STDOUT: %F => constants.%F.8c6 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.2(constants.%empty_struct_type) { +// CHECK:STDOUT: specific @F.loc9(constants.%empty_struct_type) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: @@ -1046,7 +1046,7 @@ fn G(x: A) { // CHECK:STDOUT: %Self: %HasF.type = bind_symbolic_name Self, 0 [symbolic] // CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self [symbolic] // CHECK:STDOUT: %pattern_type.28f: type = pattern_type %Self.as_type [symbolic] -// CHECK:STDOUT: %F.type.b7b: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.b7b: type = fn_type @F.loc5 [concrete] // CHECK:STDOUT: %F.f50: %F.type.b7b = struct_value () [concrete] // CHECK:STDOUT: %HasF.assoc_type: type = assoc_entity_type @HasF [concrete] // CHECK:STDOUT: %assoc0: %HasF.assoc_type = assoc_entity element0, @HasF.%F.decl [concrete] @@ -1055,7 +1055,7 @@ fn G(x: A) { // CHECK:STDOUT: %U: type = bind_symbolic_name U, 1 [symbolic] // CHECK:STDOUT: %HasF.impl_witness: = impl_witness file.%HasF.impl_witness_table, @HasF.impl(%T, %U) [symbolic] // CHECK:STDOUT: %pattern_type.7dc: type = pattern_type %T [symbolic] -// CHECK:STDOUT: %F.type.56e: type = fn_type @F.2, @HasF.impl(%T, %U) [symbolic] +// CHECK:STDOUT: %F.type.56e: type = fn_type @F.loc13, @HasF.impl(%T, %U) [symbolic] // CHECK:STDOUT: %F.9b8: %F.type.56e = struct_value () [symbolic] // CHECK:STDOUT: %require_complete: = require_complete_type %T [symbolic] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] @@ -1105,17 +1105,17 @@ fn G(x: A) { // CHECK:STDOUT: // CHECK:STDOUT: interface @HasF { // CHECK:STDOUT: %Self: %HasF.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self] -// CHECK:STDOUT: %F.decl: %F.type.b7b = fn_decl @F.1 [concrete = constants.%F.f50] { -// CHECK:STDOUT: %self.patt: @F.1.%pattern_type (%pattern_type.28f) = binding_pattern self [concrete] -// CHECK:STDOUT: %self.param_patt: @F.1.%pattern_type (%pattern_type.28f) = value_param_pattern %self.patt, call_param0 [concrete] +// CHECK:STDOUT: %F.decl: %F.type.b7b = fn_decl @F.loc5 [concrete = constants.%F.f50] { +// CHECK:STDOUT: %self.patt: @F.loc5.%pattern_type (%pattern_type.28f) = binding_pattern self [concrete] +// CHECK:STDOUT: %self.param_patt: @F.loc5.%pattern_type (%pattern_type.28f) = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %self.param: @F.1.%Self.as_type.loc5_14.1 (%Self.as_type) = value_param call_param0 +// CHECK:STDOUT: %self.param: @F.loc5.%Self.as_type.loc5_14.1 (%Self.as_type) = value_param call_param0 // CHECK:STDOUT: %.loc5_14.1: type = splice_block %.loc5_14.2 [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type)] { // CHECK:STDOUT: %Self.ref: %HasF.type = name_ref Self, @HasF.%Self [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %Self.as_type.loc5_14.2: type = facet_access_type %Self.ref [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type)] // CHECK:STDOUT: %.loc5_14.2: type = converted %Self.ref, %Self.as_type.loc5_14.2 [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type)] // CHECK:STDOUT: } -// CHECK:STDOUT: %self: @F.1.%Self.as_type.loc5_14.1 (%Self.as_type) = bind_name self, %self.param +// CHECK:STDOUT: %self: @F.loc5.%Self.as_type.loc5_14.1 (%Self.as_type) = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %assoc0: %HasF.assoc_type = assoc_entity element0, %F.decl [concrete = constants.%assoc0] // CHECK:STDOUT: @@ -1131,17 +1131,17 @@ fn G(x: A) { // CHECK:STDOUT: %HasF.impl_witness: = impl_witness file.%HasF.impl_witness_table, @HasF.impl(%T.loc12_14.2, %U.loc12_24.2) [symbolic = %HasF.impl_witness (constants.%HasF.impl_witness)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %F.type: type = fn_type @F.2, @HasF.impl(%T.loc12_14.2, %U.loc12_24.2) [symbolic = %F.type (constants.%F.type.56e)] +// CHECK:STDOUT: %F.type: type = fn_type @F.loc13, @HasF.impl(%T.loc12_14.2, %U.loc12_24.2) [symbolic = %F.type (constants.%F.type.56e)] // CHECK:STDOUT: %F: @HasF.impl.%F.type (%F.type.56e) = struct_value () [symbolic = %F (constants.%F.9b8)] // CHECK:STDOUT: // CHECK:STDOUT: impl: %T.ref as %HasF.ref { -// CHECK:STDOUT: %F.decl: @HasF.impl.%F.type (%F.type.56e) = fn_decl @F.2 [symbolic = @HasF.impl.%F (constants.%F.9b8)] { -// CHECK:STDOUT: %self.patt: @F.2.%pattern_type (%pattern_type.7dc) = binding_pattern self [concrete] -// CHECK:STDOUT: %self.param_patt: @F.2.%pattern_type (%pattern_type.7dc) = value_param_pattern %self.patt, call_param0 [concrete] +// CHECK:STDOUT: %F.decl: @HasF.impl.%F.type (%F.type.56e) = fn_decl @F.loc13 [symbolic = @HasF.impl.%F (constants.%F.9b8)] { +// CHECK:STDOUT: %self.patt: @F.loc13.%pattern_type (%pattern_type.7dc) = binding_pattern self [concrete] +// CHECK:STDOUT: %self.param_patt: @F.loc13.%pattern_type (%pattern_type.7dc) = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %self.param: @F.2.%T (%T) = value_param call_param0 +// CHECK:STDOUT: %self.param: @F.loc13.%T (%T) = value_param call_param0 // CHECK:STDOUT: %Self.ref: type = name_ref Self, @HasF.impl.%T.ref [symbolic = %T (constants.%T)] -// CHECK:STDOUT: %self: @F.2.%T (%T) = bind_name self, %self.param +// CHECK:STDOUT: %self: @F.loc13.%T (%T) = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -1150,22 +1150,22 @@ fn G(x: A) { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.1(@HasF.%Self: %HasF.type) { +// CHECK:STDOUT: generic fn @F.loc5(@HasF.%Self: %HasF.type) { // CHECK:STDOUT: %Self: %HasF.type = bind_symbolic_name Self, 0 [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %Self.as_type.loc5_14.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type)] // CHECK:STDOUT: %pattern_type: type = pattern_type %Self.as_type.loc5_14.1 [symbolic = %pattern_type (constants.%pattern_type.28f)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%self.param: @F.1.%Self.as_type.loc5_14.1 (%Self.as_type)); +// CHECK:STDOUT: fn(%self.param: @F.loc5.%Self.as_type.loc5_14.1 (%Self.as_type)); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.2(@HasF.impl.%T.loc12_14.1: type, @HasF.impl.%U.loc12_24.1: type) { +// CHECK:STDOUT: generic fn @F.loc13(@HasF.impl.%T.loc12_14.1: type, @HasF.impl.%U.loc12_24.1: type) { // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic = %T (constants.%T)] // CHECK:STDOUT: %pattern_type: type = pattern_type %T [symbolic = %pattern_type (constants.%pattern_type.7dc)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type %T [symbolic = %require_complete (constants.%require_complete)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%self.param: @F.2.%T (%T)) { +// CHECK:STDOUT: fn(%self.param: @F.loc13.%T (%T)) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -1179,7 +1179,7 @@ fn G(x: A) { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%Self) { +// CHECK:STDOUT: specific @F.loc5(constants.%Self) { // CHECK:STDOUT: %Self => constants.%Self // CHECK:STDOUT: %Self.as_type.loc5_14.1 => constants.%Self.as_type // CHECK:STDOUT: %pattern_type => constants.%pattern_type.28f @@ -1195,7 +1195,7 @@ fn G(x: A) { // CHECK:STDOUT: %F => constants.%F.9b8 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.2(constants.%T, constants.%U) { +// CHECK:STDOUT: specific @F.loc13(constants.%T, constants.%U) { // CHECK:STDOUT: %T => constants.%T // CHECK:STDOUT: %pattern_type => constants.%pattern_type.7dc // CHECK:STDOUT: } @@ -1211,14 +1211,14 @@ fn G(x: A) { // CHECK:STDOUT: %Self.322: %HasF.type.901 = bind_symbolic_name Self, 1 [symbolic] // CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self.322 [symbolic] // CHECK:STDOUT: %pattern_type.dfb: type = pattern_type %Self.as_type [symbolic] -// CHECK:STDOUT: %F.type.46c: type = fn_type @F.1, @HasF(%T) [symbolic] +// CHECK:STDOUT: %F.type.46c: type = fn_type @F.loc5, @HasF(%T) [symbolic] // CHECK:STDOUT: %F.823: %F.type.46c = struct_value () [symbolic] // CHECK:STDOUT: %HasF.assoc_type.dd8: type = assoc_entity_type @HasF, @HasF(%T) [symbolic] // CHECK:STDOUT: %assoc0.d31: %HasF.assoc_type.dd8 = assoc_entity element0, @HasF.%F.decl [symbolic] // CHECK:STDOUT: %require_complete.03f: = require_complete_type %HasF.type.901 [symbolic] // CHECK:STDOUT: %HasF.impl_witness: = impl_witness file.%HasF.impl_witness_table, @HasF.impl(%T) [symbolic] // CHECK:STDOUT: %pattern_type.7dc: type = pattern_type %T [symbolic] -// CHECK:STDOUT: %F.type.912: type = fn_type @F.2, @HasF.impl(%T) [symbolic] +// CHECK:STDOUT: %F.type.912: type = fn_type @F.loc9, @HasF.impl(%T) [symbolic] // CHECK:STDOUT: %F.f30: %F.type.912 = struct_value () [symbolic] // CHECK:STDOUT: %HasF.facet: %HasF.type.901 = facet_value %T, (%HasF.impl_witness) [symbolic] // CHECK:STDOUT: %require_complete.4ae: = require_complete_type %T [symbolic] @@ -1231,7 +1231,7 @@ fn G(x: A) { // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] // CHECK:STDOUT: %HasF.type.2f5: type = facet_type <@HasF, @HasF(%B)> [concrete] // CHECK:STDOUT: %Self.188: %HasF.type.2f5 = bind_symbolic_name Self, 1 [symbolic] -// CHECK:STDOUT: %F.type.1c6: type = fn_type @F.1, @HasF(%B) [concrete] +// CHECK:STDOUT: %F.type.1c6: type = fn_type @F.loc5, @HasF(%B) [concrete] // CHECK:STDOUT: %F.7cf: %F.type.1c6 = struct_value () [concrete] // CHECK:STDOUT: %HasF.assoc_type.1af: type = assoc_entity_type @HasF, @HasF(%B) [concrete] // CHECK:STDOUT: %assoc0.402: %HasF.assoc_type.1af = assoc_entity element0, @HasF.%F.decl [concrete] @@ -1287,25 +1287,25 @@ fn G(x: A) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %HasF.type: type = facet_type <@HasF, @HasF(%T.loc4_16.2)> [symbolic = %HasF.type (constants.%HasF.type.901)] // CHECK:STDOUT: %Self.2: @HasF.%HasF.type (%HasF.type.901) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.322)] -// CHECK:STDOUT: %F.type: type = fn_type @F.1, @HasF(%T.loc4_16.2) [symbolic = %F.type (constants.%F.type.46c)] +// CHECK:STDOUT: %F.type: type = fn_type @F.loc5, @HasF(%T.loc4_16.2) [symbolic = %F.type (constants.%F.type.46c)] // CHECK:STDOUT: %F: @HasF.%F.type (%F.type.46c) = struct_value () [symbolic = %F (constants.%F.823)] // CHECK:STDOUT: %HasF.assoc_type: type = assoc_entity_type @HasF, @HasF(%T.loc4_16.2) [symbolic = %HasF.assoc_type (constants.%HasF.assoc_type.dd8)] // CHECK:STDOUT: %assoc0.loc5_21.2: @HasF.%HasF.assoc_type (%HasF.assoc_type.dd8) = assoc_entity element0, %F.decl [symbolic = %assoc0.loc5_21.2 (constants.%assoc0.d31)] // CHECK:STDOUT: // CHECK:STDOUT: interface { // CHECK:STDOUT: %Self.1: @HasF.%HasF.type (%HasF.type.901) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.322)] -// CHECK:STDOUT: %F.decl: @HasF.%F.type (%F.type.46c) = fn_decl @F.1 [symbolic = @HasF.%F (constants.%F.823)] { -// CHECK:STDOUT: %self.patt: @F.1.%pattern_type (%pattern_type.dfb) = binding_pattern self [concrete] -// CHECK:STDOUT: %self.param_patt: @F.1.%pattern_type (%pattern_type.dfb) = value_param_pattern %self.patt, call_param0 [concrete] +// CHECK:STDOUT: %F.decl: @HasF.%F.type (%F.type.46c) = fn_decl @F.loc5 [symbolic = @HasF.%F (constants.%F.823)] { +// CHECK:STDOUT: %self.patt: @F.loc5.%pattern_type (%pattern_type.dfb) = binding_pattern self [concrete] +// CHECK:STDOUT: %self.param_patt: @F.loc5.%pattern_type (%pattern_type.dfb) = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %self.param: @F.1.%Self.as_type.loc5_14.1 (%Self.as_type) = value_param call_param0 +// CHECK:STDOUT: %self.param: @F.loc5.%Self.as_type.loc5_14.1 (%Self.as_type) = value_param call_param0 // CHECK:STDOUT: %.loc5_14.1: type = splice_block %.loc5_14.3 [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type)] { -// CHECK:STDOUT: %.loc5_14.2: @F.1.%HasF.type (%HasF.type.901) = specific_constant @HasF.%Self.1, @HasF(constants.%T) [symbolic = %Self (constants.%Self.322)] -// CHECK:STDOUT: %Self.ref: @F.1.%HasF.type (%HasF.type.901) = name_ref Self, %.loc5_14.2 [symbolic = %Self (constants.%Self.322)] +// CHECK:STDOUT: %.loc5_14.2: @F.loc5.%HasF.type (%HasF.type.901) = specific_constant @HasF.%Self.1, @HasF(constants.%T) [symbolic = %Self (constants.%Self.322)] +// CHECK:STDOUT: %Self.ref: @F.loc5.%HasF.type (%HasF.type.901) = name_ref Self, %.loc5_14.2 [symbolic = %Self (constants.%Self.322)] // CHECK:STDOUT: %Self.as_type.loc5_14.2: type = facet_access_type %Self.ref [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type)] // CHECK:STDOUT: %.loc5_14.3: type = converted %Self.ref, %Self.as_type.loc5_14.2 [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type)] // CHECK:STDOUT: } -// CHECK:STDOUT: %self: @F.1.%Self.as_type.loc5_14.1 (%Self.as_type) = bind_name self, %self.param +// CHECK:STDOUT: %self: @F.loc5.%Self.as_type.loc5_14.1 (%Self.as_type) = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %assoc0.loc5_21.1: @HasF.%HasF.assoc_type (%HasF.assoc_type.dd8) = assoc_entity element0, %F.decl [symbolic = %assoc0.loc5_21.2 (constants.%assoc0.d31)] // CHECK:STDOUT: @@ -1323,17 +1323,17 @@ fn G(x: A) { // CHECK:STDOUT: %HasF.impl_witness: = impl_witness file.%HasF.impl_witness_table, @HasF.impl(%T.loc8_14.2) [symbolic = %HasF.impl_witness (constants.%HasF.impl_witness)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %F.type: type = fn_type @F.2, @HasF.impl(%T.loc8_14.2) [symbolic = %F.type (constants.%F.type.912)] +// CHECK:STDOUT: %F.type: type = fn_type @F.loc9, @HasF.impl(%T.loc8_14.2) [symbolic = %F.type (constants.%F.type.912)] // CHECK:STDOUT: %F: @HasF.impl.%F.type (%F.type.912) = struct_value () [symbolic = %F (constants.%F.f30)] // CHECK:STDOUT: // CHECK:STDOUT: impl: %T.ref.loc8_24 as %HasF.type.loc8_35.1 { -// CHECK:STDOUT: %F.decl: @HasF.impl.%F.type (%F.type.912) = fn_decl @F.2 [symbolic = @HasF.impl.%F (constants.%F.f30)] { -// CHECK:STDOUT: %self.patt: @F.2.%pattern_type (%pattern_type.7dc) = binding_pattern self [concrete] -// CHECK:STDOUT: %self.param_patt: @F.2.%pattern_type (%pattern_type.7dc) = value_param_pattern %self.patt, call_param0 [concrete] +// CHECK:STDOUT: %F.decl: @HasF.impl.%F.type (%F.type.912) = fn_decl @F.loc9 [symbolic = @HasF.impl.%F (constants.%F.f30)] { +// CHECK:STDOUT: %self.patt: @F.loc9.%pattern_type (%pattern_type.7dc) = binding_pattern self [concrete] +// CHECK:STDOUT: %self.param_patt: @F.loc9.%pattern_type (%pattern_type.7dc) = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %self.param: @F.2.%T (%T) = value_param call_param0 +// CHECK:STDOUT: %self.param: @F.loc9.%T (%T) = value_param call_param0 // CHECK:STDOUT: %Self.ref: type = name_ref Self, @HasF.impl.%T.ref.loc8_24 [symbolic = %T (constants.%T)] -// CHECK:STDOUT: %self: @F.2.%T (%T) = bind_name self, %self.param +// CHECK:STDOUT: %self: @F.loc9.%T (%T) = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -1360,24 +1360,24 @@ fn G(x: A) { // CHECK:STDOUT: .Self = constants.%B // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.1(@HasF.%T.loc4_16.1: type, @HasF.%Self.1: @HasF.%HasF.type (%HasF.type.901)) { +// CHECK:STDOUT: generic fn @F.loc5(@HasF.%T.loc4_16.1: type, @HasF.%Self.1: @HasF.%HasF.type (%HasF.type.901)) { // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic = %T (constants.%T)] // CHECK:STDOUT: %HasF.type: type = facet_type <@HasF, @HasF(%T)> [symbolic = %HasF.type (constants.%HasF.type.901)] -// CHECK:STDOUT: %Self: @F.1.%HasF.type (%HasF.type.901) = bind_symbolic_name Self, 1 [symbolic = %Self (constants.%Self.322)] +// CHECK:STDOUT: %Self: @F.loc5.%HasF.type (%HasF.type.901) = bind_symbolic_name Self, 1 [symbolic = %Self (constants.%Self.322)] // CHECK:STDOUT: %Self.as_type.loc5_14.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type)] // CHECK:STDOUT: %pattern_type: type = pattern_type %Self.as_type.loc5_14.1 [symbolic = %pattern_type (constants.%pattern_type.dfb)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%self.param: @F.1.%Self.as_type.loc5_14.1 (%Self.as_type)); +// CHECK:STDOUT: fn(%self.param: @F.loc5.%Self.as_type.loc5_14.1 (%Self.as_type)); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.2(@HasF.impl.%T.loc8_14.1: type) { +// CHECK:STDOUT: generic fn @F.loc9(@HasF.impl.%T.loc8_14.1: type) { // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic = %T (constants.%T)] // CHECK:STDOUT: %pattern_type: type = pattern_type %T [symbolic = %pattern_type (constants.%pattern_type.7dc)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type %T [symbolic = %require_complete (constants.%require_complete.4ae)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%self.param: @F.2.%T (%T)) { +// CHECK:STDOUT: fn(%self.param: @F.loc9.%T (%T)) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -1406,7 +1406,7 @@ fn G(x: A) { // CHECK:STDOUT: %assoc0.loc5_21.2 => constants.%assoc0.d31 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%T, constants.%Self.322) { +// CHECK:STDOUT: specific @F.loc5(constants.%T, constants.%Self.322) { // CHECK:STDOUT: %T => constants.%T // CHECK:STDOUT: %HasF.type => constants.%HasF.type.901 // CHECK:STDOUT: %Self => constants.%Self.322 @@ -1425,12 +1425,12 @@ fn G(x: A) { // CHECK:STDOUT: %F => constants.%F.f30 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.2(constants.%T) { +// CHECK:STDOUT: specific @F.loc9(constants.%T) { // CHECK:STDOUT: %T => constants.%T // CHECK:STDOUT: %pattern_type => constants.%pattern_type.7dc // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%T, constants.%HasF.facet) { +// CHECK:STDOUT: specific @F.loc5(constants.%T, constants.%HasF.facet) { // CHECK:STDOUT: %T => constants.%T // CHECK:STDOUT: %HasF.type => constants.%HasF.type.901 // CHECK:STDOUT: %Self => constants.%HasF.facet diff --git a/toolchain/check/testdata/impl/lookup/impl_forall.carbon b/toolchain/check/testdata/impl/lookup/impl_forall.carbon index c15e0d185262..a3a01e97eef1 100644 --- a/toolchain/check/testdata/impl/lookup/impl_forall.carbon +++ b/toolchain/check/testdata/impl/lookup/impl_forall.carbon @@ -58,7 +58,7 @@ fn TestSpecific(a: A({})) -> {} { // CHECK:STDOUT: %Self.as_type.928: type = facet_access_type %Self.209206.1 [symbolic] // CHECK:STDOUT: %pattern_type.4be: type = pattern_type %Self.as_type.928 [symbolic] // CHECK:STDOUT: %pattern_type.7dcd0a.1: type = pattern_type %U [symbolic] -// CHECK:STDOUT: %F.type.2aef59.1: type = fn_type @F.1, @I(%U) [symbolic] +// CHECK:STDOUT: %F.type.2aef59.1: type = fn_type @F.loc8, @I(%U) [symbolic] // CHECK:STDOUT: %F.bb2dd4.1: %F.type.2aef59.1 = struct_value () [symbolic] // CHECK:STDOUT: %I.assoc_type.1e5078.1: type = assoc_entity_type @I, @I(%U) [symbolic] // CHECK:STDOUT: %assoc0.8f0422.1: %I.assoc_type.1e5078.1 = assoc_entity element0, @I.%F.decl [symbolic] @@ -66,7 +66,7 @@ fn TestSpecific(a: A({})) -> {} { // CHECK:STDOUT: %A.13025a.2: type = class_type @A, @A(%V) [symbolic] // CHECK:STDOUT: %I.type.325e65.2: type = facet_type <@I, @I(%V)> [symbolic] // CHECK:STDOUT: %Self.209206.2: %I.type.325e65.2 = bind_symbolic_name Self, 1 [symbolic] -// CHECK:STDOUT: %F.type.2aef59.2: type = fn_type @F.1, @I(%V) [symbolic] +// CHECK:STDOUT: %F.type.2aef59.2: type = fn_type @F.loc8, @I(%V) [symbolic] // CHECK:STDOUT: %F.bb2dd4.2: %F.type.2aef59.2 = struct_value () [symbolic] // CHECK:STDOUT: %I.assoc_type.1e5078.2: type = assoc_entity_type @I, @I(%V) [symbolic] // CHECK:STDOUT: %assoc0.8f0422.2: %I.assoc_type.1e5078.2 = assoc_entity element0, @I.%F.decl [symbolic] @@ -74,7 +74,7 @@ fn TestSpecific(a: A({})) -> {} { // CHECK:STDOUT: %I.impl_witness.40ab31.1: = impl_witness file.%I.impl_witness_table, @I.impl(%V) [symbolic] // CHECK:STDOUT: %pattern_type.68d8d3.1: type = pattern_type %A.13025a.2 [symbolic] // CHECK:STDOUT: %pattern_type.7dcd0a.2: type = pattern_type %V [symbolic] -// CHECK:STDOUT: %F.type.0fea45.1: type = fn_type @F.2, @I.impl(%V) [symbolic] +// CHECK:STDOUT: %F.type.0fea45.1: type = fn_type @F.loc12, @I.impl(%V) [symbolic] // CHECK:STDOUT: %F.d6ae34.1: %F.type.0fea45.1 = struct_value () [symbolic] // CHECK:STDOUT: %I.facet.de3: %I.type.325e65.2 = facet_value %A.13025a.2, (%I.impl_witness.40ab31.1) [symbolic] // CHECK:STDOUT: %require_complete.4aeca8.2: = require_complete_type %V [symbolic] @@ -95,19 +95,19 @@ fn TestSpecific(a: A({})) -> {} { // CHECK:STDOUT: %require_complete.5b8aee.2: = require_complete_type %A.13025a.3 [symbolic] // CHECK:STDOUT: %I.type.325e65.3: type = facet_type <@I, @I(%W)> [symbolic] // CHECK:STDOUT: %Self.209206.3: %I.type.325e65.3 = bind_symbolic_name Self, 1 [symbolic] -// CHECK:STDOUT: %F.type.2aef59.3: type = fn_type @F.1, @I(%W) [symbolic] +// CHECK:STDOUT: %F.type.2aef59.3: type = fn_type @F.loc8, @I(%W) [symbolic] // CHECK:STDOUT: %F.bb2dd4.3: %F.type.2aef59.3 = struct_value () [symbolic] // CHECK:STDOUT: %I.assoc_type.1e5078.3: type = assoc_entity_type @I, @I(%W) [symbolic] // CHECK:STDOUT: %assoc0.8f0422.3: %I.assoc_type.1e5078.3 = assoc_entity element0, @I.%F.decl [symbolic] // CHECK:STDOUT: %require_complete.cfebb2.2: = require_complete_type %I.type.325e65.3 [symbolic] // CHECK:STDOUT: %I.impl_witness.40ab31.2: = impl_witness file.%I.impl_witness_table, @I.impl(%W) [symbolic] -// CHECK:STDOUT: %F.type.0fea45.2: type = fn_type @F.2, @I.impl(%W) [symbolic] +// CHECK:STDOUT: %F.type.0fea45.2: type = fn_type @F.loc12, @I.impl(%W) [symbolic] // CHECK:STDOUT: %F.d6ae34.2: %F.type.0fea45.2 = struct_value () [symbolic] // CHECK:STDOUT: %I.lookup_impl_witness: = lookup_impl_witness %A.13025a.3, @I, @I(%W) [symbolic] // CHECK:STDOUT: %I.facet.6d2: %I.type.325e65.3 = facet_value %A.13025a.3, (%I.lookup_impl_witness) [symbolic] // CHECK:STDOUT: %.fe1: type = fn_type_with_self_type %F.type.2aef59.3, %I.facet.6d2 [symbolic] // CHECK:STDOUT: %impl.elem0: %.fe1 = impl_witness_access %I.lookup_impl_witness, element0 [symbolic] -// CHECK:STDOUT: %specific_impl_fn: = specific_impl_function %impl.elem0, @F.1(%W, %I.facet.6d2) [symbolic] +// CHECK:STDOUT: %specific_impl_fn: = specific_impl_function %impl.elem0, @F.loc8(%W, %I.facet.6d2) [symbolic] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %A.235: type = class_type @A, @A(%empty_struct_type) [concrete] // CHECK:STDOUT: %pattern_type.496: type = pattern_type %A.235 [concrete] @@ -120,17 +120,17 @@ fn TestSpecific(a: A({})) -> {} { // CHECK:STDOUT: %complete_type.0a6: = complete_type_witness %struct_type.n.91c [concrete] // CHECK:STDOUT: %I.type.885: type = facet_type <@I, @I(%empty_struct_type)> [concrete] // CHECK:STDOUT: %Self.4e2: %I.type.885 = bind_symbolic_name Self, 1 [symbolic] -// CHECK:STDOUT: %F.type.684: type = fn_type @F.1, @I(%empty_struct_type) [concrete] +// CHECK:STDOUT: %F.type.684: type = fn_type @F.loc8, @I(%empty_struct_type) [concrete] // CHECK:STDOUT: %F.a8d: %F.type.684 = struct_value () [concrete] // CHECK:STDOUT: %I.assoc_type.22c: type = assoc_entity_type @I, @I(%empty_struct_type) [concrete] // CHECK:STDOUT: %assoc0.722: %I.assoc_type.22c = assoc_entity element0, @I.%F.decl [concrete] // CHECK:STDOUT: %complete_type.788: = complete_type_witness %I.type.885 [concrete] // CHECK:STDOUT: %I.impl_witness.0f2: = impl_witness file.%I.impl_witness_table, @I.impl(%empty_struct_type) [concrete] -// CHECK:STDOUT: %F.type.875: type = fn_type @F.2, @I.impl(%empty_struct_type) [concrete] +// CHECK:STDOUT: %F.type.875: type = fn_type @F.loc12, @I.impl(%empty_struct_type) [concrete] // CHECK:STDOUT: %F.158: %F.type.875 = struct_value () [concrete] // CHECK:STDOUT: %I.facet.bd5: %I.type.885 = facet_value %A.235, (%I.impl_witness.0f2) [concrete] // CHECK:STDOUT: %.8fd: type = fn_type_with_self_type %F.type.684, %I.facet.bd5 [concrete] -// CHECK:STDOUT: %F.specific_fn: = specific_function %F.158, @F.2(%empty_struct_type) [concrete] +// CHECK:STDOUT: %F.specific_fn: = specific_function %F.158, @F.loc12(%empty_struct_type) [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %Op.type.069: type = fn_type @Op.2, @Destroy.impl(%empty_struct_type) [concrete] @@ -226,30 +226,30 @@ fn TestSpecific(a: A({})) -> {} { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %I.type: type = facet_type <@I, @I(%U.loc7_13.2)> [symbolic = %I.type (constants.%I.type.325e65.1)] // CHECK:STDOUT: %Self.2: @I.%I.type (%I.type.325e65.1) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.209206.1)] -// CHECK:STDOUT: %F.type: type = fn_type @F.1, @I(%U.loc7_13.2) [symbolic = %F.type (constants.%F.type.2aef59.1)] +// CHECK:STDOUT: %F.type: type = fn_type @F.loc8, @I(%U.loc7_13.2) [symbolic = %F.type (constants.%F.type.2aef59.1)] // CHECK:STDOUT: %F: @I.%F.type (%F.type.2aef59.1) = struct_value () [symbolic = %F (constants.%F.bb2dd4.1)] // CHECK:STDOUT: %I.assoc_type: type = assoc_entity_type @I, @I(%U.loc7_13.2) [symbolic = %I.assoc_type (constants.%I.assoc_type.1e5078.1)] // CHECK:STDOUT: %assoc0.loc8_26.2: @I.%I.assoc_type (%I.assoc_type.1e5078.1) = assoc_entity element0, %F.decl [symbolic = %assoc0.loc8_26.2 (constants.%assoc0.8f0422.1)] // CHECK:STDOUT: // CHECK:STDOUT: interface { // CHECK:STDOUT: %Self.1: @I.%I.type (%I.type.325e65.1) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.209206.1)] -// CHECK:STDOUT: %F.decl: @I.%F.type (%F.type.2aef59.1) = fn_decl @F.1 [symbolic = @I.%F (constants.%F.bb2dd4.1)] { -// CHECK:STDOUT: %self.patt: @F.1.%pattern_type.loc8_8 (%pattern_type.4be) = binding_pattern self [concrete] -// CHECK:STDOUT: %self.param_patt: @F.1.%pattern_type.loc8_8 (%pattern_type.4be) = value_param_pattern %self.patt, call_param0 [concrete] -// CHECK:STDOUT: %return.patt: @F.1.%pattern_type.loc8_22 (%pattern_type.7dcd0a.1) = return_slot_pattern [concrete] -// CHECK:STDOUT: %return.param_patt: @F.1.%pattern_type.loc8_22 (%pattern_type.7dcd0a.1) = out_param_pattern %return.patt, call_param1 [concrete] +// CHECK:STDOUT: %F.decl: @I.%F.type (%F.type.2aef59.1) = fn_decl @F.loc8 [symbolic = @I.%F (constants.%F.bb2dd4.1)] { +// CHECK:STDOUT: %self.patt: @F.loc8.%pattern_type.loc8_8 (%pattern_type.4be) = binding_pattern self [concrete] +// CHECK:STDOUT: %self.param_patt: @F.loc8.%pattern_type.loc8_8 (%pattern_type.4be) = value_param_pattern %self.patt, call_param0 [concrete] +// CHECK:STDOUT: %return.patt: @F.loc8.%pattern_type.loc8_22 (%pattern_type.7dcd0a.1) = return_slot_pattern [concrete] +// CHECK:STDOUT: %return.param_patt: @F.loc8.%pattern_type.loc8_22 (%pattern_type.7dcd0a.1) = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %U.ref: type = name_ref U, @I.%U.loc7_13.1 [symbolic = %U (constants.%U)] -// CHECK:STDOUT: %self.param: @F.1.%Self.as_type.loc8_14.1 (%Self.as_type.928) = value_param call_param0 +// CHECK:STDOUT: %self.param: @F.loc8.%Self.as_type.loc8_14.1 (%Self.as_type.928) = value_param call_param0 // CHECK:STDOUT: %.loc8_14.1: type = splice_block %.loc8_14.3 [symbolic = %Self.as_type.loc8_14.1 (constants.%Self.as_type.928)] { -// CHECK:STDOUT: %.loc8_14.2: @F.1.%I.type (%I.type.325e65.1) = specific_constant @I.%Self.1, @I(constants.%U) [symbolic = %Self (constants.%Self.209206.1)] -// CHECK:STDOUT: %Self.ref: @F.1.%I.type (%I.type.325e65.1) = name_ref Self, %.loc8_14.2 [symbolic = %Self (constants.%Self.209206.1)] +// CHECK:STDOUT: %.loc8_14.2: @F.loc8.%I.type (%I.type.325e65.1) = specific_constant @I.%Self.1, @I(constants.%U) [symbolic = %Self (constants.%Self.209206.1)] +// CHECK:STDOUT: %Self.ref: @F.loc8.%I.type (%I.type.325e65.1) = name_ref Self, %.loc8_14.2 [symbolic = %Self (constants.%Self.209206.1)] // CHECK:STDOUT: %Self.as_type.loc8_14.2: type = facet_access_type %Self.ref [symbolic = %Self.as_type.loc8_14.1 (constants.%Self.as_type.928)] // CHECK:STDOUT: %.loc8_14.3: type = converted %Self.ref, %Self.as_type.loc8_14.2 [symbolic = %Self.as_type.loc8_14.1 (constants.%Self.as_type.928)] // CHECK:STDOUT: } -// CHECK:STDOUT: %self: @F.1.%Self.as_type.loc8_14.1 (%Self.as_type.928) = bind_name self, %self.param -// CHECK:STDOUT: %return.param: ref @F.1.%U (%U) = out_param call_param1 -// CHECK:STDOUT: %return: ref @F.1.%U (%U) = return_slot %return.param +// CHECK:STDOUT: %self: @F.loc8.%Self.as_type.loc8_14.1 (%Self.as_type.928) = bind_name self, %self.param +// CHECK:STDOUT: %return.param: ref @F.loc8.%U (%U) = out_param call_param1 +// CHECK:STDOUT: %return: ref @F.loc8.%U (%U) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %assoc0.loc8_26.1: @I.%I.assoc_type (%I.assoc_type.1e5078.1) = assoc_entity element0, %F.decl [symbolic = %assoc0.loc8_26.2 (constants.%assoc0.8f0422.1)] // CHECK:STDOUT: @@ -269,22 +269,22 @@ fn TestSpecific(a: A({})) -> {} { // CHECK:STDOUT: %I.impl_witness: = impl_witness file.%I.impl_witness_table, @I.impl(%V.loc11_14.2) [symbolic = %I.impl_witness (constants.%I.impl_witness.40ab31.1)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %F.type: type = fn_type @F.2, @I.impl(%V.loc11_14.2) [symbolic = %F.type (constants.%F.type.0fea45.1)] +// CHECK:STDOUT: %F.type: type = fn_type @F.loc12, @I.impl(%V.loc11_14.2) [symbolic = %F.type (constants.%F.type.0fea45.1)] // CHECK:STDOUT: %F: @I.impl.%F.type (%F.type.0fea45.1) = struct_value () [symbolic = %F (constants.%F.d6ae34.1)] // CHECK:STDOUT: // CHECK:STDOUT: impl: %A.loc11_27.1 as %I.type.loc11_35.1 { -// CHECK:STDOUT: %F.decl: @I.impl.%F.type (%F.type.0fea45.1) = fn_decl @F.2 [symbolic = @I.impl.%F (constants.%F.d6ae34.1)] { -// CHECK:STDOUT: %self.patt: @F.2.%pattern_type.loc12_8 (%pattern_type.68d8d3.1) = binding_pattern self [concrete] -// CHECK:STDOUT: %self.param_patt: @F.2.%pattern_type.loc12_8 (%pattern_type.68d8d3.1) = value_param_pattern %self.patt, call_param0 [concrete] -// CHECK:STDOUT: %return.patt: @F.2.%pattern_type.loc12_22 (%pattern_type.7dcd0a.2) = return_slot_pattern [concrete] -// CHECK:STDOUT: %return.param_patt: @F.2.%pattern_type.loc12_22 (%pattern_type.7dcd0a.2) = out_param_pattern %return.patt, call_param1 [concrete] +// CHECK:STDOUT: %F.decl: @I.impl.%F.type (%F.type.0fea45.1) = fn_decl @F.loc12 [symbolic = @I.impl.%F (constants.%F.d6ae34.1)] { +// CHECK:STDOUT: %self.patt: @F.loc12.%pattern_type.loc12_8 (%pattern_type.68d8d3.1) = binding_pattern self [concrete] +// CHECK:STDOUT: %self.param_patt: @F.loc12.%pattern_type.loc12_8 (%pattern_type.68d8d3.1) = value_param_pattern %self.patt, call_param0 [concrete] +// CHECK:STDOUT: %return.patt: @F.loc12.%pattern_type.loc12_22 (%pattern_type.7dcd0a.2) = return_slot_pattern [concrete] +// CHECK:STDOUT: %return.param_patt: @F.loc12.%pattern_type.loc12_22 (%pattern_type.7dcd0a.2) = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %V.ref: type = name_ref V, @I.impl.%V.loc11_14.1 [symbolic = %V (constants.%V)] -// CHECK:STDOUT: %self.param: @F.2.%A (%A.13025a.2) = value_param call_param0 +// CHECK:STDOUT: %self.param: @F.loc12.%A (%A.13025a.2) = value_param call_param0 // CHECK:STDOUT: %Self.ref: type = name_ref Self, @I.impl.%A.loc11_27.1 [symbolic = %A (constants.%A.13025a.2)] -// CHECK:STDOUT: %self: @F.2.%A (%A.13025a.2) = bind_name self, %self.param -// CHECK:STDOUT: %return.param: ref @F.2.%V (%V) = out_param call_param1 -// CHECK:STDOUT: %return: ref @F.2.%V (%V) = return_slot %return.param +// CHECK:STDOUT: %self: @F.loc12.%A (%A.13025a.2) = bind_name self, %self.param +// CHECK:STDOUT: %return.param: ref @F.loc12.%V (%V) = out_param call_param1 +// CHECK:STDOUT: %return: ref @F.loc12.%V (%V) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -318,18 +318,18 @@ fn TestSpecific(a: A({})) -> {} { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.1(@I.%U.loc7_13.1: type, @I.%Self.1: @I.%I.type (%I.type.325e65.1)) { +// CHECK:STDOUT: generic fn @F.loc8(@I.%U.loc7_13.1: type, @I.%Self.1: @I.%I.type (%I.type.325e65.1)) { // CHECK:STDOUT: %U: type = bind_symbolic_name U, 0 [symbolic = %U (constants.%U)] // CHECK:STDOUT: %I.type: type = facet_type <@I, @I(%U)> [symbolic = %I.type (constants.%I.type.325e65.1)] -// CHECK:STDOUT: %Self: @F.1.%I.type (%I.type.325e65.1) = bind_symbolic_name Self, 1 [symbolic = %Self (constants.%Self.209206.1)] +// CHECK:STDOUT: %Self: @F.loc8.%I.type (%I.type.325e65.1) = bind_symbolic_name Self, 1 [symbolic = %Self (constants.%Self.209206.1)] // CHECK:STDOUT: %Self.as_type.loc8_14.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc8_14.1 (constants.%Self.as_type.928)] // CHECK:STDOUT: %pattern_type.loc8_8: type = pattern_type %Self.as_type.loc8_14.1 [symbolic = %pattern_type.loc8_8 (constants.%pattern_type.4be)] // CHECK:STDOUT: %pattern_type.loc8_22: type = pattern_type %U [symbolic = %pattern_type.loc8_22 (constants.%pattern_type.7dcd0a.1)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%self.param: @F.1.%Self.as_type.loc8_14.1 (%Self.as_type.928)) -> @F.1.%U (%U); +// CHECK:STDOUT: fn(%self.param: @F.loc8.%Self.as_type.loc8_14.1 (%Self.as_type.928)) -> @F.loc8.%U (%U); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.2(@I.impl.%V.loc11_14.1: type) { +// CHECK:STDOUT: generic fn @F.loc12(@I.impl.%V.loc11_14.1: type) { // CHECK:STDOUT: %V: type = bind_symbolic_name V, 0 [symbolic = %V (constants.%V)] // CHECK:STDOUT: %A: type = class_type @A, @A(%V) [symbolic = %A (constants.%A.13025a.2)] // CHECK:STDOUT: %pattern_type.loc12_8: type = pattern_type %A [symbolic = %pattern_type.loc12_8 (constants.%pattern_type.68d8d3.1)] @@ -340,12 +340,12 @@ fn TestSpecific(a: A({})) -> {} { // CHECK:STDOUT: %require_complete.loc12_12: = require_complete_type %A [symbolic = %require_complete.loc12_12 (constants.%require_complete.5b8aee.1)] // CHECK:STDOUT: %A.elem: type = unbound_element_type %A, %V [symbolic = %A.elem (constants.%A.elem.1ceb36.2)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%self.param: @F.2.%A (%A.13025a.2)) -> @F.2.%V (%V) { +// CHECK:STDOUT: fn(%self.param: @F.loc12.%A (%A.13025a.2)) -> @F.loc12.%V (%V) { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %self.ref: @F.2.%A (%A.13025a.2) = name_ref self, %self -// CHECK:STDOUT: %n.ref: @F.2.%A.elem (%A.elem.1ceb36.2) = name_ref n, @A.%.loc4 [concrete = @A.%.loc4] -// CHECK:STDOUT: %.loc13_16.1: ref @F.2.%V (%V) = class_element_access %self.ref, element0 -// CHECK:STDOUT: %.loc13_16.2: @F.2.%V (%V) = bind_value %.loc13_16.1 +// CHECK:STDOUT: %self.ref: @F.loc12.%A (%A.13025a.2) = name_ref self, %self +// CHECK:STDOUT: %n.ref: @F.loc12.%A.elem (%A.elem.1ceb36.2) = name_ref n, @A.%.loc4 [concrete = @A.%.loc4] +// CHECK:STDOUT: %.loc13_16.1: ref @F.loc12.%V (%V) = class_element_access %self.ref, element0 +// CHECK:STDOUT: %.loc13_16.2: @F.loc12.%V (%V) = bind_value %.loc13_16.1 // CHECK:STDOUT: return %.loc13_16.2 // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -364,11 +364,11 @@ fn TestSpecific(a: A({})) -> {} { // CHECK:STDOUT: %I.assoc_type: type = assoc_entity_type @I, @I(%W.loc17_16.2) [symbolic = %I.assoc_type (constants.%I.assoc_type.1e5078.3)] // CHECK:STDOUT: %assoc0: @TestGeneric.%I.assoc_type (%I.assoc_type.1e5078.3) = assoc_entity element0, @I.%F.decl [symbolic = %assoc0 (constants.%assoc0.8f0422.3)] // CHECK:STDOUT: %I.lookup_impl_witness: = lookup_impl_witness %A.loc17_32.2, @I, @I(%W.loc17_16.2) [symbolic = %I.lookup_impl_witness (constants.%I.lookup_impl_witness)] -// CHECK:STDOUT: %F.type: type = fn_type @F.1, @I(%W.loc17_16.2) [symbolic = %F.type (constants.%F.type.2aef59.3)] +// CHECK:STDOUT: %F.type: type = fn_type @F.loc8, @I(%W.loc17_16.2) [symbolic = %F.type (constants.%F.type.2aef59.3)] // CHECK:STDOUT: %I.facet: @TestGeneric.%I.type.loc18_16.2 (%I.type.325e65.3) = facet_value %A.loc17_32.2, (%I.lookup_impl_witness) [symbolic = %I.facet (constants.%I.facet.6d2)] // CHECK:STDOUT: %.loc18_11: type = fn_type_with_self_type %F.type, %I.facet [symbolic = %.loc18_11 (constants.%.fe1)] // CHECK:STDOUT: %impl.elem0.loc18_11.2: @TestGeneric.%.loc18_11 (%.fe1) = impl_witness_access %I.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc18_11.2 (constants.%impl.elem0)] -// CHECK:STDOUT: %specific_impl_fn.loc18_11.2: = specific_impl_function %impl.elem0.loc18_11.2, @F.1(%W.loc17_16.2, %I.facet) [symbolic = %specific_impl_fn.loc18_11.2 (constants.%specific_impl_fn)] +// CHECK:STDOUT: %specific_impl_fn.loc18_11.2: = specific_impl_function %impl.elem0.loc18_11.2, @F.loc8(%W.loc17_16.2, %I.facet) [symbolic = %specific_impl_fn.loc18_11.2 (constants.%specific_impl_fn)] // CHECK:STDOUT: // CHECK:STDOUT: fn(%a.param: @TestGeneric.%A.loc17_32.2 (%A.13025a.3)) -> @TestGeneric.%W.loc17_16.2 (%W) { // CHECK:STDOUT: !entry: @@ -380,7 +380,7 @@ fn TestSpecific(a: A({})) -> {} { // CHECK:STDOUT: %F.ref: @TestGeneric.%I.assoc_type (%I.assoc_type.1e5078.3) = name_ref F, %.loc18_17 [symbolic = %assoc0 (constants.%assoc0.8f0422.3)] // CHECK:STDOUT: %impl.elem0.loc18_11.1: @TestGeneric.%.loc18_11 (%.fe1) = impl_witness_access constants.%I.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc18_11.2 (constants.%impl.elem0)] // CHECK:STDOUT: %bound_method.loc18_11: = bound_method %a.ref, %impl.elem0.loc18_11.1 -// CHECK:STDOUT: %specific_impl_fn.loc18_11.1: = specific_impl_function %impl.elem0.loc18_11.1, @F.1(constants.%W, constants.%I.facet.6d2) [symbolic = %specific_impl_fn.loc18_11.2 (constants.%specific_impl_fn)] +// CHECK:STDOUT: %specific_impl_fn.loc18_11.1: = specific_impl_function %impl.elem0.loc18_11.1, @F.loc8(constants.%W, constants.%I.facet.6d2) [symbolic = %specific_impl_fn.loc18_11.2 (constants.%specific_impl_fn)] // CHECK:STDOUT: %bound_method.loc18_21: = bound_method %a.ref, %specific_impl_fn.loc18_11.1 // CHECK:STDOUT: %.loc18_21: init @TestGeneric.%W.loc17_16.2 (%W) = call %bound_method.loc18_21(%a.ref) // CHECK:STDOUT: %.loc18_22.1: @TestGeneric.%W.loc17_16.2 (%W) = value_of_initializer %.loc18_21 @@ -400,7 +400,7 @@ fn TestSpecific(a: A({})) -> {} { // CHECK:STDOUT: %F.ref: %I.assoc_type.22c = name_ref F, %.loc22_18 [concrete = constants.%assoc0.722] // CHECK:STDOUT: %impl.elem0: %.8fd = impl_witness_access constants.%I.impl_witness.0f2, element0 [concrete = constants.%F.158] // CHECK:STDOUT: %bound_method.loc22_11: = bound_method %a.ref, %impl.elem0 -// CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @F.2(constants.%empty_struct_type) [concrete = constants.%F.specific_fn] +// CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @F.loc12(constants.%empty_struct_type) [concrete = constants.%F.specific_fn] // CHECK:STDOUT: %bound_method.loc22_22.1: = bound_method %a.ref, %specific_fn // CHECK:STDOUT: %F.call: init %empty_struct_type = call %bound_method.loc22_22.1(%a.ref) // CHECK:STDOUT: %.loc22_22.1: ref %empty_struct_type = temporary_storage @@ -423,7 +423,7 @@ fn TestSpecific(a: A({})) -> {} { // CHECK:STDOUT: %U.loc7_13.2 => constants.%U // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%U, constants.%Self.209206.1) { +// CHECK:STDOUT: specific @F.loc8(constants.%U, constants.%Self.209206.1) { // CHECK:STDOUT: %U => constants.%U // CHECK:STDOUT: %I.type => constants.%I.type.325e65.1 // CHECK:STDOUT: %Self => constants.%Self.209206.1 @@ -467,14 +467,14 @@ fn TestSpecific(a: A({})) -> {} { // CHECK:STDOUT: %F => constants.%F.d6ae34.1 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.2(constants.%V) { +// CHECK:STDOUT: specific @F.loc12(constants.%V) { // CHECK:STDOUT: %V => constants.%V // CHECK:STDOUT: %A => constants.%A.13025a.2 // CHECK:STDOUT: %pattern_type.loc12_8 => constants.%pattern_type.68d8d3.1 // CHECK:STDOUT: %pattern_type.loc12_22 => constants.%pattern_type.7dcd0a.2 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%V, constants.%I.facet.de3) { +// CHECK:STDOUT: specific @F.loc8(constants.%V, constants.%I.facet.de3) { // CHECK:STDOUT: %U => constants.%V // CHECK:STDOUT: %I.type => constants.%I.type.325e65.2 // CHECK:STDOUT: %Self => constants.%I.facet.de3 @@ -525,7 +525,7 @@ fn TestSpecific(a: A({})) -> {} { // CHECK:STDOUT: %F => constants.%F.d6ae34.2 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%W, constants.%I.facet.6d2) { +// CHECK:STDOUT: specific @F.loc8(constants.%W, constants.%I.facet.6d2) { // CHECK:STDOUT: %U => constants.%W // CHECK:STDOUT: %I.type => constants.%I.type.325e65.3 // CHECK:STDOUT: %Self => constants.%I.facet.6d2 @@ -569,7 +569,7 @@ fn TestSpecific(a: A({})) -> {} { // CHECK:STDOUT: %F => constants.%F.158 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.2(constants.%empty_struct_type) { +// CHECK:STDOUT: specific @F.loc12(constants.%empty_struct_type) { // CHECK:STDOUT: %V => constants.%empty_struct_type // CHECK:STDOUT: %A => constants.%A.235 // CHECK:STDOUT: %pattern_type.loc12_8 => constants.%pattern_type.496 diff --git a/toolchain/check/testdata/impl/lookup/import.carbon b/toolchain/check/testdata/impl/lookup/import.carbon index 367b646b1903..4c4f0c2c372d 100644 --- a/toolchain/check/testdata/impl/lookup/import.carbon +++ b/toolchain/check/testdata/impl/lookup/import.carbon @@ -230,7 +230,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %Self: %HasF.type = bind_symbolic_name Self, 0 [symbolic] // CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self [symbolic] // CHECK:STDOUT: %pattern_type.28f: type = pattern_type %Self.as_type [symbolic] -// CHECK:STDOUT: %F.type.b7b: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.b7b: type = fn_type @F.loc5 [concrete] // CHECK:STDOUT: %F.f50: %F.type.b7b = struct_value () [concrete] // CHECK:STDOUT: %HasF.assoc_type: type = assoc_entity_type @HasF [concrete] // CHECK:STDOUT: %assoc0: %HasF.assoc_type = assoc_entity element0, @HasF.%F.decl [concrete] @@ -239,7 +239,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %HasF.impl_witness: = impl_witness file.%HasF.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.c48: type = pattern_type %C [concrete] -// CHECK:STDOUT: %F.type.a02: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.a02: type = fn_type @F.loc12 [concrete] // CHECK:STDOUT: %F.dc7: %F.type.a02 = struct_value () [concrete] // CHECK:STDOUT: %HasF.facet: %HasF.type = facet_value %C, (%HasF.impl_witness) [concrete] // CHECK:STDOUT: } @@ -270,17 +270,17 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: // CHECK:STDOUT: interface @HasF { // CHECK:STDOUT: %Self: %HasF.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self] -// CHECK:STDOUT: %F.decl: %F.type.b7b = fn_decl @F.1 [concrete = constants.%F.f50] { -// CHECK:STDOUT: %self.patt: @F.1.%pattern_type (%pattern_type.28f) = binding_pattern self [concrete] -// CHECK:STDOUT: %self.param_patt: @F.1.%pattern_type (%pattern_type.28f) = value_param_pattern %self.patt, call_param0 [concrete] +// CHECK:STDOUT: %F.decl: %F.type.b7b = fn_decl @F.loc5 [concrete = constants.%F.f50] { +// CHECK:STDOUT: %self.patt: @F.loc5.%pattern_type (%pattern_type.28f) = binding_pattern self [concrete] +// CHECK:STDOUT: %self.param_patt: @F.loc5.%pattern_type (%pattern_type.28f) = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %self.param: @F.1.%Self.as_type.loc5_14.1 (%Self.as_type) = value_param call_param0 +// CHECK:STDOUT: %self.param: @F.loc5.%Self.as_type.loc5_14.1 (%Self.as_type) = value_param call_param0 // CHECK:STDOUT: %.loc5_14.1: type = splice_block %.loc5_14.2 [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type)] { // CHECK:STDOUT: %Self.ref: %HasF.type = name_ref Self, @HasF.%Self [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %Self.as_type.loc5_14.2: type = facet_access_type %Self.ref [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type)] // CHECK:STDOUT: %.loc5_14.2: type = converted %Self.ref, %Self.as_type.loc5_14.2 [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type)] // CHECK:STDOUT: } -// CHECK:STDOUT: %self: @F.1.%Self.as_type.loc5_14.1 (%Self.as_type) = bind_name self, %self.param +// CHECK:STDOUT: %self: @F.loc5.%Self.as_type.loc5_14.1 (%Self.as_type) = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %assoc0: %HasF.assoc_type = assoc_entity element0, %F.decl [concrete = constants.%assoc0] // CHECK:STDOUT: @@ -291,7 +291,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @HasF.impl: %C.ref as %HasF.ref { -// CHECK:STDOUT: %F.decl: %F.type.a02 = fn_decl @F.2 [concrete = constants.%F.dc7] { +// CHECK:STDOUT: %F.decl: %F.type.a02 = fn_decl @F.loc12 [concrete = constants.%F.dc7] { // CHECK:STDOUT: %self.patt: %pattern_type.c48 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.c48 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -314,26 +314,26 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: .Self = constants.%C // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.1(@HasF.%Self: %HasF.type) { +// CHECK:STDOUT: generic fn @F.loc5(@HasF.%Self: %HasF.type) { // CHECK:STDOUT: %Self: %HasF.type = bind_symbolic_name Self, 0 [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %Self.as_type.loc5_14.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type)] // CHECK:STDOUT: %pattern_type: type = pattern_type %Self.as_type.loc5_14.1 [symbolic = %pattern_type (constants.%pattern_type.28f)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%self.param: @F.1.%Self.as_type.loc5_14.1 (%Self.as_type)); +// CHECK:STDOUT: fn(%self.param: @F.loc5.%Self.as_type.loc5_14.1 (%Self.as_type)); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2(%self.param: %C) { +// CHECK:STDOUT: fn @F.loc12(%self.param: %C) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%Self) { +// CHECK:STDOUT: specific @F.loc5(constants.%Self) { // CHECK:STDOUT: %Self => constants.%Self // CHECK:STDOUT: %Self.as_type.loc5_14.1 => constants.%Self.as_type // CHECK:STDOUT: %pattern_type => constants.%pattern_type.28f // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%HasF.facet) { +// CHECK:STDOUT: specific @F.loc5(constants.%HasF.facet) { // CHECK:STDOUT: %Self => constants.%HasF.facet // CHECK:STDOUT: %Self.as_type.loc5_14.1 => constants.%C // CHECK:STDOUT: %pattern_type => constants.%pattern_type.c48 @@ -346,7 +346,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %Self.d42: %HasG.type = bind_symbolic_name Self, 0 [symbolic] // CHECK:STDOUT: %Self.as_type.133: type = facet_access_type %Self.d42 [symbolic] // CHECK:STDOUT: %pattern_type.293: type = pattern_type %Self.as_type.133 [symbolic] -// CHECK:STDOUT: %G.type.d27: type = fn_type @G.1 [concrete] +// CHECK:STDOUT: %G.type.d27: type = fn_type @G.loc7 [concrete] // CHECK:STDOUT: %G.688: %G.type.d27 = struct_value () [concrete] // CHECK:STDOUT: %HasG.assoc_type: type = assoc_entity_type @HasG [concrete] // CHECK:STDOUT: %assoc0: %HasG.assoc_type = assoc_entity element0, @HasG.%G.decl [concrete] @@ -356,7 +356,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %HasG.impl_witness.69b: = impl_witness file.%HasG.impl_witness_table.loc13 [concrete] // CHECK:STDOUT: %pattern_type.8e5: type = pattern_type %C [concrete] -// CHECK:STDOUT: %G.type.05c: type = fn_type @G.2 [concrete] +// CHECK:STDOUT: %G.type.05c: type = fn_type @G.loc14 [concrete] // CHECK:STDOUT: %G.486: %G.type.05c = struct_value () [concrete] // CHECK:STDOUT: %HasG.facet.704: %HasG.type = facet_value %C, (%HasG.impl_witness.69b) [concrete] // CHECK:STDOUT: %HasF.type: type = facet_type <@HasF> [concrete] @@ -367,11 +367,11 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %pattern_type.dc3: type = pattern_type %Self.as_type.7cf [symbolic] // CHECK:STDOUT: %HasF.impl_witness: = impl_witness file.%HasF.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.510: type = pattern_type %D [concrete] -// CHECK:STDOUT: %F.type.bab: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.bab: type = fn_type @F.loc19 [concrete] // CHECK:STDOUT: %F.46f: %F.type.bab = struct_value () [concrete] // CHECK:STDOUT: %HasF.facet: %HasF.type = facet_value %D, (%HasF.impl_witness) [concrete] // CHECK:STDOUT: %HasG.impl_witness.b2b: = impl_witness file.%HasG.impl_witness_table.loc23 [concrete] -// CHECK:STDOUT: %G.type.c1d: type = fn_type @G.3 [concrete] +// CHECK:STDOUT: %G.type.c1d: type = fn_type @G.loc24 [concrete] // CHECK:STDOUT: %G.294: %G.type.c1d = struct_value () [concrete] // CHECK:STDOUT: %HasG.facet.9c8: %HasG.type = facet_value %D, (%HasG.impl_witness.b2b) [concrete] // CHECK:STDOUT: } @@ -431,17 +431,17 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: // CHECK:STDOUT: interface @HasG { // CHECK:STDOUT: %Self: %HasG.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.d42] -// CHECK:STDOUT: %G.decl: %G.type.d27 = fn_decl @G.1 [concrete = constants.%G.688] { -// CHECK:STDOUT: %self.patt: @G.1.%pattern_type (%pattern_type.293) = binding_pattern self [concrete] -// CHECK:STDOUT: %self.param_patt: @G.1.%pattern_type (%pattern_type.293) = value_param_pattern %self.patt, call_param0 [concrete] +// CHECK:STDOUT: %G.decl: %G.type.d27 = fn_decl @G.loc7 [concrete = constants.%G.688] { +// CHECK:STDOUT: %self.patt: @G.loc7.%pattern_type (%pattern_type.293) = binding_pattern self [concrete] +// CHECK:STDOUT: %self.param_patt: @G.loc7.%pattern_type (%pattern_type.293) = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %self.param: @G.1.%Self.as_type.loc7_14.1 (%Self.as_type.133) = value_param call_param0 +// CHECK:STDOUT: %self.param: @G.loc7.%Self.as_type.loc7_14.1 (%Self.as_type.133) = value_param call_param0 // CHECK:STDOUT: %.loc7_14.1: type = splice_block %.loc7_14.2 [symbolic = %Self.as_type.loc7_14.1 (constants.%Self.as_type.133)] { // CHECK:STDOUT: %Self.ref: %HasG.type = name_ref Self, @HasG.%Self [symbolic = %Self (constants.%Self.d42)] // CHECK:STDOUT: %Self.as_type.loc7_14.2: type = facet_access_type %Self.ref [symbolic = %Self.as_type.loc7_14.1 (constants.%Self.as_type.133)] // CHECK:STDOUT: %.loc7_14.2: type = converted %Self.ref, %Self.as_type.loc7_14.2 [symbolic = %Self.as_type.loc7_14.1 (constants.%Self.as_type.133)] // CHECK:STDOUT: } -// CHECK:STDOUT: %self: @G.1.%Self.as_type.loc7_14.1 (%Self.as_type.133) = bind_name self, %self.param +// CHECK:STDOUT: %self: @G.loc7.%Self.as_type.loc7_14.1 (%Self.as_type.133) = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %assoc0: %HasG.assoc_type = assoc_entity element0, %G.decl [concrete = constants.%assoc0] // CHECK:STDOUT: @@ -459,7 +459,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @HasG.impl.e95: %C.ref as %HasG.ref { -// CHECK:STDOUT: %G.decl: %G.type.05c = fn_decl @G.2 [concrete = constants.%G.486] { +// CHECK:STDOUT: %G.decl: %G.type.05c = fn_decl @G.loc14 [concrete = constants.%G.486] { // CHECK:STDOUT: %self.patt: %pattern_type.8e5 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.8e5 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -474,7 +474,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @HasF.impl: %D.ref as %HasF.ref { -// CHECK:STDOUT: %F.decl: %F.type.bab = fn_decl @F.2 [concrete = constants.%F.46f] { +// CHECK:STDOUT: %F.decl: %F.type.bab = fn_decl @F.loc19 [concrete = constants.%F.46f] { // CHECK:STDOUT: %self.patt: %pattern_type.510 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.510 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -489,7 +489,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @HasG.impl.da9: %D.ref as %HasG.ref { -// CHECK:STDOUT: %G.decl: %G.type.c1d = fn_decl @G.3 [concrete = constants.%G.294] { +// CHECK:STDOUT: %G.decl: %G.type.c1d = fn_decl @G.loc24 [concrete = constants.%G.294] { // CHECK:STDOUT: %self.patt: %pattern_type.510 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.510 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -519,15 +519,15 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: .Self = imports.%PackageA.import_ref.2c4 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @G.1(@HasG.%Self: %HasG.type) { +// CHECK:STDOUT: generic fn @G.loc7(@HasG.%Self: %HasG.type) { // CHECK:STDOUT: %Self: %HasG.type = bind_symbolic_name Self, 0 [symbolic = %Self (constants.%Self.d42)] // CHECK:STDOUT: %Self.as_type.loc7_14.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc7_14.1 (constants.%Self.as_type.133)] // CHECK:STDOUT: %pattern_type: type = pattern_type %Self.as_type.loc7_14.1 [symbolic = %pattern_type (constants.%pattern_type.293)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%self.param: @G.1.%Self.as_type.loc7_14.1 (%Self.as_type.133)); +// CHECK:STDOUT: fn(%self.param: @G.loc7.%Self.as_type.loc7_14.1 (%Self.as_type.133)); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @G.2(%self.param: %C) { +// CHECK:STDOUT: fn @G.loc14(%self.param: %C) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -540,23 +540,23 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: fn; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2(%self.param: %D) { +// CHECK:STDOUT: fn @F.loc19(%self.param: %D) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @G.3(%self.param: %D) { +// CHECK:STDOUT: fn @G.loc24(%self.param: %D) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @G.1(constants.%Self.d42) { +// CHECK:STDOUT: specific @G.loc7(constants.%Self.d42) { // CHECK:STDOUT: %Self => constants.%Self.d42 // CHECK:STDOUT: %Self.as_type.loc7_14.1 => constants.%Self.as_type.133 // CHECK:STDOUT: %pattern_type => constants.%pattern_type.293 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @G.1(constants.%HasG.facet.704) { +// CHECK:STDOUT: specific @G.loc7(constants.%HasG.facet.704) { // CHECK:STDOUT: %Self => constants.%HasG.facet.704 // CHECK:STDOUT: %Self.as_type.loc7_14.1 => constants.%C // CHECK:STDOUT: %pattern_type => constants.%pattern_type.8e5 @@ -574,7 +574,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %pattern_type => constants.%pattern_type.510 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @G.1(constants.%HasG.facet.9c8) { +// CHECK:STDOUT: specific @G.loc7(constants.%HasG.facet.9c8) { // CHECK:STDOUT: %Self => constants.%HasG.facet.9c8 // CHECK:STDOUT: %Self.as_type.loc7_14.1 => constants.%D // CHECK:STDOUT: %pattern_type => constants.%pattern_type.510 @@ -1200,14 +1200,14 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %Self: %Z.type = bind_symbolic_name Self, 0 [symbolic] // CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self [symbolic] // CHECK:STDOUT: %pattern_type.a40: type = pattern_type %Self.as_type [symbolic] -// CHECK:STDOUT: %H.type.474: type = fn_type @H.1 [concrete] +// CHECK:STDOUT: %H.type.474: type = fn_type @H.loc5 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %H.c1d: %H.type.474 = struct_value () [concrete] // CHECK:STDOUT: %Z.assoc_type: type = assoc_entity_type @Z [concrete] // CHECK:STDOUT: %assoc0: %Z.assoc_type = assoc_entity element0, @Z.%H.decl [concrete] // CHECK:STDOUT: %Z.impl_witness: = impl_witness file.%Z.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] -// CHECK:STDOUT: %H.type.707: type = fn_type @H.2 [concrete] +// CHECK:STDOUT: %H.type.707: type = fn_type @H.loc9 [concrete] // CHECK:STDOUT: %H.8d7: %H.type.707 = struct_value () [concrete] // CHECK:STDOUT: %Z.facet: %Z.type = facet_value %empty_tuple.type, (%Z.impl_witness) [concrete] // CHECK:STDOUT: } @@ -1237,17 +1237,17 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: // CHECK:STDOUT: interface @Z { // CHECK:STDOUT: %Self: %Z.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self] -// CHECK:STDOUT: %H.decl: %H.type.474 = fn_decl @H.1 [concrete = constants.%H.c1d] { -// CHECK:STDOUT: %self.patt: @H.1.%pattern_type (%pattern_type.a40) = binding_pattern self [concrete] -// CHECK:STDOUT: %self.param_patt: @H.1.%pattern_type (%pattern_type.a40) = value_param_pattern %self.patt, call_param0 [concrete] +// CHECK:STDOUT: %H.decl: %H.type.474 = fn_decl @H.loc5 [concrete = constants.%H.c1d] { +// CHECK:STDOUT: %self.patt: @H.loc5.%pattern_type (%pattern_type.a40) = binding_pattern self [concrete] +// CHECK:STDOUT: %self.param_patt: @H.loc5.%pattern_type (%pattern_type.a40) = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %self.param: @H.1.%Self.as_type.loc5_14.1 (%Self.as_type) = value_param call_param0 +// CHECK:STDOUT: %self.param: @H.loc5.%Self.as_type.loc5_14.1 (%Self.as_type) = value_param call_param0 // CHECK:STDOUT: %.loc5_14.1: type = splice_block %.loc5_14.2 [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type)] { // CHECK:STDOUT: %Self.ref: %Z.type = name_ref Self, @Z.%Self [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %Self.as_type.loc5_14.2: type = facet_access_type %Self.ref [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type)] // CHECK:STDOUT: %.loc5_14.2: type = converted %Self.ref, %Self.as_type.loc5_14.2 [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type)] // CHECK:STDOUT: } -// CHECK:STDOUT: %self: @H.1.%Self.as_type.loc5_14.1 (%Self.as_type) = bind_name self, %self.param +// CHECK:STDOUT: %self: @H.loc5.%Self.as_type.loc5_14.1 (%Self.as_type) = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %assoc0: %Z.assoc_type = assoc_entity element0, %H.decl [concrete = constants.%assoc0] // CHECK:STDOUT: @@ -1258,7 +1258,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @Z.impl: %.loc8_7.2 as %Z.ref { -// CHECK:STDOUT: %H.decl: %H.type.707 = fn_decl @H.2 [concrete = constants.%H.8d7] { +// CHECK:STDOUT: %H.decl: %H.type.707 = fn_decl @H.loc9 [concrete = constants.%H.8d7] { // CHECK:STDOUT: %self.patt: %pattern_type.cb1 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.cb1 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -1272,26 +1272,26 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: witness = file.%Z.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @H.1(@Z.%Self: %Z.type) { +// CHECK:STDOUT: generic fn @H.loc5(@Z.%Self: %Z.type) { // CHECK:STDOUT: %Self: %Z.type = bind_symbolic_name Self, 0 [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %Self.as_type.loc5_14.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type)] // CHECK:STDOUT: %pattern_type: type = pattern_type %Self.as_type.loc5_14.1 [symbolic = %pattern_type (constants.%pattern_type.a40)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%self.param: @H.1.%Self.as_type.loc5_14.1 (%Self.as_type)); +// CHECK:STDOUT: fn(%self.param: @H.loc5.%Self.as_type.loc5_14.1 (%Self.as_type)); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @H.2(%self.param: %empty_tuple.type) { +// CHECK:STDOUT: fn @H.loc9(%self.param: %empty_tuple.type) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @H.1(constants.%Self) { +// CHECK:STDOUT: specific @H.loc5(constants.%Self) { // CHECK:STDOUT: %Self => constants.%Self // CHECK:STDOUT: %Self.as_type.loc5_14.1 => constants.%Self.as_type // CHECK:STDOUT: %pattern_type => constants.%pattern_type.a40 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @H.1(constants.%Z.facet) { +// CHECK:STDOUT: specific @H.loc5(constants.%Z.facet) { // CHECK:STDOUT: %Self => constants.%Z.facet // CHECK:STDOUT: %Self.as_type.loc5_14.1 => constants.%empty_tuple.type // CHECK:STDOUT: %pattern_type => constants.%pattern_type.cb1 @@ -1535,7 +1535,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %require_complete.b14: = require_complete_type %Self.as_type.61d [symbolic] // CHECK:STDOUT: %Y.impl_witness: = impl_witness file.%Y.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.004: type = pattern_type %AnyParam.241 [concrete] -// CHECK:STDOUT: %K.type.dcd: type = fn_type @K.2 [concrete] +// CHECK:STDOUT: %K.type.dcd: type = fn_type @K.loc9 [concrete] // CHECK:STDOUT: %K.2e9: %K.type.dcd = struct_value () [concrete] // CHECK:STDOUT: %Y.facet: %Y.type = facet_value %AnyParam.241, (%Y.impl_witness) [concrete] // CHECK:STDOUT: %L.type: type = fn_type @L [concrete] @@ -1627,7 +1627,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @Y.impl: %AnyParam as %Y.ref { -// CHECK:STDOUT: %K.decl: %K.type.dcd = fn_decl @K.2 [concrete = constants.%K.2e9] { +// CHECK:STDOUT: %K.decl: %K.type.dcd = fn_decl @K.loc9 [concrete = constants.%K.2e9] { // CHECK:STDOUT: %self.patt: %pattern_type.004 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.004 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -1667,7 +1667,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: fn; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @K.2(%self.param: %AnyParam.241) { +// CHECK:STDOUT: fn @K.loc9(%self.param: %AnyParam.241) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -1969,7 +1969,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %require_complete.b14: = require_complete_type %Self.as_type.61d [symbolic] // CHECK:STDOUT: %Y.impl_witness: = impl_witness file.%Y.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.64f: type = pattern_type %AnyParam.0dd [concrete] -// CHECK:STDOUT: %K.type.965: type = fn_type @K.2 [concrete] +// CHECK:STDOUT: %K.type.965: type = fn_type @K.loc9 [concrete] // CHECK:STDOUT: %K.5a9: %K.type.965 = struct_value () [concrete] // CHECK:STDOUT: %Y.facet: %Y.type = facet_value %AnyParam.0dd, (%Y.impl_witness) [concrete] // CHECK:STDOUT: %L.type: type = fn_type @L [concrete] @@ -2045,7 +2045,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @Y.impl: %AnyParam as %Y.ref { -// CHECK:STDOUT: %K.decl: %K.type.965 = fn_decl @K.2 [concrete = constants.%K.5a9] { +// CHECK:STDOUT: %K.decl: %K.type.965 = fn_decl @K.loc9 [concrete = constants.%K.5a9] { // CHECK:STDOUT: %self.patt: %pattern_type.64f = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.64f = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -2100,7 +2100,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: fn; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @K.2(%self.param: %AnyParam.0dd) { +// CHECK:STDOUT: fn @K.loc9(%self.param: %AnyParam.0dd) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -2403,7 +2403,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %Self.826: %I.type = bind_symbolic_name Self, 0 [symbolic] // CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self.826 [symbolic] // CHECK:STDOUT: %pattern_type.6de: type = pattern_type %Self.as_type [symbolic] -// CHECK:STDOUT: %F.type.cf0: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.cf0: type = fn_type @F.loc14 [concrete] // CHECK:STDOUT: %F.bc6: %F.type.cf0 = struct_value () [concrete] // CHECK:STDOUT: %I.assoc_type: type = assoc_entity_type @I [concrete] // CHECK:STDOUT: %assoc0: %I.assoc_type = assoc_entity element0, @I.%F.decl [concrete] @@ -2412,7 +2412,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %C.69b: type = class_type @C, @C(%tuple.type.15d) [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness file.%I.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.e23: type = pattern_type %C.69b [concrete] -// CHECK:STDOUT: %F.type.06f: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.06f: type = fn_type @F.loc17 [concrete] // CHECK:STDOUT: %F.13c: %F.type.06f = struct_value () [concrete] // CHECK:STDOUT: %I.facet: %I.type = facet_value %C.69b, (%I.impl_witness) [concrete] // CHECK:STDOUT: } @@ -2538,17 +2538,17 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: // CHECK:STDOUT: interface @I { // CHECK:STDOUT: %Self: %I.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.826] -// CHECK:STDOUT: %F.decl: %F.type.cf0 = fn_decl @F.1 [concrete = constants.%F.bc6] { -// CHECK:STDOUT: %self.patt: @F.1.%pattern_type (%pattern_type.6de) = binding_pattern self [concrete] -// CHECK:STDOUT: %self.param_patt: @F.1.%pattern_type (%pattern_type.6de) = value_param_pattern %self.patt, call_param0 [concrete] +// CHECK:STDOUT: %F.decl: %F.type.cf0 = fn_decl @F.loc14 [concrete = constants.%F.bc6] { +// CHECK:STDOUT: %self.patt: @F.loc14.%pattern_type (%pattern_type.6de) = binding_pattern self [concrete] +// CHECK:STDOUT: %self.param_patt: @F.loc14.%pattern_type (%pattern_type.6de) = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %self.param: @F.1.%Self.as_type.loc14_26.1 (%Self.as_type) = value_param call_param0 +// CHECK:STDOUT: %self.param: @F.loc14.%Self.as_type.loc14_26.1 (%Self.as_type) = value_param call_param0 // CHECK:STDOUT: %.loc14_26.1: type = splice_block %.loc14_26.2 [symbolic = %Self.as_type.loc14_26.1 (constants.%Self.as_type)] { // CHECK:STDOUT: %Self.ref: %I.type = name_ref Self, @I.%Self [symbolic = %Self (constants.%Self.826)] // CHECK:STDOUT: %Self.as_type.loc14_26.2: type = facet_access_type %Self.ref [symbolic = %Self.as_type.loc14_26.1 (constants.%Self.as_type)] // CHECK:STDOUT: %.loc14_26.2: type = converted %Self.ref, %Self.as_type.loc14_26.2 [symbolic = %Self.as_type.loc14_26.1 (constants.%Self.as_type)] // CHECK:STDOUT: } -// CHECK:STDOUT: %self: @F.1.%Self.as_type.loc14_26.1 (%Self.as_type) = bind_name self, %self.param +// CHECK:STDOUT: %self: @F.loc14.%Self.as_type.loc14_26.1 (%Self.as_type) = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %assoc0: %I.assoc_type = assoc_entity element0, %F.decl [concrete = constants.%assoc0] // CHECK:STDOUT: @@ -2559,7 +2559,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @I.impl: %C as %I.ref { -// CHECK:STDOUT: %F.decl: %F.type.06f = fn_decl @F.2 [concrete = constants.%F.13c] { +// CHECK:STDOUT: %F.decl: %F.type.06f = fn_decl @F.loc17 [concrete = constants.%F.13c] { // CHECK:STDOUT: %self.patt: %pattern_type.e23 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.e23 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -2588,15 +2588,15 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.1(@I.%Self: %I.type) { +// CHECK:STDOUT: generic fn @F.loc14(@I.%Self: %I.type) { // CHECK:STDOUT: %Self: %I.type = bind_symbolic_name Self, 0 [symbolic = %Self (constants.%Self.826)] // CHECK:STDOUT: %Self.as_type.loc14_26.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc14_26.1 (constants.%Self.as_type)] // CHECK:STDOUT: %pattern_type: type = pattern_type %Self.as_type.loc14_26.1 [symbolic = %pattern_type (constants.%pattern_type.6de)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%self.param: @F.1.%Self.as_type.loc14_26.1 (%Self.as_type)); +// CHECK:STDOUT: fn(%self.param: @F.loc14.%Self.as_type.loc14_26.1 (%Self.as_type)); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2(%self.param: %C.69b) { +// CHECK:STDOUT: fn @F.loc17(%self.param: %C.69b) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -2605,7 +2605,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %T.loc13_9.2 => constants.%T // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%Self.826) { +// CHECK:STDOUT: specific @F.loc14(constants.%Self.826) { // CHECK:STDOUT: %Self => constants.%Self.826 // CHECK:STDOUT: %Self.as_type.loc14_26.1 => constants.%Self.as_type // CHECK:STDOUT: %pattern_type => constants.%pattern_type.6de @@ -2617,7 +2617,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%I.facet) { +// CHECK:STDOUT: specific @F.loc14(constants.%I.facet) { // CHECK:STDOUT: %Self => constants.%I.facet // CHECK:STDOUT: %Self.as_type.loc14_26.1 => constants.%C.69b // CHECK:STDOUT: %pattern_type => constants.%pattern_type.e23 diff --git a/toolchain/check/testdata/impl/lookup/instance_method.carbon b/toolchain/check/testdata/impl/lookup/instance_method.carbon index f18a2179eecf..b0e20f1899a5 100644 --- a/toolchain/check/testdata/impl/lookup/instance_method.carbon +++ b/toolchain/check/testdata/impl/lookup/instance_method.carbon @@ -41,18 +41,18 @@ fn F(c: C) -> i32 { // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %pattern_type.7ce: type = pattern_type %i32 [concrete] -// CHECK:STDOUT: %F.type.cf0: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.cf0: type = fn_type @F.loc18 [concrete] // CHECK:STDOUT: %F.bc6: %F.type.cf0 = struct_value () [concrete] // CHECK:STDOUT: %I.assoc_type: type = assoc_entity_type @I [concrete] // CHECK:STDOUT: %assoc0: %I.assoc_type = assoc_entity element0, @I.%F.decl [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness @C.%I.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.c48: type = pattern_type %C [concrete] -// CHECK:STDOUT: %F.type.f36: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.f36: type = fn_type @F.loc23 [concrete] // CHECK:STDOUT: %F.4c3: %F.type.f36 = struct_value () [concrete] // CHECK:STDOUT: %I.facet: %I.type = facet_value %C, (%I.impl_witness) [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type.357: = complete_type_witness %empty_struct_type [concrete] -// CHECK:STDOUT: %F.type.b25: type = fn_type @F.3 [concrete] +// CHECK:STDOUT: %F.type.b25: type = fn_type @F.loc27 [concrete] // CHECK:STDOUT: %F.c41: %F.type.b25 = struct_value () [concrete] // CHECK:STDOUT: %.832: type = fn_type_with_self_type %F.type.cf0, %I.facet [concrete] // CHECK:STDOUT: } @@ -77,7 +77,7 @@ fn F(c: C) -> i32 { // CHECK:STDOUT: %C.decl.loc15: type = class_decl @C [concrete = constants.%C] {} {} // CHECK:STDOUT: %I.decl: type = interface_decl @I [concrete = constants.%I.type] {} {} // CHECK:STDOUT: %C.decl.loc21: type = class_decl @C [concrete = constants.%C] {} {} -// CHECK:STDOUT: %F.decl: %F.type.b25 = fn_decl @F.3 [concrete = constants.%F.c41] { +// CHECK:STDOUT: %F.decl: %F.type.b25 = fn_decl @F.loc27 [concrete = constants.%F.c41] { // CHECK:STDOUT: %c.patt: %pattern_type.c48 = binding_pattern c [concrete] // CHECK:STDOUT: %c.param_patt: %pattern_type.c48 = value_param_pattern %c.patt, call_param0 [concrete] // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] @@ -95,21 +95,21 @@ fn F(c: C) -> i32 { // CHECK:STDOUT: // CHECK:STDOUT: interface @I { // CHECK:STDOUT: %Self: %I.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self] -// CHECK:STDOUT: %F.decl: %F.type.cf0 = fn_decl @F.1 [concrete = constants.%F.bc6] { -// CHECK:STDOUT: %self.patt: @F.1.%pattern_type (%pattern_type.6de) = binding_pattern self [concrete] -// CHECK:STDOUT: %self.param_patt: @F.1.%pattern_type (%pattern_type.6de) = value_param_pattern %self.patt, call_param0 [concrete] +// CHECK:STDOUT: %F.decl: %F.type.cf0 = fn_decl @F.loc18 [concrete = constants.%F.bc6] { +// CHECK:STDOUT: %self.patt: @F.loc18.%pattern_type (%pattern_type.6de) = binding_pattern self [concrete] +// CHECK:STDOUT: %self.param_patt: @F.loc18.%pattern_type (%pattern_type.6de) = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %self.param: @F.1.%Self.as_type.loc18_14.1 (%Self.as_type) = value_param call_param0 +// CHECK:STDOUT: %self.param: @F.loc18.%Self.as_type.loc18_14.1 (%Self.as_type) = value_param call_param0 // CHECK:STDOUT: %.loc18_14.1: type = splice_block %.loc18_14.2 [symbolic = %Self.as_type.loc18_14.1 (constants.%Self.as_type)] { // CHECK:STDOUT: %Self.ref: %I.type = name_ref Self, @I.%Self [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %Self.as_type.loc18_14.2: type = facet_access_type %Self.ref [symbolic = %Self.as_type.loc18_14.1 (constants.%Self.as_type)] // CHECK:STDOUT: %.loc18_14.2: type = converted %Self.ref, %Self.as_type.loc18_14.2 [symbolic = %Self.as_type.loc18_14.1 (constants.%Self.as_type)] // CHECK:STDOUT: } -// CHECK:STDOUT: %self: @F.1.%Self.as_type.loc18_14.1 (%Self.as_type) = bind_name self, %self.param +// CHECK:STDOUT: %self: @F.loc18.%Self.as_type.loc18_14.1 (%Self.as_type) = bind_name self, %self.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param1 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param // CHECK:STDOUT: } @@ -122,7 +122,7 @@ fn F(c: C) -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @I.impl: %Self.ref as %I.ref { -// CHECK:STDOUT: %F.decl: %F.type.f36 = fn_decl @F.2 [concrete = constants.%F.4c3] { +// CHECK:STDOUT: %F.decl: %F.type.f36 = fn_decl @F.loc23 [concrete = constants.%F.4c3] { // CHECK:STDOUT: %self.patt: %pattern_type.c48 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.c48 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] @@ -160,17 +160,17 @@ fn F(c: C) -> i32 { // CHECK:STDOUT: extend @I.impl.%I.ref // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.1(@I.%Self: %I.type) { +// CHECK:STDOUT: generic fn @F.loc18(@I.%Self: %I.type) { // CHECK:STDOUT: %Self: %I.type = bind_symbolic_name Self, 0 [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %Self.as_type.loc18_14.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc18_14.1 (constants.%Self.as_type)] // CHECK:STDOUT: %pattern_type: type = pattern_type %Self.as_type.loc18_14.1 [symbolic = %pattern_type (constants.%pattern_type.6de)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%self.param: @F.1.%Self.as_type.loc18_14.1 (%Self.as_type)) -> %i32; +// CHECK:STDOUT: fn(%self.param: @F.loc18.%Self.as_type.loc18_14.1 (%Self.as_type)) -> %i32; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2(%self.param: %C) -> %i32; +// CHECK:STDOUT: fn @F.loc23(%self.param: %C) -> %i32; // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.3(%c.param: %C) -> %i32 { +// CHECK:STDOUT: fn @F.loc27(%c.param: %C) -> %i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %c.ref: %C = name_ref c, %c // CHECK:STDOUT: %F.ref: %I.assoc_type = name_ref F, @I.%assoc0 [concrete = constants.%assoc0] @@ -182,13 +182,13 @@ fn F(c: C) -> i32 { // CHECK:STDOUT: return %.loc28_15.2 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%Self) { +// CHECK:STDOUT: specific @F.loc18(constants.%Self) { // CHECK:STDOUT: %Self => constants.%Self // CHECK:STDOUT: %Self.as_type.loc18_14.1 => constants.%Self.as_type // CHECK:STDOUT: %pattern_type => constants.%pattern_type.6de // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%I.facet) { +// CHECK:STDOUT: specific @F.loc18(constants.%I.facet) { // CHECK:STDOUT: %Self => constants.%I.facet // CHECK:STDOUT: %Self.as_type.loc18_14.1 => constants.%C // CHECK:STDOUT: %pattern_type => constants.%pattern_type.c48 diff --git a/toolchain/check/testdata/impl/lookup/specific_args.carbon b/toolchain/check/testdata/impl/lookup/specific_args.carbon index 3644bb2e8a16..12f1e1adb33d 100644 --- a/toolchain/check/testdata/impl/lookup/specific_args.carbon +++ b/toolchain/check/testdata/impl/lookup/specific_args.carbon @@ -208,7 +208,7 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); } // CHECK:STDOUT: %assoc0.676: %I.assoc_type.521 = assoc_entity element0, imports.%Main.import_ref.479 [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness file.%I.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.019: type = pattern_type %X [concrete] -// CHECK:STDOUT: %F.type.b63: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.b63: type = fn_type @F.loc7 [concrete] // CHECK:STDOUT: %F.d5f: %F.type.b63 = struct_value () [concrete] // CHECK:STDOUT: %I.facet: %I.type.e45 = facet_value %X, (%I.impl_witness) [concrete] // CHECK:STDOUT: } @@ -267,7 +267,7 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); } // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @I.impl: %X.ref as %I.type { -// CHECK:STDOUT: %F.decl: %F.type.b63 = fn_decl @F.2 [concrete = constants.%F.d5f] { +// CHECK:STDOUT: %F.decl: %F.type.b63 = fn_decl @F.loc7 [concrete = constants.%F.d5f] { // CHECK:STDOUT: %self.patt: %pattern_type.019 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.019 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -307,7 +307,7 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); } // CHECK:STDOUT: fn; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2(%self.param: %X) { +// CHECK:STDOUT: fn @F.loc7(%self.param: %X) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -540,7 +540,7 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); } // CHECK:STDOUT: %assoc0.8c1: %I.assoc_type.2db = assoc_entity element0, imports.%Main.import_ref.479 [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness file.%I.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.e06: type = pattern_type %C.23b [concrete] -// CHECK:STDOUT: %F.type.fab: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.fab: type = fn_type @F.loc7 [concrete] // CHECK:STDOUT: %F.7ab: %F.type.fab = struct_value () [concrete] // CHECK:STDOUT: %I.facet: %I.type.45c = facet_value %C.23b, (%I.impl_witness) [concrete] // CHECK:STDOUT: } @@ -604,7 +604,7 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); } // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @I.impl: %C as %I.type { -// CHECK:STDOUT: %F.decl: %F.type.fab = fn_decl @F.2 [concrete = constants.%F.7ab] { +// CHECK:STDOUT: %F.decl: %F.type.fab = fn_decl @F.loc7 [concrete = constants.%F.7ab] { // CHECK:STDOUT: %self.patt: %pattern_type.e06 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.e06 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -657,7 +657,7 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); } // CHECK:STDOUT: fn; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2(%self.param: %C.23b) { +// CHECK:STDOUT: fn @F.loc7(%self.param: %C.23b) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/impl/lookup/transitive.carbon b/toolchain/check/testdata/impl/lookup/transitive.carbon index 1ad718d3343a..4fb23c28fa6f 100644 --- a/toolchain/check/testdata/impl/lookup/transitive.carbon +++ b/toolchain/check/testdata/impl/lookup/transitive.carbon @@ -125,7 +125,7 @@ fn Call() { // CHECK:STDOUT: %pattern_type.6de: type = pattern_type %Self.as_type [symbolic] // CHECK:STDOUT: %I.impl_witness: = impl_witness file.%I.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.c48: type = pattern_type %C [concrete] -// CHECK:STDOUT: %F.type.5d6: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.5d6: type = fn_type @F.loc7 [concrete] // CHECK:STDOUT: %F.a2e: %F.type.5d6 = struct_value () [concrete] // CHECK:STDOUT: %I.facet: %I.type = facet_value %C, (%I.impl_witness) [concrete] // CHECK:STDOUT: } @@ -167,7 +167,7 @@ fn Call() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @I.impl: %C.ref as %I.ref { -// CHECK:STDOUT: %F.decl: %F.type.5d6 = fn_decl @F.2 [concrete = constants.%F.a2e] { +// CHECK:STDOUT: %F.decl: %F.type.5d6 = fn_decl @F.loc7 [concrete = constants.%F.a2e] { // CHECK:STDOUT: %self.patt: %pattern_type.c48 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.c48 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -198,7 +198,7 @@ fn Call() { // CHECK:STDOUT: fn; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2(%self.param: %C) { +// CHECK:STDOUT: fn @F.loc7(%self.param: %C) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/impl/multiple_extend.carbon b/toolchain/check/testdata/impl/multiple_extend.carbon index 905c336b4b62..64a8e33ceb88 100644 --- a/toolchain/check/testdata/impl/multiple_extend.carbon +++ b/toolchain/check/testdata/impl/multiple_extend.carbon @@ -169,24 +169,24 @@ fn P(o: O) { // CHECK:STDOUT: constants { // CHECK:STDOUT: %HasF.type: type = facet_type <@HasF> [concrete] // CHECK:STDOUT: %Self.f0c: %HasF.type = bind_symbolic_name Self, 0 [symbolic] -// CHECK:STDOUT: %F.type.b7b: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.b7b: type = fn_type @F.loc5 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %F.f50: %F.type.b7b = struct_value () [concrete] // CHECK:STDOUT: %HasF.assoc_type: type = assoc_entity_type @HasF [concrete] // CHECK:STDOUT: %assoc0.97a: %HasF.assoc_type = assoc_entity element0, @HasF.%F.decl [concrete] // CHECK:STDOUT: %HasG.type: type = facet_type <@HasG> [concrete] // CHECK:STDOUT: %Self.d42: %HasG.type = bind_symbolic_name Self, 0 [symbolic] -// CHECK:STDOUT: %G.type.d27: type = fn_type @G.1 [concrete] +// CHECK:STDOUT: %G.type.d27: type = fn_type @G.loc9 [concrete] // CHECK:STDOUT: %G.688: %G.type.d27 = struct_value () [concrete] // CHECK:STDOUT: %HasG.assoc_type: type = assoc_entity_type @HasG [concrete] // CHECK:STDOUT: %assoc0.319: %HasG.assoc_type = assoc_entity element0, @HasG.%G.decl [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %HasF.impl_witness: = impl_witness @C.%HasF.impl_witness_table [concrete] -// CHECK:STDOUT: %F.type.a65: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.a65: type = fn_type @F.loc14 [concrete] // CHECK:STDOUT: %F.ad8: %F.type.a65 = struct_value () [concrete] // CHECK:STDOUT: %HasF.facet: %HasF.type = facet_value %C, (%HasF.impl_witness) [concrete] // CHECK:STDOUT: %HasG.impl_witness: = impl_witness @C.%HasG.impl_witness_table [concrete] -// CHECK:STDOUT: %G.type.cf6: type = fn_type @G.2 [concrete] +// CHECK:STDOUT: %G.type.cf6: type = fn_type @G.loc17 [concrete] // CHECK:STDOUT: %G.957: %G.type.cf6 = struct_value () [concrete] // CHECK:STDOUT: %HasG.facet: %HasG.type = facet_value %C, (%HasG.impl_witness) [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] @@ -220,7 +220,7 @@ fn P(o: O) { // CHECK:STDOUT: // CHECK:STDOUT: interface @HasF { // CHECK:STDOUT: %Self: %HasF.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.f0c] -// CHECK:STDOUT: %F.decl: %F.type.b7b = fn_decl @F.1 [concrete = constants.%F.f50] {} {} +// CHECK:STDOUT: %F.decl: %F.type.b7b = fn_decl @F.loc5 [concrete = constants.%F.f50] {} {} // CHECK:STDOUT: %assoc0: %HasF.assoc_type = assoc_entity element0, %F.decl [concrete = constants.%assoc0.97a] // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -233,7 +233,7 @@ fn P(o: O) { // CHECK:STDOUT: // CHECK:STDOUT: interface @HasG { // CHECK:STDOUT: %Self: %HasG.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.d42] -// CHECK:STDOUT: %G.decl: %G.type.d27 = fn_decl @G.1 [concrete = constants.%G.688] {} {} +// CHECK:STDOUT: %G.decl: %G.type.d27 = fn_decl @G.loc9 [concrete = constants.%G.688] {} {} // CHECK:STDOUT: %assoc0: %HasG.assoc_type = assoc_entity element0, %G.decl [concrete = constants.%assoc0.319] // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -244,7 +244,7 @@ fn P(o: O) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @HasF.impl: %Self.ref as %HasF.ref { -// CHECK:STDOUT: %F.decl: %F.type.a65 = fn_decl @F.2 [concrete = constants.%F.ad8] {} {} +// CHECK:STDOUT: %F.decl: %F.type.a65 = fn_decl @F.loc14 [concrete = constants.%F.ad8] {} {} // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .F = %F.decl @@ -252,7 +252,7 @@ fn P(o: O) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @HasG.impl: %Self.ref as %HasG.ref { -// CHECK:STDOUT: %G.decl: %G.type.cf6 = fn_decl @G.2 [concrete = constants.%G.957] {} {} +// CHECK:STDOUT: %G.decl: %G.type.cf6 = fn_decl @G.loc17 [concrete = constants.%G.957] {} {} // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .G = %G.decl @@ -286,20 +286,20 @@ fn P(o: O) { // CHECK:STDOUT: extend @HasG.impl.%HasG.ref // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.1(@HasF.%Self: %HasF.type) { +// CHECK:STDOUT: generic fn @F.loc5(@HasF.%Self: %HasF.type) { // CHECK:STDOUT: fn(); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @G.1(@HasG.%Self: %HasG.type) { +// CHECK:STDOUT: generic fn @G.loc9(@HasG.%Self: %HasG.type) { // CHECK:STDOUT: fn(); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2() { +// CHECK:STDOUT: fn @F.loc14() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @G.2() { +// CHECK:STDOUT: fn @G.loc17() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -325,36 +325,36 @@ fn P(o: O) { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%Self.f0c) {} +// CHECK:STDOUT: specific @F.loc5(constants.%Self.f0c) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @G.1(constants.%Self.d42) {} +// CHECK:STDOUT: specific @G.loc9(constants.%Self.d42) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%HasF.facet) {} +// CHECK:STDOUT: specific @F.loc5(constants.%HasF.facet) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @G.1(constants.%HasG.facet) {} +// CHECK:STDOUT: specific @G.loc9(constants.%HasG.facet) {} // CHECK:STDOUT: // CHECK:STDOUT: --- fail_ambiguous_impls.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { // CHECK:STDOUT: %HasA1.type: type = facet_type <@HasA1> [concrete] // CHECK:STDOUT: %Self.90d: %HasA1.type = bind_symbolic_name Self, 0 [symbolic] -// CHECK:STDOUT: %A.type.9c4: type = fn_type @A.1 [concrete] +// CHECK:STDOUT: %A.type.9c4: type = fn_type @A.loc5 [concrete] // CHECK:STDOUT: %A.c3c: %A.type.9c4 = struct_value () [concrete] // CHECK:STDOUT: %HasA1.assoc_type: type = assoc_entity_type @HasA1 [concrete] // CHECK:STDOUT: %assoc0.34b: %HasA1.assoc_type = assoc_entity element0, @HasA1.%A.decl [concrete] // CHECK:STDOUT: %HasA2.type: type = facet_type <@HasA2> [concrete] // CHECK:STDOUT: %Self.bdc: %HasA2.type = bind_symbolic_name Self, 0 [symbolic] -// CHECK:STDOUT: %A.type.f71: type = fn_type @A.2 [concrete] +// CHECK:STDOUT: %A.type.f71: type = fn_type @A.loc9 [concrete] // CHECK:STDOUT: %A.0eb: %A.type.f71 = struct_value () [concrete] // CHECK:STDOUT: %HasA2.assoc_type: type = assoc_entity_type @HasA2 [concrete] // CHECK:STDOUT: %assoc0.316: %HasA2.assoc_type = assoc_entity element0, @HasA2.%A.decl [concrete] // CHECK:STDOUT: %D: type = class_type @D [concrete] // CHECK:STDOUT: %HasA1.impl_witness: = impl_witness @D.%HasA1.impl_witness_table [concrete] -// CHECK:STDOUT: %A.type.468: type = fn_type @A.3 [concrete] +// CHECK:STDOUT: %A.type.468: type = fn_type @A.loc14 [concrete] // CHECK:STDOUT: %A.efc: %A.type.468 = struct_value () [concrete] // CHECK:STDOUT: %HasA1.facet: %HasA1.type = facet_value %D, (%HasA1.impl_witness) [concrete] // CHECK:STDOUT: %HasA2.impl_witness: = impl_witness @D.%HasA2.impl_witness_table [concrete] -// CHECK:STDOUT: %A.type.938: type = fn_type @A.4 [concrete] +// CHECK:STDOUT: %A.type.938: type = fn_type @A.loc17 [concrete] // CHECK:STDOUT: %A.890: %A.type.938 = struct_value () [concrete] // CHECK:STDOUT: %HasA2.facet: %HasA2.type = facet_value %D, (%HasA2.impl_witness) [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] @@ -386,7 +386,7 @@ fn P(o: O) { // CHECK:STDOUT: // CHECK:STDOUT: interface @HasA1 { // CHECK:STDOUT: %Self: %HasA1.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.90d] -// CHECK:STDOUT: %A.decl: %A.type.9c4 = fn_decl @A.1 [concrete = constants.%A.c3c] {} {} +// CHECK:STDOUT: %A.decl: %A.type.9c4 = fn_decl @A.loc5 [concrete = constants.%A.c3c] {} {} // CHECK:STDOUT: %assoc0: %HasA1.assoc_type = assoc_entity element0, %A.decl [concrete = constants.%assoc0.34b] // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -398,7 +398,7 @@ fn P(o: O) { // CHECK:STDOUT: // CHECK:STDOUT: interface @HasA2 { // CHECK:STDOUT: %Self: %HasA2.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.bdc] -// CHECK:STDOUT: %A.decl: %A.type.f71 = fn_decl @A.2 [concrete = constants.%A.0eb] {} {} +// CHECK:STDOUT: %A.decl: %A.type.f71 = fn_decl @A.loc9 [concrete = constants.%A.0eb] {} {} // CHECK:STDOUT: %assoc0: %HasA2.assoc_type = assoc_entity element0, %A.decl [concrete = constants.%assoc0.316] // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -408,7 +408,7 @@ fn P(o: O) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @HasA1.impl: %Self.ref as %HasA1.ref { -// CHECK:STDOUT: %A.decl: %A.type.468 = fn_decl @A.3 [concrete = constants.%A.efc] {} {} +// CHECK:STDOUT: %A.decl: %A.type.468 = fn_decl @A.loc14 [concrete = constants.%A.efc] {} {} // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .A = %A.decl @@ -416,7 +416,7 @@ fn P(o: O) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @HasA2.impl: %Self.ref as %HasA2.ref { -// CHECK:STDOUT: %A.decl: %A.type.938 = fn_decl @A.4 [concrete = constants.%A.890] {} {} +// CHECK:STDOUT: %A.decl: %A.type.938 = fn_decl @A.loc17 [concrete = constants.%A.890] {} {} // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .A = %A.decl @@ -449,20 +449,20 @@ fn P(o: O) { // CHECK:STDOUT: extend @HasA2.impl.%HasA2.ref // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @A.1(@HasA1.%Self: %HasA1.type) { +// CHECK:STDOUT: generic fn @A.loc5(@HasA1.%Self: %HasA1.type) { // CHECK:STDOUT: fn(); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @A.2(@HasA2.%Self: %HasA2.type) { +// CHECK:STDOUT: generic fn @A.loc9(@HasA2.%Self: %HasA2.type) { // CHECK:STDOUT: fn(); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @A.3() { +// CHECK:STDOUT: fn @A.loc14() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @A.4() { +// CHECK:STDOUT: fn @A.loc17() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -476,20 +476,20 @@ fn P(o: O) { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @A.1(constants.%Self.90d) {} +// CHECK:STDOUT: specific @A.loc5(constants.%Self.90d) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @A.2(constants.%Self.bdc) {} +// CHECK:STDOUT: specific @A.loc9(constants.%Self.bdc) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @A.1(constants.%HasA1.facet) {} +// CHECK:STDOUT: specific @A.loc5(constants.%HasA1.facet) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @A.2(constants.%HasA2.facet) {} +// CHECK:STDOUT: specific @A.loc9(constants.%HasA2.facet) {} // CHECK:STDOUT: // CHECK:STDOUT: --- different_impl_and_base.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { // CHECK:STDOUT: %HasI.type: type = facet_type <@HasI> [concrete] // CHECK:STDOUT: %Self: %HasI.type = bind_symbolic_name Self, 0 [symbolic] -// CHECK:STDOUT: %I.type.9bd: type = fn_type @I.1 [concrete] +// CHECK:STDOUT: %I.type.9bd: type = fn_type @I.loc5 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %I.0a6: %I.type.9bd = struct_value () [concrete] // CHECK:STDOUT: %HasI.assoc_type: type = assoc_entity_type @HasI [concrete] @@ -502,7 +502,7 @@ fn P(o: O) { // CHECK:STDOUT: %E: type = class_type @E [concrete] // CHECK:STDOUT: %E.elem: type = unbound_element_type %E, %B [concrete] // CHECK:STDOUT: %HasI.impl_witness: = impl_witness @E.%HasI.impl_witness_table [concrete] -// CHECK:STDOUT: %I.type.395: type = fn_type @I.2 [concrete] +// CHECK:STDOUT: %I.type.395: type = fn_type @I.loc15 [concrete] // CHECK:STDOUT: %I.e74: %I.type.395 = struct_value () [concrete] // CHECK:STDOUT: %HasI.facet: %HasI.type = facet_value %E, (%HasI.impl_witness) [concrete] // CHECK:STDOUT: %struct_type.base.0ff: type = struct_type {.base: %B} [concrete] @@ -535,7 +535,7 @@ fn P(o: O) { // CHECK:STDOUT: // CHECK:STDOUT: interface @HasI { // CHECK:STDOUT: %Self: %HasI.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self] -// CHECK:STDOUT: %I.decl: %I.type.9bd = fn_decl @I.1 [concrete = constants.%I.0a6] {} {} +// CHECK:STDOUT: %I.decl: %I.type.9bd = fn_decl @I.loc5 [concrete = constants.%I.0a6] {} {} // CHECK:STDOUT: %assoc0: %HasI.assoc_type = assoc_entity element0, %I.decl [concrete = constants.%assoc0] // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -546,7 +546,7 @@ fn P(o: O) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @HasI.impl: %Self.ref as %HasI.ref { -// CHECK:STDOUT: %I.decl: %I.type.395 = fn_decl @I.2 [concrete = constants.%I.e74] {} {} +// CHECK:STDOUT: %I.decl: %I.type.395 = fn_decl @I.loc15 [concrete = constants.%I.e74] {} {} // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .I = %I.decl @@ -590,7 +590,7 @@ fn P(o: O) { // CHECK:STDOUT: extend @HasI.impl.%HasI.ref // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @I.1(@HasI.%Self: %HasI.type) { +// CHECK:STDOUT: generic fn @I.loc5(@HasI.%Self: %HasI.type) { // CHECK:STDOUT: fn(); // CHECK:STDOUT: } // CHECK:STDOUT: @@ -599,7 +599,7 @@ fn P(o: O) { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @I.2() { +// CHECK:STDOUT: fn @I.loc15() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -623,28 +623,28 @@ fn P(o: O) { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @I.1(constants.%Self) {} +// CHECK:STDOUT: specific @I.loc5(constants.%Self) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @I.1(constants.%HasI.facet) {} +// CHECK:STDOUT: specific @I.loc5(constants.%HasI.facet) {} // CHECK:STDOUT: // CHECK:STDOUT: --- fail_ambiguous_impl_and_base.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { // CHECK:STDOUT: %Base: type = class_type @Base [concrete] -// CHECK:STDOUT: %K.type.5a4: type = fn_type @K.1 [concrete] +// CHECK:STDOUT: %K.type.5a4: type = fn_type @K.loc5 [concrete] // CHECK:STDOUT: %K.801: %K.type.5a4 = struct_value () [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type.357: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %HasK.type: type = facet_type <@HasK> [concrete] // CHECK:STDOUT: %Self: %HasK.type = bind_symbolic_name Self, 0 [symbolic] -// CHECK:STDOUT: %K.type.76f: type = fn_type @K.2 [concrete] +// CHECK:STDOUT: %K.type.76f: type = fn_type @K.loc9 [concrete] // CHECK:STDOUT: %K.c0e: %K.type.76f = struct_value () [concrete] // CHECK:STDOUT: %HasK.assoc_type: type = assoc_entity_type @HasK [concrete] // CHECK:STDOUT: %assoc0: %HasK.assoc_type = assoc_entity element0, @HasK.%K.decl [concrete] // CHECK:STDOUT: %L: type = class_type @L [concrete] // CHECK:STDOUT: %L.elem: type = unbound_element_type %L, %Base [concrete] // CHECK:STDOUT: %HasK.impl_witness: = impl_witness @L.%HasK.impl_witness_table [concrete] -// CHECK:STDOUT: %K.type.bc2: type = fn_type @K.3 [concrete] +// CHECK:STDOUT: %K.type.bc2: type = fn_type @K.loc15 [concrete] // CHECK:STDOUT: %K.bd6: %K.type.bc2 = struct_value () [concrete] // CHECK:STDOUT: %HasK.facet: %HasK.type = facet_value %L, (%HasK.impl_witness) [concrete] // CHECK:STDOUT: %struct_type.base.b1e: type = struct_type {.base: %Base} [concrete] @@ -676,7 +676,7 @@ fn P(o: O) { // CHECK:STDOUT: // CHECK:STDOUT: interface @HasK { // CHECK:STDOUT: %Self: %HasK.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self] -// CHECK:STDOUT: %K.decl: %K.type.76f = fn_decl @K.2 [concrete = constants.%K.c0e] {} {} +// CHECK:STDOUT: %K.decl: %K.type.76f = fn_decl @K.loc9 [concrete = constants.%K.c0e] {} {} // CHECK:STDOUT: %assoc0: %HasK.assoc_type = assoc_entity element0, %K.decl [concrete = constants.%assoc0] // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -686,7 +686,7 @@ fn P(o: O) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @HasK.impl: %Self.ref as %HasK.ref { -// CHECK:STDOUT: %K.decl: %K.type.bc2 = fn_decl @K.3 [concrete = constants.%K.bd6] {} {} +// CHECK:STDOUT: %K.decl: %K.type.bc2 = fn_decl @K.loc15 [concrete = constants.%K.bd6] {} {} // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .K = %K.decl @@ -694,7 +694,7 @@ fn P(o: O) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @Base { -// CHECK:STDOUT: %K.decl: %K.type.5a4 = fn_decl @K.1 [concrete = constants.%K.801] {} {} +// CHECK:STDOUT: %K.decl: %K.type.5a4 = fn_decl @K.loc5 [concrete = constants.%K.801] {} {} // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete = constants.%empty_struct_type] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete = constants.%complete_type.357] // CHECK:STDOUT: complete_type_witness = %complete_type @@ -728,16 +728,16 @@ fn P(o: O) { // CHECK:STDOUT: extend @HasK.impl.%HasK.ref // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @K.1() { +// CHECK:STDOUT: fn @K.loc5() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @K.2(@HasK.%Self: %HasK.type) { +// CHECK:STDOUT: generic fn @K.loc9(@HasK.%Self: %HasK.type) { // CHECK:STDOUT: fn(); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @K.3() { +// CHECK:STDOUT: fn @K.loc15() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -751,42 +751,42 @@ fn P(o: O) { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @K.2(constants.%Self) {} +// CHECK:STDOUT: specific @K.loc9(constants.%Self) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @K.2(constants.%HasK.facet) {} +// CHECK:STDOUT: specific @K.loc9(constants.%HasK.facet) {} // CHECK:STDOUT: // CHECK:STDOUT: --- ambiguity_hidden.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { // CHECK:STDOUT: %NBase: type = class_type @NBase [concrete] -// CHECK:STDOUT: %N.type.fbf: type = fn_type @N.1 [concrete] +// CHECK:STDOUT: %N.type.fbf: type = fn_type @N.loc5 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %N.897: %N.type.fbf = struct_value () [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type.357: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %HasN1.type: type = facet_type <@HasN1> [concrete] // CHECK:STDOUT: %Self.e0b: %HasN1.type = bind_symbolic_name Self, 0 [symbolic] -// CHECK:STDOUT: %N.type.3da: type = fn_type @N.2 [concrete] +// CHECK:STDOUT: %N.type.3da: type = fn_type @N.loc9 [concrete] // CHECK:STDOUT: %N.a51: %N.type.3da = struct_value () [concrete] // CHECK:STDOUT: %HasN1.assoc_type: type = assoc_entity_type @HasN1 [concrete] // CHECK:STDOUT: %assoc0.c23: %HasN1.assoc_type = assoc_entity element0, @HasN1.%N.decl [concrete] // CHECK:STDOUT: %HasN2.type: type = facet_type <@HasN2> [concrete] // CHECK:STDOUT: %Self.e6e: %HasN2.type = bind_symbolic_name Self, 0 [symbolic] -// CHECK:STDOUT: %N.type.0aa: type = fn_type @N.3 [concrete] +// CHECK:STDOUT: %N.type.0aa: type = fn_type @N.loc13 [concrete] // CHECK:STDOUT: %N.1a4: %N.type.0aa = struct_value () [concrete] // CHECK:STDOUT: %HasN2.assoc_type: type = assoc_entity_type @HasN2 [concrete] // CHECK:STDOUT: %assoc0.7d1: %HasN2.assoc_type = assoc_entity element0, @HasN2.%N.decl [concrete] // CHECK:STDOUT: %O: type = class_type @O [concrete] // CHECK:STDOUT: %O.elem: type = unbound_element_type %O, %NBase [concrete] // CHECK:STDOUT: %HasN1.impl_witness: = impl_witness @O.%HasN1.impl_witness_table [concrete] -// CHECK:STDOUT: %N.type.ffc: type = fn_type @N.4 [concrete] +// CHECK:STDOUT: %N.type.ffc: type = fn_type @N.loc19 [concrete] // CHECK:STDOUT: %N.4f5: %N.type.ffc = struct_value () [concrete] // CHECK:STDOUT: %HasN1.facet: %HasN1.type = facet_value %O, (%HasN1.impl_witness) [concrete] // CHECK:STDOUT: %HasN2.impl_witness: = impl_witness @O.%HasN2.impl_witness_table [concrete] -// CHECK:STDOUT: %N.type.8af: type = fn_type @N.5 [concrete] +// CHECK:STDOUT: %N.type.8af: type = fn_type @N.loc22 [concrete] // CHECK:STDOUT: %N.308: %N.type.8af = struct_value () [concrete] // CHECK:STDOUT: %HasN2.facet: %HasN2.type = facet_value %O, (%HasN2.impl_witness) [concrete] -// CHECK:STDOUT: %N.type.8b4: type = fn_type @N.6 [concrete] +// CHECK:STDOUT: %N.type.8b4: type = fn_type @N.loc24 [concrete] // CHECK:STDOUT: %N.cc3: %N.type.8b4 = struct_value () [concrete] // CHECK:STDOUT: %struct_type.base.9c6: type = struct_type {.base: %NBase} [concrete] // CHECK:STDOUT: %complete_type.121: = complete_type_witness %struct_type.base.9c6 [concrete] @@ -819,7 +819,7 @@ fn P(o: O) { // CHECK:STDOUT: // CHECK:STDOUT: interface @HasN1 { // CHECK:STDOUT: %Self: %HasN1.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.e0b] -// CHECK:STDOUT: %N.decl: %N.type.3da = fn_decl @N.2 [concrete = constants.%N.a51] {} {} +// CHECK:STDOUT: %N.decl: %N.type.3da = fn_decl @N.loc9 [concrete = constants.%N.a51] {} {} // CHECK:STDOUT: %assoc0: %HasN1.assoc_type = assoc_entity element0, %N.decl [concrete = constants.%assoc0.c23] // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -831,7 +831,7 @@ fn P(o: O) { // CHECK:STDOUT: // CHECK:STDOUT: interface @HasN2 { // CHECK:STDOUT: %Self: %HasN2.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.e6e] -// CHECK:STDOUT: %N.decl: %N.type.0aa = fn_decl @N.3 [concrete = constants.%N.1a4] {} {} +// CHECK:STDOUT: %N.decl: %N.type.0aa = fn_decl @N.loc13 [concrete = constants.%N.1a4] {} {} // CHECK:STDOUT: %assoc0: %HasN2.assoc_type = assoc_entity element0, %N.decl [concrete = constants.%assoc0.7d1] // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -841,7 +841,7 @@ fn P(o: O) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @HasN1.impl: %Self.ref as %HasN1.ref { -// CHECK:STDOUT: %N.decl: %N.type.ffc = fn_decl @N.4 [concrete = constants.%N.4f5] {} {} +// CHECK:STDOUT: %N.decl: %N.type.ffc = fn_decl @N.loc19 [concrete = constants.%N.4f5] {} {} // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .N = %N.decl @@ -849,7 +849,7 @@ fn P(o: O) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @HasN2.impl: %Self.ref as %HasN2.ref { -// CHECK:STDOUT: %N.decl: %N.type.8af = fn_decl @N.5 [concrete = constants.%N.308] {} {} +// CHECK:STDOUT: %N.decl: %N.type.8af = fn_decl @N.loc22 [concrete = constants.%N.308] {} {} // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .N = %N.decl @@ -857,7 +857,7 @@ fn P(o: O) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @NBase { -// CHECK:STDOUT: %N.decl: %N.type.fbf = fn_decl @N.1 [concrete = constants.%N.897] {} {} +// CHECK:STDOUT: %N.decl: %N.type.fbf = fn_decl @N.loc5 [concrete = constants.%N.897] {} {} // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete = constants.%empty_struct_type] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete = constants.%complete_type.357] // CHECK:STDOUT: complete_type_witness = %complete_type @@ -884,7 +884,7 @@ fn P(o: O) { // CHECK:STDOUT: } // CHECK:STDOUT: %HasN2.impl_witness_table = impl_witness_table (@HasN2.impl.%N.decl), @HasN2.impl [concrete] // CHECK:STDOUT: %HasN2.impl_witness: = impl_witness %HasN2.impl_witness_table [concrete = constants.%HasN2.impl_witness] -// CHECK:STDOUT: %N.decl: %N.type.8b4 = fn_decl @N.6 [concrete = constants.%N.cc3] {} {} +// CHECK:STDOUT: %N.decl: %N.type.8b4 = fn_decl @N.loc24 [concrete = constants.%N.cc3] {} {} // CHECK:STDOUT: %struct_type.base: type = struct_type {.base: %NBase} [concrete = constants.%struct_type.base.9c6] // CHECK:STDOUT: %complete_type: = complete_type_witness %struct_type.base [concrete = constants.%complete_type.121] // CHECK:STDOUT: complete_type_witness = %complete_type @@ -901,30 +901,30 @@ fn P(o: O) { // CHECK:STDOUT: extend @HasN2.impl.%HasN2.ref // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @N.1() { +// CHECK:STDOUT: fn @N.loc5() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @N.2(@HasN1.%Self: %HasN1.type) { +// CHECK:STDOUT: generic fn @N.loc9(@HasN1.%Self: %HasN1.type) { // CHECK:STDOUT: fn(); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @N.3(@HasN2.%Self: %HasN2.type) { +// CHECK:STDOUT: generic fn @N.loc13(@HasN2.%Self: %HasN2.type) { // CHECK:STDOUT: fn(); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @N.4() { +// CHECK:STDOUT: fn @N.loc19() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @N.5() { +// CHECK:STDOUT: fn @N.loc22() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @N.6(); +// CHECK:STDOUT: fn @N.loc24(); // CHECK:STDOUT: // CHECK:STDOUT: fn @P(%o.param: %O) { // CHECK:STDOUT: !entry: @@ -937,11 +937,11 @@ fn P(o: O) { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @N.2(constants.%Self.e0b) {} +// CHECK:STDOUT: specific @N.loc9(constants.%Self.e0b) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @N.3(constants.%Self.e6e) {} +// CHECK:STDOUT: specific @N.loc13(constants.%Self.e6e) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @N.2(constants.%HasN1.facet) {} +// CHECK:STDOUT: specific @N.loc9(constants.%HasN1.facet) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @N.3(constants.%HasN2.facet) {} +// CHECK:STDOUT: specific @N.loc13(constants.%HasN2.facet) {} // CHECK:STDOUT: diff --git a/toolchain/check/testdata/impl/self_in_class.carbon b/toolchain/check/testdata/impl/self_in_class.carbon index 26d7c62f89de..6bf2b6862a19 100644 --- a/toolchain/check/testdata/impl/self_in_class.carbon +++ b/toolchain/check/testdata/impl/self_in_class.carbon @@ -33,7 +33,7 @@ class A { // CHECK:STDOUT: %Self: %DefaultConstructible.type = bind_symbolic_name Self, 0 [symbolic] // CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self [symbolic] // CHECK:STDOUT: %pattern_type.839: type = pattern_type %Self.as_type [symbolic] -// CHECK:STDOUT: %Make.type.068: type = fn_type @Make.1 [concrete] +// CHECK:STDOUT: %Make.type.068: type = fn_type @Make.loc16 [concrete] // CHECK:STDOUT: %Make.606: %Make.type.068 = struct_value () [concrete] // CHECK:STDOUT: %DefaultConstructible.assoc_type: type = assoc_entity_type @DefaultConstructible [concrete] // CHECK:STDOUT: %assoc0: %DefaultConstructible.assoc_type = assoc_entity element0, @DefaultConstructible.%Make.decl [concrete] @@ -43,7 +43,7 @@ class A { // CHECK:STDOUT: %A: type = class_type @A [concrete] // CHECK:STDOUT: %DefaultConstructible.impl_witness: = impl_witness @A.%DefaultConstructible.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.c48: type = pattern_type %C [concrete] -// CHECK:STDOUT: %Make.type.351: type = fn_type @Make.2 [concrete] +// CHECK:STDOUT: %Make.type.351: type = fn_type @Make.loc25 [concrete] // CHECK:STDOUT: %Make.b73: %Make.type.351 = struct_value () [concrete] // CHECK:STDOUT: %DefaultConstructible.facet: %DefaultConstructible.type = facet_value %C, (%DefaultConstructible.impl_witness) [concrete] // CHECK:STDOUT: %C.val: %C = struct_value () [concrete] @@ -62,15 +62,15 @@ class A { // CHECK:STDOUT: // CHECK:STDOUT: interface @DefaultConstructible { // CHECK:STDOUT: %Self: %DefaultConstructible.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self] -// CHECK:STDOUT: %Make.decl: %Make.type.068 = fn_decl @Make.1 [concrete = constants.%Make.606] { -// CHECK:STDOUT: %return.patt: @Make.1.%pattern_type (%pattern_type.839) = return_slot_pattern [concrete] -// CHECK:STDOUT: %return.param_patt: @Make.1.%pattern_type (%pattern_type.839) = out_param_pattern %return.patt, call_param0 [concrete] +// CHECK:STDOUT: %Make.decl: %Make.type.068 = fn_decl @Make.loc16 [concrete = constants.%Make.606] { +// CHECK:STDOUT: %return.patt: @Make.loc16.%pattern_type (%pattern_type.839) = return_slot_pattern [concrete] +// CHECK:STDOUT: %return.param_patt: @Make.loc16.%pattern_type (%pattern_type.839) = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref: %DefaultConstructible.type = name_ref Self, @DefaultConstructible.%Self [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %Self.as_type.loc16_16.2: type = facet_access_type %Self.ref [symbolic = %Self.as_type.loc16_16.1 (constants.%Self.as_type)] // CHECK:STDOUT: %.loc16: type = converted %Self.ref, %Self.as_type.loc16_16.2 [symbolic = %Self.as_type.loc16_16.1 (constants.%Self.as_type)] -// CHECK:STDOUT: %return.param: ref @Make.1.%Self.as_type.loc16_16.1 (%Self.as_type) = out_param call_param0 -// CHECK:STDOUT: %return: ref @Make.1.%Self.as_type.loc16_16.1 (%Self.as_type) = return_slot %return.param +// CHECK:STDOUT: %return.param: ref @Make.loc16.%Self.as_type.loc16_16.1 (%Self.as_type) = out_param call_param0 +// CHECK:STDOUT: %return: ref @Make.loc16.%Self.as_type.loc16_16.1 (%Self.as_type) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %assoc0: %DefaultConstructible.assoc_type = assoc_entity element0, %Make.decl [concrete = constants.%assoc0] // CHECK:STDOUT: @@ -81,7 +81,7 @@ class A { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @DefaultConstructible.impl: %C.ref as %DefaultConstructible.ref { -// CHECK:STDOUT: %Make.decl: %Make.type.351 = fn_decl @Make.2 [concrete = constants.%Make.b73] { +// CHECK:STDOUT: %Make.decl: %Make.type.351 = fn_decl @Make.loc25 [concrete = constants.%Make.b73] { // CHECK:STDOUT: %return.patt: %pattern_type.c48 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.c48 = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -121,15 +121,15 @@ class A { // CHECK:STDOUT: .DefaultConstructible = // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @Make.1(@DefaultConstructible.%Self: %DefaultConstructible.type) { +// CHECK:STDOUT: generic fn @Make.loc16(@DefaultConstructible.%Self: %DefaultConstructible.type) { // CHECK:STDOUT: %Self: %DefaultConstructible.type = bind_symbolic_name Self, 0 [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %Self.as_type.loc16_16.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc16_16.1 (constants.%Self.as_type)] // CHECK:STDOUT: %pattern_type: type = pattern_type %Self.as_type.loc16_16.1 [symbolic = %pattern_type (constants.%pattern_type.839)] // CHECK:STDOUT: -// CHECK:STDOUT: fn() -> @Make.1.%Self.as_type.loc16_16.1 (%Self.as_type); +// CHECK:STDOUT: fn() -> @Make.loc16.%Self.as_type.loc16_16.1 (%Self.as_type); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Make.2() -> %return.param: %C { +// CHECK:STDOUT: fn @Make.loc25() -> %return.param: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc25_33.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc25_33.2: init %C = class_init (), %return [concrete = constants.%C.val] @@ -137,13 +137,13 @@ class A { // CHECK:STDOUT: return %.loc25_34 to %return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Make.1(constants.%Self) { +// CHECK:STDOUT: specific @Make.loc16(constants.%Self) { // CHECK:STDOUT: %Self => constants.%Self // CHECK:STDOUT: %Self.as_type.loc16_16.1 => constants.%Self.as_type // CHECK:STDOUT: %pattern_type => constants.%pattern_type.839 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Make.1(constants.%DefaultConstructible.facet) { +// CHECK:STDOUT: specific @Make.loc16(constants.%DefaultConstructible.facet) { // CHECK:STDOUT: %Self => constants.%DefaultConstructible.facet // CHECK:STDOUT: %Self.as_type.loc16_16.1 => constants.%C // CHECK:STDOUT: %pattern_type => constants.%pattern_type.c48 diff --git a/toolchain/check/testdata/impl/self_in_signature.carbon b/toolchain/check/testdata/impl/self_in_signature.carbon index 094daaf0e8b7..2a28f61b0070 100644 --- a/toolchain/check/testdata/impl/self_in_signature.carbon +++ b/toolchain/check/testdata/impl/self_in_signature.carbon @@ -47,7 +47,7 @@ impl D as SelfNested { // CHECK:STDOUT: %Self.085: %UseSelf.type = bind_symbolic_name Self, 0 [symbolic] // CHECK:STDOUT: %Self.as_type.599: type = facet_access_type %Self.085 [symbolic] // CHECK:STDOUT: %pattern_type.3ef: type = pattern_type %Self.as_type.599 [symbolic] -// CHECK:STDOUT: %F.type.86a: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.86a: type = fn_type @F.loc16 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %F.408: %F.type.86a = struct_value () [concrete] // CHECK:STDOUT: %UseSelf.assoc_type: type = assoc_entity_type @UseSelf [concrete] @@ -58,13 +58,13 @@ impl D as SelfNested { // CHECK:STDOUT: %D: type = class_type @D [concrete] // CHECK:STDOUT: %UseSelf.impl_witness.b25: = impl_witness file.%UseSelf.impl_witness_table.loc23 [concrete] // CHECK:STDOUT: %pattern_type.c48: type = pattern_type %C [concrete] -// CHECK:STDOUT: %F.type.fc6: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.fc6: type = fn_type @F.loc24 [concrete] // CHECK:STDOUT: %F.5e2: %F.type.fc6 = struct_value () [concrete] // CHECK:STDOUT: %UseSelf.facet.727: %UseSelf.type = facet_value %C, (%UseSelf.impl_witness.b25) [concrete] // CHECK:STDOUT: %C.val: %C = struct_value () [concrete] // CHECK:STDOUT: %UseSelf.impl_witness.f90: = impl_witness file.%UseSelf.impl_witness_table.loc27 [concrete] // CHECK:STDOUT: %pattern_type.510: type = pattern_type %D [concrete] -// CHECK:STDOUT: %F.type.0aa: type = fn_type @F.3 [concrete] +// CHECK:STDOUT: %F.type.0aa: type = fn_type @F.loc28 [concrete] // CHECK:STDOUT: %F.f71: %F.type.0aa = struct_value () [concrete] // CHECK:STDOUT: %UseSelf.facet.d11: %UseSelf.type = facet_value %D, (%UseSelf.impl_witness.f90) [concrete] // CHECK:STDOUT: %D.val: %D = struct_value () [concrete] @@ -76,7 +76,7 @@ impl D as SelfNested { // CHECK:STDOUT: %tuple.type.24b: type = tuple_type (type, type) [concrete] // CHECK:STDOUT: %tuple.type.46b: type = tuple_type (%ptr.e87, %struct_type.x.y.270) [symbolic] // CHECK:STDOUT: %pattern_type.5a1: type = pattern_type %tuple.type.46b [symbolic] -// CHECK:STDOUT: %F.type.6ed: type = fn_type @F.4 [concrete] +// CHECK:STDOUT: %F.type.6ed: type = fn_type @F.loc32 [concrete] // CHECK:STDOUT: %F.998: %F.type.6ed = struct_value () [concrete] // CHECK:STDOUT: %SelfNested.assoc_type: type = assoc_entity_type @SelfNested [concrete] // CHECK:STDOUT: %assoc0.beb: %SelfNested.assoc_type = assoc_entity element0, @SelfNested.%F.decl [concrete] @@ -85,7 +85,7 @@ impl D as SelfNested { // CHECK:STDOUT: %struct_type.x.y.2f0: type = struct_type {.x: %C, .y: %empty_tuple.type} [concrete] // CHECK:STDOUT: %tuple.type.a17: type = tuple_type (%ptr.019, %struct_type.x.y.2f0) [concrete] // CHECK:STDOUT: %pattern_type.809: type = pattern_type %tuple.type.a17 [concrete] -// CHECK:STDOUT: %F.type.ef0: type = fn_type @F.5 [concrete] +// CHECK:STDOUT: %F.type.ef0: type = fn_type @F.loc36 [concrete] // CHECK:STDOUT: %F.9a9: %F.type.ef0 = struct_value () [concrete] // CHECK:STDOUT: %SelfNested.facet.2b2: %SelfNested.type = facet_value %C, (%SelfNested.impl_witness.5d5) [concrete] // CHECK:STDOUT: %SelfNested.impl_witness.16b: = impl_witness file.%SelfNested.impl_witness_table.loc39 [concrete] @@ -93,7 +93,7 @@ impl D as SelfNested { // CHECK:STDOUT: %struct_type.x.y.527: type = struct_type {.x: %D, .y: %empty_tuple.type} [concrete] // CHECK:STDOUT: %tuple.type.a5f: type = tuple_type (%ptr.19c, %struct_type.x.y.527) [concrete] // CHECK:STDOUT: %pattern_type.b43: type = pattern_type %tuple.type.a5f [concrete] -// CHECK:STDOUT: %F.type.a9d: type = fn_type @F.6 [concrete] +// CHECK:STDOUT: %F.type.a9d: type = fn_type @F.loc40 [concrete] // CHECK:STDOUT: %F.c41: %F.type.a9d = struct_value () [concrete] // CHECK:STDOUT: %SelfNested.facet.f2c: %SelfNested.type = facet_value %D, (%SelfNested.impl_witness.16b) [concrete] // CHECK:STDOUT: } @@ -137,33 +137,33 @@ impl D as SelfNested { // CHECK:STDOUT: // CHECK:STDOUT: interface @UseSelf { // CHECK:STDOUT: %Self: %UseSelf.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.085] -// CHECK:STDOUT: %F.decl: %F.type.86a = fn_decl @F.1 [concrete = constants.%F.408] { -// CHECK:STDOUT: %self.patt: @F.1.%pattern_type (%pattern_type.3ef) = binding_pattern self [concrete] -// CHECK:STDOUT: %self.param_patt: @F.1.%pattern_type (%pattern_type.3ef) = value_param_pattern %self.patt, call_param0 [concrete] -// CHECK:STDOUT: %x.patt: @F.1.%pattern_type (%pattern_type.3ef) = binding_pattern x [concrete] -// CHECK:STDOUT: %x.param_patt: @F.1.%pattern_type (%pattern_type.3ef) = value_param_pattern %x.patt, call_param1 [concrete] -// CHECK:STDOUT: %return.patt: @F.1.%pattern_type (%pattern_type.3ef) = return_slot_pattern [concrete] -// CHECK:STDOUT: %return.param_patt: @F.1.%pattern_type (%pattern_type.3ef) = out_param_pattern %return.patt, call_param2 [concrete] +// CHECK:STDOUT: %F.decl: %F.type.86a = fn_decl @F.loc16 [concrete = constants.%F.408] { +// CHECK:STDOUT: %self.patt: @F.loc16.%pattern_type (%pattern_type.3ef) = binding_pattern self [concrete] +// CHECK:STDOUT: %self.param_patt: @F.loc16.%pattern_type (%pattern_type.3ef) = value_param_pattern %self.patt, call_param0 [concrete] +// CHECK:STDOUT: %x.patt: @F.loc16.%pattern_type (%pattern_type.3ef) = binding_pattern x [concrete] +// CHECK:STDOUT: %x.param_patt: @F.loc16.%pattern_type (%pattern_type.3ef) = value_param_pattern %x.patt, call_param1 [concrete] +// CHECK:STDOUT: %return.patt: @F.loc16.%pattern_type (%pattern_type.3ef) = return_slot_pattern [concrete] +// CHECK:STDOUT: %return.param_patt: @F.loc16.%pattern_type (%pattern_type.3ef) = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref.loc16_32: %UseSelf.type = name_ref Self, @UseSelf.%Self [symbolic = %Self (constants.%Self.085)] // CHECK:STDOUT: %Self.as_type.loc16_32: type = facet_access_type %Self.ref.loc16_32 [symbolic = %Self.as_type.loc16_14.1 (constants.%Self.as_type.599)] // CHECK:STDOUT: %.loc16_32: type = converted %Self.ref.loc16_32, %Self.as_type.loc16_32 [symbolic = %Self.as_type.loc16_14.1 (constants.%Self.as_type.599)] -// CHECK:STDOUT: %self.param: @F.1.%Self.as_type.loc16_14.1 (%Self.as_type.599) = value_param call_param0 +// CHECK:STDOUT: %self.param: @F.loc16.%Self.as_type.loc16_14.1 (%Self.as_type.599) = value_param call_param0 // CHECK:STDOUT: %.loc16_14.1: type = splice_block %.loc16_14.2 [symbolic = %Self.as_type.loc16_14.1 (constants.%Self.as_type.599)] { // CHECK:STDOUT: %Self.ref.loc16_14: %UseSelf.type = name_ref Self, @UseSelf.%Self [symbolic = %Self (constants.%Self.085)] // CHECK:STDOUT: %Self.as_type.loc16_14.2: type = facet_access_type %Self.ref.loc16_14 [symbolic = %Self.as_type.loc16_14.1 (constants.%Self.as_type.599)] // CHECK:STDOUT: %.loc16_14.2: type = converted %Self.ref.loc16_14, %Self.as_type.loc16_14.2 [symbolic = %Self.as_type.loc16_14.1 (constants.%Self.as_type.599)] // CHECK:STDOUT: } -// CHECK:STDOUT: %self: @F.1.%Self.as_type.loc16_14.1 (%Self.as_type.599) = bind_name self, %self.param -// CHECK:STDOUT: %x.param: @F.1.%Self.as_type.loc16_14.1 (%Self.as_type.599) = value_param call_param1 +// CHECK:STDOUT: %self: @F.loc16.%Self.as_type.loc16_14.1 (%Self.as_type.599) = bind_name self, %self.param +// CHECK:STDOUT: %x.param: @F.loc16.%Self.as_type.loc16_14.1 (%Self.as_type.599) = value_param call_param1 // CHECK:STDOUT: %.loc16_23.1: type = splice_block %.loc16_23.2 [symbolic = %Self.as_type.loc16_14.1 (constants.%Self.as_type.599)] { // CHECK:STDOUT: %Self.ref.loc16_23: %UseSelf.type = name_ref Self, @UseSelf.%Self [symbolic = %Self (constants.%Self.085)] // CHECK:STDOUT: %Self.as_type.loc16_23: type = facet_access_type %Self.ref.loc16_23 [symbolic = %Self.as_type.loc16_14.1 (constants.%Self.as_type.599)] // CHECK:STDOUT: %.loc16_23.2: type = converted %Self.ref.loc16_23, %Self.as_type.loc16_23 [symbolic = %Self.as_type.loc16_14.1 (constants.%Self.as_type.599)] // CHECK:STDOUT: } -// CHECK:STDOUT: %x: @F.1.%Self.as_type.loc16_14.1 (%Self.as_type.599) = bind_name x, %x.param -// CHECK:STDOUT: %return.param: ref @F.1.%Self.as_type.loc16_14.1 (%Self.as_type.599) = out_param call_param2 -// CHECK:STDOUT: %return: ref @F.1.%Self.as_type.loc16_14.1 (%Self.as_type.599) = return_slot %return.param +// CHECK:STDOUT: %x: @F.loc16.%Self.as_type.loc16_14.1 (%Self.as_type.599) = bind_name x, %x.param +// CHECK:STDOUT: %return.param: ref @F.loc16.%Self.as_type.loc16_14.1 (%Self.as_type.599) = out_param call_param2 +// CHECK:STDOUT: %return: ref @F.loc16.%Self.as_type.loc16_14.1 (%Self.as_type.599) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %assoc0: %UseSelf.assoc_type = assoc_entity element0, %F.decl [concrete = constants.%assoc0.24c] // CHECK:STDOUT: @@ -175,11 +175,11 @@ impl D as SelfNested { // CHECK:STDOUT: // CHECK:STDOUT: interface @SelfNested { // CHECK:STDOUT: %Self: %SelfNested.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.2ff] -// CHECK:STDOUT: %F.decl: %F.type.6ed = fn_decl @F.4 [concrete = constants.%F.998] { -// CHECK:STDOUT: %x.patt: @F.4.%pattern_type (%pattern_type.5a1) = binding_pattern x [concrete] -// CHECK:STDOUT: %x.param_patt: @F.4.%pattern_type (%pattern_type.5a1) = value_param_pattern %x.patt, call_param0 [concrete] +// CHECK:STDOUT: %F.decl: %F.type.6ed = fn_decl @F.loc32 [concrete = constants.%F.998] { +// CHECK:STDOUT: %x.patt: @F.loc32.%pattern_type (%pattern_type.5a1) = binding_pattern x [concrete] +// CHECK:STDOUT: %x.param_patt: @F.loc32.%pattern_type (%pattern_type.5a1) = value_param_pattern %x.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %x.param: @F.4.%tuple.type (%tuple.type.46b) = value_param call_param0 +// CHECK:STDOUT: %x.param: @F.loc32.%tuple.type (%tuple.type.46b) = value_param call_param0 // CHECK:STDOUT: %.loc32_37.1: type = splice_block %.loc32_37.3 [symbolic = %tuple.type (constants.%tuple.type.46b)] { // CHECK:STDOUT: %Self.ref.loc32_12: %SelfNested.type = name_ref Self, @SelfNested.%Self [symbolic = %Self (constants.%Self.2ff)] // CHECK:STDOUT: %Self.as_type.loc32_16.2: type = facet_access_type %Self.ref.loc32_12 [symbolic = %Self.as_type.loc32_16.1 (constants.%Self.as_type.e1e)] @@ -190,11 +190,11 @@ impl D as SelfNested { // CHECK:STDOUT: %.loc32_24: type = converted %Self.ref.loc32_24, %Self.as_type.loc32_24 [symbolic = %Self.as_type.loc32_16.1 (constants.%Self.as_type.e1e)] // CHECK:STDOUT: %.loc32_35.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc32_35.2: type = converted %.loc32_35.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] -// CHECK:STDOUT: %struct_type.x.y.loc32_36.2: type = struct_type {.x: @F.4.%Self.as_type.loc32_16.1 (%Self.as_type.e1e), .y: %empty_tuple.type} [symbolic = %struct_type.x.y.loc32_36.1 (constants.%struct_type.x.y.270)] +// CHECK:STDOUT: %struct_type.x.y.loc32_36.2: type = struct_type {.x: @F.loc32.%Self.as_type.loc32_16.1 (%Self.as_type.e1e), .y: %empty_tuple.type} [symbolic = %struct_type.x.y.loc32_36.1 (constants.%struct_type.x.y.270)] // CHECK:STDOUT: %.loc32_37.2: %tuple.type.24b = tuple_literal (%ptr.loc32_16.2, %struct_type.x.y.loc32_36.2) // CHECK:STDOUT: %.loc32_37.3: type = converted %.loc32_37.2, constants.%tuple.type.46b [symbolic = %tuple.type (constants.%tuple.type.46b)] // CHECK:STDOUT: } -// CHECK:STDOUT: %x: @F.4.%tuple.type (%tuple.type.46b) = bind_name x, %x.param +// CHECK:STDOUT: %x: @F.loc32.%tuple.type (%tuple.type.46b) = bind_name x, %x.param // CHECK:STDOUT: } // CHECK:STDOUT: %assoc0: %SelfNested.assoc_type = assoc_entity element0, %F.decl [concrete = constants.%assoc0.beb] // CHECK:STDOUT: @@ -205,7 +205,7 @@ impl D as SelfNested { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @UseSelf.impl.c4a: %C.ref as %UseSelf.ref { -// CHECK:STDOUT: %F.decl: %F.type.fc6 = fn_decl @F.2 [concrete = constants.%F.5e2] { +// CHECK:STDOUT: %F.decl: %F.type.fc6 = fn_decl @F.loc24 [concrete = constants.%F.5e2] { // CHECK:STDOUT: %self.patt: %pattern_type.c48 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.c48 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %x.patt: %pattern_type.c48 = binding_pattern x [concrete] @@ -231,7 +231,7 @@ impl D as SelfNested { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @UseSelf.impl.659: %D.ref as %UseSelf.ref { -// CHECK:STDOUT: %F.decl: %F.type.0aa = fn_decl @F.3 [concrete = constants.%F.f71] { +// CHECK:STDOUT: %F.decl: %F.type.0aa = fn_decl @F.loc28 [concrete = constants.%F.f71] { // CHECK:STDOUT: %self.patt: %pattern_type.510 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.510 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %x.patt: %pattern_type.510 = binding_pattern x [concrete] @@ -256,7 +256,7 @@ impl D as SelfNested { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @SelfNested.impl.730: %C.ref as %SelfNested.ref { -// CHECK:STDOUT: %F.decl: %F.type.ef0 = fn_decl @F.5 [concrete = constants.%F.9a9] { +// CHECK:STDOUT: %F.decl: %F.type.ef0 = fn_decl @F.loc36 [concrete = constants.%F.9a9] { // CHECK:STDOUT: %x.patt: %pattern_type.809 = binding_pattern x [concrete] // CHECK:STDOUT: %x.param_patt: %pattern_type.809 = value_param_pattern %x.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -281,7 +281,7 @@ impl D as SelfNested { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @SelfNested.impl.82d: %D.ref as %SelfNested.ref { -// CHECK:STDOUT: %F.decl: %F.type.a9d = fn_decl @F.6 [concrete = constants.%F.c41] { +// CHECK:STDOUT: %F.decl: %F.type.a9d = fn_decl @F.loc40 [concrete = constants.%F.c41] { // CHECK:STDOUT: %x.patt: %pattern_type.b43 = binding_pattern x [concrete] // CHECK:STDOUT: %x.param_patt: %pattern_type.b43 = value_param_pattern %x.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -322,15 +322,15 @@ impl D as SelfNested { // CHECK:STDOUT: .Self = constants.%D // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.1(@UseSelf.%Self: %UseSelf.type) { +// CHECK:STDOUT: generic fn @F.loc16(@UseSelf.%Self: %UseSelf.type) { // CHECK:STDOUT: %Self: %UseSelf.type = bind_symbolic_name Self, 0 [symbolic = %Self (constants.%Self.085)] // CHECK:STDOUT: %Self.as_type.loc16_14.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc16_14.1 (constants.%Self.as_type.599)] // CHECK:STDOUT: %pattern_type: type = pattern_type %Self.as_type.loc16_14.1 [symbolic = %pattern_type (constants.%pattern_type.3ef)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%self.param: @F.1.%Self.as_type.loc16_14.1 (%Self.as_type.599), %x.param: @F.1.%Self.as_type.loc16_14.1 (%Self.as_type.599)) -> @F.1.%Self.as_type.loc16_14.1 (%Self.as_type.599); +// CHECK:STDOUT: fn(%self.param: @F.loc16.%Self.as_type.loc16_14.1 (%Self.as_type.599), %x.param: @F.loc16.%Self.as_type.loc16_14.1 (%Self.as_type.599)) -> @F.loc16.%Self.as_type.loc16_14.1 (%Self.as_type.599); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2(%self.param: %C, %x.param: %C) -> %return.param: %C { +// CHECK:STDOUT: fn @F.loc24(%self.param: %C, %x.param: %C) -> %return.param: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc24_38.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc24_38.2: init %C = class_init (), %return [concrete = constants.%C.val] @@ -338,7 +338,7 @@ impl D as SelfNested { // CHECK:STDOUT: return %.loc24_39 to %return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.3(%self.param: %D, %x.param: %D) -> %return.param: %D { +// CHECK:STDOUT: fn @F.loc28(%self.param: %D, %x.param: %D) -> %return.param: %D { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc28_47.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc28_47.2: init %D = class_init (), %return [concrete = constants.%D.val] @@ -346,40 +346,40 @@ impl D as SelfNested { // CHECK:STDOUT: return %.loc28_48 to %return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.4(@SelfNested.%Self: %SelfNested.type) { +// CHECK:STDOUT: generic fn @F.loc32(@SelfNested.%Self: %SelfNested.type) { // CHECK:STDOUT: %Self: %SelfNested.type = bind_symbolic_name Self, 0 [symbolic = %Self (constants.%Self.2ff)] // CHECK:STDOUT: %Self.as_type.loc32_16.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc32_16.1 (constants.%Self.as_type.e1e)] // CHECK:STDOUT: %ptr.loc32_16.1: type = ptr_type %Self.as_type.loc32_16.1 [symbolic = %ptr.loc32_16.1 (constants.%ptr.e87)] -// CHECK:STDOUT: %struct_type.x.y.loc32_36.1: type = struct_type {.x: @F.4.%Self.as_type.loc32_16.1 (%Self.as_type.e1e), .y: %empty_tuple.type} [symbolic = %struct_type.x.y.loc32_36.1 (constants.%struct_type.x.y.270)] +// CHECK:STDOUT: %struct_type.x.y.loc32_36.1: type = struct_type {.x: @F.loc32.%Self.as_type.loc32_16.1 (%Self.as_type.e1e), .y: %empty_tuple.type} [symbolic = %struct_type.x.y.loc32_36.1 (constants.%struct_type.x.y.270)] // CHECK:STDOUT: %tuple.type: type = tuple_type (%ptr.loc32_16.1, %struct_type.x.y.loc32_36.1) [symbolic = %tuple.type (constants.%tuple.type.46b)] // CHECK:STDOUT: %pattern_type: type = pattern_type %tuple.type [symbolic = %pattern_type (constants.%pattern_type.5a1)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%x.param: @F.4.%tuple.type (%tuple.type.46b)); +// CHECK:STDOUT: fn(%x.param: @F.loc32.%tuple.type (%tuple.type.46b)); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.5(%x.param: %tuple.type.a17); +// CHECK:STDOUT: fn @F.loc36(%x.param: %tuple.type.a17); // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.6(%x.param: %tuple.type.a5f); +// CHECK:STDOUT: fn @F.loc40(%x.param: %tuple.type.a5f); // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%Self.085) { +// CHECK:STDOUT: specific @F.loc16(constants.%Self.085) { // CHECK:STDOUT: %Self => constants.%Self.085 // CHECK:STDOUT: %Self.as_type.loc16_14.1 => constants.%Self.as_type.599 // CHECK:STDOUT: %pattern_type => constants.%pattern_type.3ef // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%UseSelf.facet.727) { +// CHECK:STDOUT: specific @F.loc16(constants.%UseSelf.facet.727) { // CHECK:STDOUT: %Self => constants.%UseSelf.facet.727 // CHECK:STDOUT: %Self.as_type.loc16_14.1 => constants.%C // CHECK:STDOUT: %pattern_type => constants.%pattern_type.c48 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%UseSelf.facet.d11) { +// CHECK:STDOUT: specific @F.loc16(constants.%UseSelf.facet.d11) { // CHECK:STDOUT: %Self => constants.%UseSelf.facet.d11 // CHECK:STDOUT: %Self.as_type.loc16_14.1 => constants.%D // CHECK:STDOUT: %pattern_type => constants.%pattern_type.510 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.4(constants.%Self.2ff) { +// CHECK:STDOUT: specific @F.loc32(constants.%Self.2ff) { // CHECK:STDOUT: %Self => constants.%Self.2ff // CHECK:STDOUT: %Self.as_type.loc32_16.1 => constants.%Self.as_type.e1e // CHECK:STDOUT: %ptr.loc32_16.1 => constants.%ptr.e87 @@ -388,7 +388,7 @@ impl D as SelfNested { // CHECK:STDOUT: %pattern_type => constants.%pattern_type.5a1 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.4(constants.%SelfNested.facet.2b2) { +// CHECK:STDOUT: specific @F.loc32(constants.%SelfNested.facet.2b2) { // CHECK:STDOUT: %Self => constants.%SelfNested.facet.2b2 // CHECK:STDOUT: %Self.as_type.loc32_16.1 => constants.%C // CHECK:STDOUT: %ptr.loc32_16.1 => constants.%ptr.019 @@ -397,7 +397,7 @@ impl D as SelfNested { // CHECK:STDOUT: %pattern_type => constants.%pattern_type.809 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.4(constants.%SelfNested.facet.f2c) { +// CHECK:STDOUT: specific @F.loc32(constants.%SelfNested.facet.f2c) { // CHECK:STDOUT: %Self => constants.%SelfNested.facet.f2c // CHECK:STDOUT: %Self.as_type.loc32_16.1 => constants.%D // CHECK:STDOUT: %ptr.loc32_16.1 => constants.%ptr.19c diff --git a/toolchain/check/testdata/impl/todo_impl_with_unrelated_fn.carbon b/toolchain/check/testdata/impl/todo_impl_with_unrelated_fn.carbon index d5749c6c1585..2f03c9953ab4 100644 --- a/toolchain/check/testdata/impl/todo_impl_with_unrelated_fn.carbon +++ b/toolchain/check/testdata/impl/todo_impl_with_unrelated_fn.carbon @@ -30,13 +30,13 @@ class X { // CHECK:STDOUT: constants { // CHECK:STDOUT: %A.type: type = facet_type <@A> [concrete] // CHECK:STDOUT: %Self: %A.type = bind_symbolic_name Self, 0 [symbolic] -// CHECK:STDOUT: %B.type.1c3: type = fn_type @B.1 [concrete] +// CHECK:STDOUT: %B.type.1c3: type = fn_type @B.loc16 [concrete] // CHECK:STDOUT: %B.b08: %B.type.1c3 = struct_value () [concrete] // CHECK:STDOUT: %A.assoc_type: type = assoc_entity_type @A [concrete] // CHECK:STDOUT: %assoc0: %A.assoc_type = assoc_entity element0, @A.%B.decl [concrete] // CHECK:STDOUT: %X: type = class_type @X [concrete] // CHECK:STDOUT: %A.impl_witness: = impl_witness @X.%A.impl_witness_table [concrete] -// CHECK:STDOUT: %B.type.d47: type = fn_type @B.2 [concrete] +// CHECK:STDOUT: %B.type.d47: type = fn_type @B.loc21 [concrete] // CHECK:STDOUT: %B.4af: %B.type.d47 = struct_value () [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] @@ -56,7 +56,7 @@ class X { // CHECK:STDOUT: // CHECK:STDOUT: interface @A { // CHECK:STDOUT: %Self: %A.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self] -// CHECK:STDOUT: %B.decl: %B.type.1c3 = fn_decl @B.1 [concrete = constants.%B.b08] {} {} +// CHECK:STDOUT: %B.decl: %B.type.1c3 = fn_decl @B.loc16 [concrete = constants.%B.b08] {} {} // CHECK:STDOUT: %assoc0: %A.assoc_type = assoc_entity element0, %B.decl [concrete = constants.%assoc0] // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -66,7 +66,7 @@ class X { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @A.impl: %Self.ref as %A.ref { -// CHECK:STDOUT: %B.decl: %B.type.d47 = fn_decl @B.2 [concrete = constants.%B.4af] {} {} +// CHECK:STDOUT: %B.decl: %B.type.d47 = fn_decl @B.loc21 [concrete = constants.%B.4af] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] {} {} // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -91,11 +91,11 @@ class X { // CHECK:STDOUT: .A = // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @B.1(@A.%Self: %A.type) { +// CHECK:STDOUT: generic fn @B.loc16(@A.%Self: %A.type) { // CHECK:STDOUT: fn(); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @B.2() { +// CHECK:STDOUT: fn @B.loc21() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -105,7 +105,7 @@ class X { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @B.1(constants.%Self) {} +// CHECK:STDOUT: specific @B.loc16(constants.%Self) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @B.1(constants.%A.facet) {} +// CHECK:STDOUT: specific @B.loc16(constants.%A.facet) {} // CHECK:STDOUT: diff --git a/toolchain/check/testdata/impl/use_assoc_const.carbon b/toolchain/check/testdata/impl/use_assoc_const.carbon index 0da3f03acac4..561509d6726a 100644 --- a/toolchain/check/testdata/impl/use_assoc_const.carbon +++ b/toolchain/check/testdata/impl/use_assoc_const.carbon @@ -298,7 +298,7 @@ fn F() { // CHECK:STDOUT: %J.facet.521: %J.type = facet_value %Self.as_type.3df, (%J.lookup_impl_witness.646) [symbolic] // CHECK:STDOUT: %impl.elem0.11f: type = impl_witness_access %J.lookup_impl_witness.646, element0 [symbolic] // CHECK:STDOUT: %pattern_type.b98: type = pattern_type %impl.elem0.11f [symbolic] -// CHECK:STDOUT: %F.type.c14: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.c14: type = fn_type @F.loc5 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %F.b71: %F.type.c14 = struct_value () [concrete] // CHECK:STDOUT: %assoc1.572: %J.assoc_type = assoc_entity element1, @J.%F.decl [concrete] @@ -316,7 +316,7 @@ fn F() { // CHECK:STDOUT: %J.impl_witness.e42: = impl_witness file.%J.impl_witness_table.loc8 [concrete] // CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] // CHECK:STDOUT: %pattern_type.7ce: type = pattern_type %i32 [concrete] -// CHECK:STDOUT: %F.type.7d4: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.7d4: type = fn_type @F.loc9 [concrete] // CHECK:STDOUT: %F.46e: %F.type.7d4 = struct_value () [concrete] // CHECK:STDOUT: %J.facet.ecc: %J.type = facet_value %empty_tuple.type, (%J.impl_witness.e42) [concrete] // CHECK:STDOUT: %Negate.type: type = facet_type <@Negate> [concrete] @@ -355,7 +355,7 @@ fn F() { // CHECK:STDOUT: %J_where.type.0bc: type = facet_type <@J where %impl.elem0.83f = %C> [concrete] // CHECK:STDOUT: %J.impl_witness.12d: = impl_witness file.%J.impl_witness_table.loc21 [concrete] // CHECK:STDOUT: %pattern_type.c48: type = pattern_type %C [concrete] -// CHECK:STDOUT: %F.type.2a7: type = fn_type @F.3 [concrete] +// CHECK:STDOUT: %F.type.2a7: type = fn_type @F.loc22 [concrete] // CHECK:STDOUT: %F.fb5: %F.type.2a7 = struct_value () [concrete] // CHECK:STDOUT: %J.facet.30e: %J.type = facet_value %C, (%J.impl_witness.12d) [concrete] // CHECK:STDOUT: } @@ -448,31 +448,31 @@ fn F() { // CHECK:STDOUT: %U: type = assoc_const_decl @U [concrete] { // CHECK:STDOUT: %assoc0: %J.assoc_type = assoc_entity element0, @J.%U [concrete = constants.%assoc0.411] // CHECK:STDOUT: } -// CHECK:STDOUT: %F.decl: %F.type.c14 = fn_decl @F.1 [concrete = constants.%F.b71] { -// CHECK:STDOUT: %self.patt: @F.1.%pattern_type.loc5_8 (%pattern_type.4ca) = binding_pattern self [concrete] -// CHECK:STDOUT: %self.param_patt: @F.1.%pattern_type.loc5_8 (%pattern_type.4ca) = value_param_pattern %self.patt, call_param0 [concrete] -// CHECK:STDOUT: %u.patt: @F.1.%pattern_type.loc5_20 (%pattern_type.b98) = binding_pattern u [concrete] -// CHECK:STDOUT: %u.param_patt: @F.1.%pattern_type.loc5_20 (%pattern_type.b98) = value_param_pattern %u.patt, call_param1 [concrete] -// CHECK:STDOUT: %return.patt: @F.1.%pattern_type.loc5_20 (%pattern_type.b98) = return_slot_pattern [concrete] -// CHECK:STDOUT: %return.param_patt: @F.1.%pattern_type.loc5_20 (%pattern_type.b98) = out_param_pattern %return.patt, call_param2 [concrete] +// CHECK:STDOUT: %F.decl: %F.type.c14 = fn_decl @F.loc5 [concrete = constants.%F.b71] { +// CHECK:STDOUT: %self.patt: @F.loc5.%pattern_type.loc5_8 (%pattern_type.4ca) = binding_pattern self [concrete] +// CHECK:STDOUT: %self.param_patt: @F.loc5.%pattern_type.loc5_8 (%pattern_type.4ca) = value_param_pattern %self.patt, call_param0 [concrete] +// CHECK:STDOUT: %u.patt: @F.loc5.%pattern_type.loc5_20 (%pattern_type.b98) = binding_pattern u [concrete] +// CHECK:STDOUT: %u.param_patt: @F.loc5.%pattern_type.loc5_20 (%pattern_type.b98) = value_param_pattern %u.patt, call_param1 [concrete] +// CHECK:STDOUT: %return.patt: @F.loc5.%pattern_type.loc5_20 (%pattern_type.b98) = return_slot_pattern [concrete] +// CHECK:STDOUT: %return.param_patt: @F.loc5.%pattern_type.loc5_20 (%pattern_type.b98) = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %impl.elem0.loc5_29: type = impl_witness_access constants.%J.lookup_impl_witness.646, element0 [symbolic = %impl.elem0.loc5_23.1 (constants.%impl.elem0.11f)] // CHECK:STDOUT: %U.ref.loc5_29: type = name_ref U, %impl.elem0.loc5_29 [symbolic = %impl.elem0.loc5_23.1 (constants.%impl.elem0.11f)] -// CHECK:STDOUT: %self.param: @F.1.%Self.as_type.loc5_14.1 (%Self.as_type.3df) = value_param call_param0 +// CHECK:STDOUT: %self.param: @F.loc5.%Self.as_type.loc5_14.1 (%Self.as_type.3df) = value_param call_param0 // CHECK:STDOUT: %.loc5_14.1: type = splice_block %.loc5_14.2 [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type.3df)] { // CHECK:STDOUT: %Self.ref: %J.type = name_ref Self, @J.%Self [symbolic = %Self (constants.%Self.ccd)] // CHECK:STDOUT: %Self.as_type.loc5_14.2: type = facet_access_type %Self.ref [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type.3df)] // CHECK:STDOUT: %.loc5_14.2: type = converted %Self.ref, %Self.as_type.loc5_14.2 [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type.3df)] // CHECK:STDOUT: } -// CHECK:STDOUT: %self: @F.1.%Self.as_type.loc5_14.1 (%Self.as_type.3df) = bind_name self, %self.param -// CHECK:STDOUT: %u.param: @F.1.%impl.elem0.loc5_23.1 (%impl.elem0.11f) = value_param call_param1 +// CHECK:STDOUT: %self: @F.loc5.%Self.as_type.loc5_14.1 (%Self.as_type.3df) = bind_name self, %self.param +// CHECK:STDOUT: %u.param: @F.loc5.%impl.elem0.loc5_23.1 (%impl.elem0.11f) = value_param call_param1 // CHECK:STDOUT: %.loc5_23: type = splice_block %U.ref.loc5_23 [symbolic = %impl.elem0.loc5_23.1 (constants.%impl.elem0.11f)] { // CHECK:STDOUT: %impl.elem0.loc5_23.2: type = impl_witness_access constants.%J.lookup_impl_witness.646, element0 [symbolic = %impl.elem0.loc5_23.1 (constants.%impl.elem0.11f)] // CHECK:STDOUT: %U.ref.loc5_23: type = name_ref U, %impl.elem0.loc5_23.2 [symbolic = %impl.elem0.loc5_23.1 (constants.%impl.elem0.11f)] // CHECK:STDOUT: } -// CHECK:STDOUT: %u: @F.1.%impl.elem0.loc5_23.1 (%impl.elem0.11f) = bind_name u, %u.param -// CHECK:STDOUT: %return.param: ref @F.1.%impl.elem0.loc5_23.1 (%impl.elem0.11f) = out_param call_param2 -// CHECK:STDOUT: %return: ref @F.1.%impl.elem0.loc5_23.1 (%impl.elem0.11f) = return_slot %return.param +// CHECK:STDOUT: %u: @F.loc5.%impl.elem0.loc5_23.1 (%impl.elem0.11f) = bind_name u, %u.param +// CHECK:STDOUT: %return.param: ref @F.loc5.%impl.elem0.loc5_23.1 (%impl.elem0.11f) = out_param call_param2 +// CHECK:STDOUT: %return: ref @F.loc5.%impl.elem0.loc5_23.1 (%impl.elem0.11f) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %assoc1: %J.assoc_type = assoc_entity element1, %F.decl [concrete = constants.%assoc1.572] // CHECK:STDOUT: @@ -488,7 +488,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @J.impl.32a: %.loc8_7.2 as %.loc8_14 { -// CHECK:STDOUT: %F.decl: %F.type.7d4 = fn_decl @F.2 [concrete = constants.%F.46e] { +// CHECK:STDOUT: %F.decl: %F.type.7d4 = fn_decl @F.loc9 [concrete = constants.%F.46e] { // CHECK:STDOUT: %self.patt: %pattern_type.cb1 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.cb1 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %u.patt: %pattern_type.7ce = binding_pattern u [concrete] @@ -517,7 +517,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @J.impl.043: %C.ref.loc21_6 as %.loc21_13 { -// CHECK:STDOUT: %F.decl: %F.type.2a7 = fn_decl @F.3 [concrete = constants.%F.fb5] { +// CHECK:STDOUT: %F.decl: %F.type.2a7 = fn_decl @F.loc22 [concrete = constants.%F.fb5] { // CHECK:STDOUT: %self.patt: %pattern_type.c48 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.c48 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %u.patt: %pattern_type.c48 = binding_pattern u [concrete] @@ -553,7 +553,7 @@ fn F() { // CHECK:STDOUT: .Self = constants.%C // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.1(@J.%Self: %J.type) { +// CHECK:STDOUT: generic fn @F.loc5(@J.%Self: %J.type) { // CHECK:STDOUT: %Self: %J.type = bind_symbolic_name Self, 0 [symbolic = %Self (constants.%Self.ccd)] // CHECK:STDOUT: %Self.as_type.loc5_14.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type.3df)] // CHECK:STDOUT: %pattern_type.loc5_8: type = pattern_type %Self.as_type.loc5_14.1 [symbolic = %pattern_type.loc5_8 (constants.%pattern_type.4ca)] @@ -561,10 +561,10 @@ fn F() { // CHECK:STDOUT: %impl.elem0.loc5_23.1: type = impl_witness_access %J.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc5_23.1 (constants.%impl.elem0.11f)] // CHECK:STDOUT: %pattern_type.loc5_20: type = pattern_type %impl.elem0.loc5_23.1 [symbolic = %pattern_type.loc5_20 (constants.%pattern_type.b98)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%self.param: @F.1.%Self.as_type.loc5_14.1 (%Self.as_type.3df), %u.param: @F.1.%impl.elem0.loc5_23.1 (%impl.elem0.11f)) -> @F.1.%impl.elem0.loc5_23.1 (%impl.elem0.11f); +// CHECK:STDOUT: fn(%self.param: @F.loc5.%Self.as_type.loc5_14.1 (%Self.as_type.3df), %u.param: @F.loc5.%impl.elem0.loc5_23.1 (%impl.elem0.11f)) -> @F.loc5.%impl.elem0.loc5_23.1 (%impl.elem0.11f); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2(%self.param: %empty_tuple.type, %u.param: %i32) -> %i32 { +// CHECK:STDOUT: fn @F.loc9(%self.param: %empty_tuple.type, %u.param: %i32) -> %i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %u.ref: %i32 = name_ref u, %u // CHECK:STDOUT: %impl.elem1: %.6f0 = impl_witness_access constants.%Negate.impl_witness.943, element1 [concrete = constants.%Op.5c0] @@ -598,7 +598,7 @@ fn F() { // CHECK:STDOUT: return %.loc13_21.2 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.3(%self.param: %C, %u.param: %C) -> %C { +// CHECK:STDOUT: fn @F.loc22(%self.param: %C, %u.param: %C) -> %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %self.ref: %C = name_ref self, %self // CHECK:STDOUT: return %self.ref @@ -608,7 +608,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: specific @U(constants.%J.facet.521) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%Self.ccd) { +// CHECK:STDOUT: specific @F.loc5(constants.%Self.ccd) { // CHECK:STDOUT: %Self => constants.%Self.ccd // CHECK:STDOUT: %Self.as_type.loc5_14.1 => constants.%Self.as_type.3df // CHECK:STDOUT: %pattern_type.loc5_8 => constants.%pattern_type.4ca @@ -619,7 +619,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: specific @U(constants.%J.facet.330) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%J.facet.ecc) { +// CHECK:STDOUT: specific @F.loc5(constants.%J.facet.ecc) { // CHECK:STDOUT: %Self => constants.%J.facet.ecc // CHECK:STDOUT: %Self.as_type.loc5_14.1 => constants.%empty_tuple.type // CHECK:STDOUT: %pattern_type.loc5_8 => constants.%pattern_type.cb1 @@ -628,7 +628,7 @@ fn F() { // CHECK:STDOUT: %pattern_type.loc5_20 => constants.%pattern_type.7ce // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%J.facet.30e) { +// CHECK:STDOUT: specific @F.loc5(constants.%J.facet.30e) { // CHECK:STDOUT: %Self => constants.%J.facet.30e // CHECK:STDOUT: %Self.as_type.loc5_14.1 => constants.%C // CHECK:STDOUT: %pattern_type.loc5_8 => constants.%pattern_type.c48 @@ -649,7 +649,7 @@ fn F() { // CHECK:STDOUT: %J.facet.521: %J.type = facet_value %Self.as_type.3df, (%J.lookup_impl_witness.646) [symbolic] // CHECK:STDOUT: %impl.elem0.11f: type = impl_witness_access %J.lookup_impl_witness.646, element0 [symbolic] // CHECK:STDOUT: %pattern_type.b98: type = pattern_type %impl.elem0.11f [symbolic] -// CHECK:STDOUT: %F.type.c14: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.c14: type = fn_type @F.loc5 [concrete] // CHECK:STDOUT: %F.b71: %F.type.c14 = struct_value () [concrete] // CHECK:STDOUT: %assoc1.572: %J.assoc_type = assoc_entity element1, @J.%F.decl [concrete] // CHECK:STDOUT: %D: type = class_type @D [concrete] @@ -668,7 +668,7 @@ fn F() { // CHECK:STDOUT: %J_where.type: type = facet_type <@J where %impl.elem0.83f = %i32> [concrete] // CHECK:STDOUT: %J.impl_witness: = impl_witness file.%J.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.7ce: type = pattern_type %i32 [concrete] -// CHECK:STDOUT: %F.type.5d3: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.5d3: type = fn_type @F.loc11 [concrete] // CHECK:STDOUT: %F.b9c: %F.type.5d3 = struct_value () [concrete] // CHECK:STDOUT: %J.facet.183: %J.type = facet_value %D, (%J.impl_witness) [concrete] // CHECK:STDOUT: %Negate.type: type = facet_type <@Negate> [concrete] @@ -765,22 +765,22 @@ fn F() { // CHECK:STDOUT: %U: type = assoc_const_decl @U [concrete] { // CHECK:STDOUT: %assoc0: %J.assoc_type = assoc_entity element0, @J.%U [concrete = constants.%assoc0.411] // CHECK:STDOUT: } -// CHECK:STDOUT: %F.decl: %F.type.c14 = fn_decl @F.1 [concrete = constants.%F.b71] { -// CHECK:STDOUT: %u.patt: @F.1.%pattern_type (%pattern_type.b98) = binding_pattern u [concrete] -// CHECK:STDOUT: %u.param_patt: @F.1.%pattern_type (%pattern_type.b98) = value_param_pattern %u.patt, call_param0 [concrete] -// CHECK:STDOUT: %return.patt: @F.1.%pattern_type (%pattern_type.b98) = return_slot_pattern [concrete] -// CHECK:STDOUT: %return.param_patt: @F.1.%pattern_type (%pattern_type.b98) = out_param_pattern %return.patt, call_param1 [concrete] +// CHECK:STDOUT: %F.decl: %F.type.c14 = fn_decl @F.loc5 [concrete = constants.%F.b71] { +// CHECK:STDOUT: %u.patt: @F.loc5.%pattern_type (%pattern_type.b98) = binding_pattern u [concrete] +// CHECK:STDOUT: %u.param_patt: @F.loc5.%pattern_type (%pattern_type.b98) = value_param_pattern %u.patt, call_param0 [concrete] +// CHECK:STDOUT: %return.patt: @F.loc5.%pattern_type (%pattern_type.b98) = return_slot_pattern [concrete] +// CHECK:STDOUT: %return.param_patt: @F.loc5.%pattern_type (%pattern_type.b98) = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %impl.elem0.loc5_17: type = impl_witness_access constants.%J.lookup_impl_witness.646, element0 [symbolic = %impl.elem0.loc5_11.1 (constants.%impl.elem0.11f)] // CHECK:STDOUT: %U.ref.loc5_17: type = name_ref U, %impl.elem0.loc5_17 [symbolic = %impl.elem0.loc5_11.1 (constants.%impl.elem0.11f)] -// CHECK:STDOUT: %u.param: @F.1.%impl.elem0.loc5_11.1 (%impl.elem0.11f) = value_param call_param0 +// CHECK:STDOUT: %u.param: @F.loc5.%impl.elem0.loc5_11.1 (%impl.elem0.11f) = value_param call_param0 // CHECK:STDOUT: %.loc5: type = splice_block %U.ref.loc5_11 [symbolic = %impl.elem0.loc5_11.1 (constants.%impl.elem0.11f)] { // CHECK:STDOUT: %impl.elem0.loc5_11.2: type = impl_witness_access constants.%J.lookup_impl_witness.646, element0 [symbolic = %impl.elem0.loc5_11.1 (constants.%impl.elem0.11f)] // CHECK:STDOUT: %U.ref.loc5_11: type = name_ref U, %impl.elem0.loc5_11.2 [symbolic = %impl.elem0.loc5_11.1 (constants.%impl.elem0.11f)] // CHECK:STDOUT: } -// CHECK:STDOUT: %u: @F.1.%impl.elem0.loc5_11.1 (%impl.elem0.11f) = bind_name u, %u.param -// CHECK:STDOUT: %return.param: ref @F.1.%impl.elem0.loc5_11.1 (%impl.elem0.11f) = out_param call_param1 -// CHECK:STDOUT: %return: ref @F.1.%impl.elem0.loc5_11.1 (%impl.elem0.11f) = return_slot %return.param +// CHECK:STDOUT: %u: @F.loc5.%impl.elem0.loc5_11.1 (%impl.elem0.11f) = bind_name u, %u.param +// CHECK:STDOUT: %return.param: ref @F.loc5.%impl.elem0.loc5_11.1 (%impl.elem0.11f) = out_param call_param1 +// CHECK:STDOUT: %return: ref @F.loc5.%impl.elem0.loc5_11.1 (%impl.elem0.11f) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %assoc1: %J.assoc_type = assoc_entity element1, %F.decl [concrete = constants.%assoc1.572] // CHECK:STDOUT: @@ -796,7 +796,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @J.impl: %D.ref as %.loc10_13 { -// CHECK:STDOUT: %F.decl: %F.type.5d3 = fn_decl @F.2 [concrete = constants.%F.b9c] { +// CHECK:STDOUT: %F.decl: %F.type.5d3 = fn_decl @F.loc11 [concrete = constants.%F.b9c] { // CHECK:STDOUT: %u.patt: %pattern_type.7ce = binding_pattern u [concrete] // CHECK:STDOUT: %u.param_patt: %pattern_type.7ce = value_param_pattern %u.patt, call_param0 [concrete] // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] @@ -828,16 +828,16 @@ fn F() { // CHECK:STDOUT: .Self = constants.%D // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.1(@J.%Self: %J.type) { +// CHECK:STDOUT: generic fn @F.loc5(@J.%Self: %J.type) { // CHECK:STDOUT: %Self: %J.type = bind_symbolic_name Self, 0 [symbolic = %Self (constants.%Self.ccd)] // CHECK:STDOUT: %J.lookup_impl_witness: = lookup_impl_witness %Self, @J [symbolic = %J.lookup_impl_witness (constants.%J.lookup_impl_witness.646)] // CHECK:STDOUT: %impl.elem0.loc5_11.1: type = impl_witness_access %J.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc5_11.1 (constants.%impl.elem0.11f)] // CHECK:STDOUT: %pattern_type: type = pattern_type %impl.elem0.loc5_11.1 [symbolic = %pattern_type (constants.%pattern_type.b98)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%u.param: @F.1.%impl.elem0.loc5_11.1 (%impl.elem0.11f)) -> @F.1.%impl.elem0.loc5_11.1 (%impl.elem0.11f); +// CHECK:STDOUT: fn(%u.param: @F.loc5.%impl.elem0.loc5_11.1 (%impl.elem0.11f)) -> @F.loc5.%impl.elem0.loc5_11.1 (%impl.elem0.11f); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2(%u.param: %i32) -> %i32 { +// CHECK:STDOUT: fn @F.loc11(%u.param: %i32) -> %i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %u.ref: %i32 = name_ref u, %u // CHECK:STDOUT: %impl.elem1: %.6f0 = impl_witness_access constants.%Negate.impl_witness.943, element1 [concrete = constants.%Op.5c0] @@ -876,7 +876,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: specific @U(constants.%J.facet.521) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%Self.ccd) { +// CHECK:STDOUT: specific @F.loc5(constants.%Self.ccd) { // CHECK:STDOUT: %Self => constants.%Self.ccd // CHECK:STDOUT: %J.lookup_impl_witness => constants.%J.lookup_impl_witness.646 // CHECK:STDOUT: %impl.elem0.loc5_11.1 => constants.%impl.elem0.11f @@ -885,7 +885,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: specific @U(constants.%J.facet.330) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%J.facet.183) { +// CHECK:STDOUT: specific @F.loc5(constants.%J.facet.183) { // CHECK:STDOUT: %Self => constants.%J.facet.183 // CHECK:STDOUT: %J.lookup_impl_witness => constants.%J.impl_witness // CHECK:STDOUT: %impl.elem0.loc5_11.1 => constants.%i32 @@ -904,11 +904,11 @@ fn F() { // CHECK:STDOUT: %J.facet.5210a7.1: %J.type = facet_value %Self.as_type.3df, (%J.lookup_impl_witness.64628e.1) [symbolic] // CHECK:STDOUT: %impl.elem0.11fef0.1: type = impl_witness_access %J.lookup_impl_witness.64628e.1, element0 [symbolic] // CHECK:STDOUT: %pattern_type.b984e7.1: type = pattern_type %impl.elem0.11fef0.1 [symbolic] -// CHECK:STDOUT: %F.type.c14: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.c14: type = fn_type @F.loc5 [concrete] // CHECK:STDOUT: %F.b71: %F.type.c14 = struct_value () [concrete] // CHECK:STDOUT: %assoc1.572: %J.assoc_type = assoc_entity element1, @J.%F.decl [concrete] // CHECK:STDOUT: %pattern_type.4ca604.1: type = pattern_type %Self.as_type.3df [symbolic] -// CHECK:STDOUT: %G.type.285: type = fn_type @G.1 [concrete] +// CHECK:STDOUT: %G.type.285: type = fn_type @G.loc6 [concrete] // CHECK:STDOUT: %G.e4b: %G.type.285 = struct_value () [concrete] // CHECK:STDOUT: %assoc2: %J.assoc_type = assoc_entity element2, @J.%G.decl [concrete] // CHECK:STDOUT: %E: type = class_type @E [concrete] @@ -925,10 +925,10 @@ fn F() { // CHECK:STDOUT: %J_where.type: type = facet_type <@J where %impl.elem0.83f = %i32> [concrete] // CHECK:STDOUT: %J.impl_witness: = impl_witness @E.%J.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.7ce: type = pattern_type %i32 [concrete] -// CHECK:STDOUT: %F.type.b84: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.b84: type = fn_type @F.loc11 [concrete] // CHECK:STDOUT: %F.b07: %F.type.b84 = struct_value () [concrete] // CHECK:STDOUT: %pattern_type.a4a: type = pattern_type %E [concrete] -// CHECK:STDOUT: %G.type.4b6: type = fn_type @G.2 [concrete] +// CHECK:STDOUT: %G.type.4b6: type = fn_type @G.loc14 [concrete] // CHECK:STDOUT: %G.553: %G.type.4b6 = struct_value () [concrete] // CHECK:STDOUT: %J.facet.ee5: %J.type = facet_value %E, (%J.impl_witness) [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] @@ -996,7 +996,7 @@ fn F() { // CHECK:STDOUT: %require_complete.2a5: = require_complete_type %T.as_type [symbolic] // CHECK:STDOUT: %.d43: type = fn_type_with_self_type %F.type.c14, %J.facet.5210a7.2 [symbolic] // CHECK:STDOUT: %impl.elem1: %.d43 = impl_witness_access %J.lookup_impl_witness.64628e.2, element1 [symbolic] -// CHECK:STDOUT: %specific_impl_fn: = specific_impl_function %impl.elem1, @F.1(%J.facet.5210a7.2) [symbolic] +// CHECK:STDOUT: %specific_impl_fn: = specific_impl_function %impl.elem1, @F.loc5(%J.facet.5210a7.2) [symbolic] // CHECK:STDOUT: %CallGeneric.type: type = fn_type @CallGeneric [concrete] // CHECK:STDOUT: %CallGeneric: %CallGeneric.type = struct_value () [concrete] // CHECK:STDOUT: %GenericCallF.specific_fn: = specific_function %GenericCallF, @GenericCallF(%J.facet.ee5) [concrete] @@ -1096,49 +1096,49 @@ fn F() { // CHECK:STDOUT: %U: type = assoc_const_decl @U [concrete] { // CHECK:STDOUT: %assoc0: %J.assoc_type = assoc_entity element0, @J.%U [concrete = constants.%assoc0.411] // CHECK:STDOUT: } -// CHECK:STDOUT: %F.decl: %F.type.c14 = fn_decl @F.1 [concrete = constants.%F.b71] { -// CHECK:STDOUT: %u.patt: @F.1.%pattern_type (%pattern_type.b984e7.1) = binding_pattern u [concrete] -// CHECK:STDOUT: %u.param_patt: @F.1.%pattern_type (%pattern_type.b984e7.1) = value_param_pattern %u.patt, call_param0 [concrete] -// CHECK:STDOUT: %return.patt: @F.1.%pattern_type (%pattern_type.b984e7.1) = return_slot_pattern [concrete] -// CHECK:STDOUT: %return.param_patt: @F.1.%pattern_type (%pattern_type.b984e7.1) = out_param_pattern %return.patt, call_param1 [concrete] +// CHECK:STDOUT: %F.decl: %F.type.c14 = fn_decl @F.loc5 [concrete = constants.%F.b71] { +// CHECK:STDOUT: %u.patt: @F.loc5.%pattern_type (%pattern_type.b984e7.1) = binding_pattern u [concrete] +// CHECK:STDOUT: %u.param_patt: @F.loc5.%pattern_type (%pattern_type.b984e7.1) = value_param_pattern %u.patt, call_param0 [concrete] +// CHECK:STDOUT: %return.patt: @F.loc5.%pattern_type (%pattern_type.b984e7.1) = return_slot_pattern [concrete] +// CHECK:STDOUT: %return.param_patt: @F.loc5.%pattern_type (%pattern_type.b984e7.1) = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %impl.elem0.loc5_17: type = impl_witness_access constants.%J.lookup_impl_witness.64628e.1, element0 [symbolic = %impl.elem0.loc5_11.1 (constants.%impl.elem0.11fef0.1)] // CHECK:STDOUT: %U.ref.loc5_17: type = name_ref U, %impl.elem0.loc5_17 [symbolic = %impl.elem0.loc5_11.1 (constants.%impl.elem0.11fef0.1)] -// CHECK:STDOUT: %u.param: @F.1.%impl.elem0.loc5_11.1 (%impl.elem0.11fef0.1) = value_param call_param0 +// CHECK:STDOUT: %u.param: @F.loc5.%impl.elem0.loc5_11.1 (%impl.elem0.11fef0.1) = value_param call_param0 // CHECK:STDOUT: %.loc5: type = splice_block %U.ref.loc5_11 [symbolic = %impl.elem0.loc5_11.1 (constants.%impl.elem0.11fef0.1)] { // CHECK:STDOUT: %impl.elem0.loc5_11.2: type = impl_witness_access constants.%J.lookup_impl_witness.64628e.1, element0 [symbolic = %impl.elem0.loc5_11.1 (constants.%impl.elem0.11fef0.1)] // CHECK:STDOUT: %U.ref.loc5_11: type = name_ref U, %impl.elem0.loc5_11.2 [symbolic = %impl.elem0.loc5_11.1 (constants.%impl.elem0.11fef0.1)] // CHECK:STDOUT: } -// CHECK:STDOUT: %u: @F.1.%impl.elem0.loc5_11.1 (%impl.elem0.11fef0.1) = bind_name u, %u.param -// CHECK:STDOUT: %return.param: ref @F.1.%impl.elem0.loc5_11.1 (%impl.elem0.11fef0.1) = out_param call_param1 -// CHECK:STDOUT: %return: ref @F.1.%impl.elem0.loc5_11.1 (%impl.elem0.11fef0.1) = return_slot %return.param +// CHECK:STDOUT: %u: @F.loc5.%impl.elem0.loc5_11.1 (%impl.elem0.11fef0.1) = bind_name u, %u.param +// CHECK:STDOUT: %return.param: ref @F.loc5.%impl.elem0.loc5_11.1 (%impl.elem0.11fef0.1) = out_param call_param1 +// CHECK:STDOUT: %return: ref @F.loc5.%impl.elem0.loc5_11.1 (%impl.elem0.11fef0.1) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %assoc1: %J.assoc_type = assoc_entity element1, %F.decl [concrete = constants.%assoc1.572] -// CHECK:STDOUT: %G.decl: %G.type.285 = fn_decl @G.1 [concrete = constants.%G.e4b] { -// CHECK:STDOUT: %self.patt: @G.1.%pattern_type.loc6_8 (%pattern_type.4ca604.1) = binding_pattern self [concrete] -// CHECK:STDOUT: %self.param_patt: @G.1.%pattern_type.loc6_8 (%pattern_type.4ca604.1) = value_param_pattern %self.patt, call_param0 [concrete] -// CHECK:STDOUT: %v.patt: @G.1.%pattern_type.loc6_20 (%pattern_type.b984e7.1) = binding_pattern v [concrete] -// CHECK:STDOUT: %v.param_patt: @G.1.%pattern_type.loc6_20 (%pattern_type.b984e7.1) = value_param_pattern %v.patt, call_param1 [concrete] -// CHECK:STDOUT: %return.patt: @G.1.%pattern_type.loc6_20 (%pattern_type.b984e7.1) = return_slot_pattern [concrete] -// CHECK:STDOUT: %return.param_patt: @G.1.%pattern_type.loc6_20 (%pattern_type.b984e7.1) = out_param_pattern %return.patt, call_param2 [concrete] +// CHECK:STDOUT: %G.decl: %G.type.285 = fn_decl @G.loc6 [concrete = constants.%G.e4b] { +// CHECK:STDOUT: %self.patt: @G.loc6.%pattern_type.loc6_8 (%pattern_type.4ca604.1) = binding_pattern self [concrete] +// CHECK:STDOUT: %self.param_patt: @G.loc6.%pattern_type.loc6_8 (%pattern_type.4ca604.1) = value_param_pattern %self.patt, call_param0 [concrete] +// CHECK:STDOUT: %v.patt: @G.loc6.%pattern_type.loc6_20 (%pattern_type.b984e7.1) = binding_pattern v [concrete] +// CHECK:STDOUT: %v.param_patt: @G.loc6.%pattern_type.loc6_20 (%pattern_type.b984e7.1) = value_param_pattern %v.patt, call_param1 [concrete] +// CHECK:STDOUT: %return.patt: @G.loc6.%pattern_type.loc6_20 (%pattern_type.b984e7.1) = return_slot_pattern [concrete] +// CHECK:STDOUT: %return.param_patt: @G.loc6.%pattern_type.loc6_20 (%pattern_type.b984e7.1) = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %impl.elem0.loc6_29: type = impl_witness_access constants.%J.lookup_impl_witness.64628e.1, element0 [symbolic = %impl.elem0.loc6_23.1 (constants.%impl.elem0.11fef0.1)] // CHECK:STDOUT: %U.ref.loc6_29: type = name_ref U, %impl.elem0.loc6_29 [symbolic = %impl.elem0.loc6_23.1 (constants.%impl.elem0.11fef0.1)] -// CHECK:STDOUT: %self.param: @G.1.%Self.as_type.loc6_14.1 (%Self.as_type.3df) = value_param call_param0 +// CHECK:STDOUT: %self.param: @G.loc6.%Self.as_type.loc6_14.1 (%Self.as_type.3df) = value_param call_param0 // CHECK:STDOUT: %.loc6_14.1: type = splice_block %.loc6_14.2 [symbolic = %Self.as_type.loc6_14.1 (constants.%Self.as_type.3df)] { // CHECK:STDOUT: %Self.ref: %J.type = name_ref Self, @J.%Self [symbolic = %Self (constants.%Self.ccd)] // CHECK:STDOUT: %Self.as_type.loc6_14.2: type = facet_access_type %Self.ref [symbolic = %Self.as_type.loc6_14.1 (constants.%Self.as_type.3df)] // CHECK:STDOUT: %.loc6_14.2: type = converted %Self.ref, %Self.as_type.loc6_14.2 [symbolic = %Self.as_type.loc6_14.1 (constants.%Self.as_type.3df)] // CHECK:STDOUT: } -// CHECK:STDOUT: %self: @G.1.%Self.as_type.loc6_14.1 (%Self.as_type.3df) = bind_name self, %self.param -// CHECK:STDOUT: %v.param: @G.1.%impl.elem0.loc6_23.1 (%impl.elem0.11fef0.1) = value_param call_param1 +// CHECK:STDOUT: %self: @G.loc6.%Self.as_type.loc6_14.1 (%Self.as_type.3df) = bind_name self, %self.param +// CHECK:STDOUT: %v.param: @G.loc6.%impl.elem0.loc6_23.1 (%impl.elem0.11fef0.1) = value_param call_param1 // CHECK:STDOUT: %.loc6_23: type = splice_block %U.ref.loc6_23 [symbolic = %impl.elem0.loc6_23.1 (constants.%impl.elem0.11fef0.1)] { // CHECK:STDOUT: %impl.elem0.loc6_23.2: type = impl_witness_access constants.%J.lookup_impl_witness.64628e.1, element0 [symbolic = %impl.elem0.loc6_23.1 (constants.%impl.elem0.11fef0.1)] // CHECK:STDOUT: %U.ref.loc6_23: type = name_ref U, %impl.elem0.loc6_23.2 [symbolic = %impl.elem0.loc6_23.1 (constants.%impl.elem0.11fef0.1)] // CHECK:STDOUT: } -// CHECK:STDOUT: %v: @G.1.%impl.elem0.loc6_23.1 (%impl.elem0.11fef0.1) = bind_name v, %v.param -// CHECK:STDOUT: %return.param: ref @G.1.%impl.elem0.loc6_23.1 (%impl.elem0.11fef0.1) = out_param call_param2 -// CHECK:STDOUT: %return: ref @G.1.%impl.elem0.loc6_23.1 (%impl.elem0.11fef0.1) = return_slot %return.param +// CHECK:STDOUT: %v: @G.loc6.%impl.elem0.loc6_23.1 (%impl.elem0.11fef0.1) = bind_name v, %v.param +// CHECK:STDOUT: %return.param: ref @G.loc6.%impl.elem0.loc6_23.1 (%impl.elem0.11fef0.1) = out_param call_param2 +// CHECK:STDOUT: %return: ref @G.loc6.%impl.elem0.loc6_23.1 (%impl.elem0.11fef0.1) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %assoc2: %J.assoc_type = assoc_entity element2, %G.decl [concrete = constants.%assoc2] // CHECK:STDOUT: @@ -1155,7 +1155,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @J.impl: %Self.ref as %.loc10_20 { -// CHECK:STDOUT: %F.decl: %F.type.b84 = fn_decl @F.2 [concrete = constants.%F.b07] { +// CHECK:STDOUT: %F.decl: %F.type.b84 = fn_decl @F.loc11 [concrete = constants.%F.b07] { // CHECK:STDOUT: %u.patt: %pattern_type.7ce = binding_pattern u [concrete] // CHECK:STDOUT: %u.param_patt: %pattern_type.7ce = value_param_pattern %u.patt, call_param0 [concrete] // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] @@ -1172,7 +1172,7 @@ fn F() { // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param1 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %G.decl: %G.type.4b6 = fn_decl @G.2 [concrete = constants.%G.553] { +// CHECK:STDOUT: %G.decl: %G.type.4b6 = fn_decl @G.loc14 [concrete = constants.%G.553] { // CHECK:STDOUT: %self.patt: %pattern_type.a4a = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.a4a = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %v.patt: %pattern_type.7ce = binding_pattern v [concrete] @@ -1232,16 +1232,16 @@ fn F() { // CHECK:STDOUT: extend @J.impl.%.loc10_20 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.1(@J.%Self: %J.type) { +// CHECK:STDOUT: generic fn @F.loc5(@J.%Self: %J.type) { // CHECK:STDOUT: %Self: %J.type = bind_symbolic_name Self, 0 [symbolic = %Self (constants.%Self.ccd)] // CHECK:STDOUT: %J.lookup_impl_witness: = lookup_impl_witness %Self, @J [symbolic = %J.lookup_impl_witness (constants.%J.lookup_impl_witness.64628e.1)] // CHECK:STDOUT: %impl.elem0.loc5_11.1: type = impl_witness_access %J.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc5_11.1 (constants.%impl.elem0.11fef0.1)] // CHECK:STDOUT: %pattern_type: type = pattern_type %impl.elem0.loc5_11.1 [symbolic = %pattern_type (constants.%pattern_type.b984e7.1)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%u.param: @F.1.%impl.elem0.loc5_11.1 (%impl.elem0.11fef0.1)) -> @F.1.%impl.elem0.loc5_11.1 (%impl.elem0.11fef0.1); +// CHECK:STDOUT: fn(%u.param: @F.loc5.%impl.elem0.loc5_11.1 (%impl.elem0.11fef0.1)) -> @F.loc5.%impl.elem0.loc5_11.1 (%impl.elem0.11fef0.1); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @G.1(@J.%Self: %J.type) { +// CHECK:STDOUT: generic fn @G.loc6(@J.%Self: %J.type) { // CHECK:STDOUT: %Self: %J.type = bind_symbolic_name Self, 0 [symbolic = %Self (constants.%Self.ccd)] // CHECK:STDOUT: %Self.as_type.loc6_14.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc6_14.1 (constants.%Self.as_type.3df)] // CHECK:STDOUT: %pattern_type.loc6_8: type = pattern_type %Self.as_type.loc6_14.1 [symbolic = %pattern_type.loc6_8 (constants.%pattern_type.4ca604.1)] @@ -1249,10 +1249,10 @@ fn F() { // CHECK:STDOUT: %impl.elem0.loc6_23.1: type = impl_witness_access %J.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc6_23.1 (constants.%impl.elem0.11fef0.1)] // CHECK:STDOUT: %pattern_type.loc6_20: type = pattern_type %impl.elem0.loc6_23.1 [symbolic = %pattern_type.loc6_20 (constants.%pattern_type.b984e7.1)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%self.param: @G.1.%Self.as_type.loc6_14.1 (%Self.as_type.3df), %v.param: @G.1.%impl.elem0.loc6_23.1 (%impl.elem0.11fef0.1)) -> @G.1.%impl.elem0.loc6_23.1 (%impl.elem0.11fef0.1); +// CHECK:STDOUT: fn(%self.param: @G.loc6.%Self.as_type.loc6_14.1 (%Self.as_type.3df), %v.param: @G.loc6.%impl.elem0.loc6_23.1 (%impl.elem0.11fef0.1)) -> @G.loc6.%impl.elem0.loc6_23.1 (%impl.elem0.11fef0.1); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2(%u.param: %i32) -> %i32 { +// CHECK:STDOUT: fn @F.loc11(%u.param: %i32) -> %i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %u.ref: %i32 = name_ref u, %u // CHECK:STDOUT: %impl.elem1: %.6f0 = impl_witness_access constants.%Negate.impl_witness.943, element1 [concrete = constants.%Op.5c0] @@ -1265,7 +1265,7 @@ fn F() { // CHECK:STDOUT: return %.loc12_16.2 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @G.2(%self.param: %E, %v.param: %i32) -> %i32 { +// CHECK:STDOUT: fn @G.loc14(%self.param: %E, %v.param: %i32) -> %i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %v.ref: %i32 = name_ref v, %v // CHECK:STDOUT: %impl.elem1: %.6f0 = impl_witness_access constants.%Negate.impl_witness.943, element1 [concrete = constants.%Op.5c0] @@ -1412,7 +1412,7 @@ fn F() { // CHECK:STDOUT: %J.facet: %J.type = facet_value %T.as_type.loc28_27.2, (%J.lookup_impl_witness) [symbolic = %J.facet (constants.%J.facet.5210a7.2)] // CHECK:STDOUT: %.loc29_11.2: type = fn_type_with_self_type constants.%F.type.c14, %J.facet [symbolic = %.loc29_11.2 (constants.%.d43)] // CHECK:STDOUT: %impl.elem1.loc29_11.2: @GenericCallF.%.loc29_11.2 (%.d43) = impl_witness_access %J.lookup_impl_witness, element1 [symbolic = %impl.elem1.loc29_11.2 (constants.%impl.elem1)] -// CHECK:STDOUT: %specific_impl_fn.loc29_11.2: = specific_impl_function %impl.elem1.loc29_11.2, @F.1(%J.facet) [symbolic = %specific_impl_fn.loc29_11.2 (constants.%specific_impl_fn)] +// CHECK:STDOUT: %specific_impl_fn.loc29_11.2: = specific_impl_function %impl.elem1.loc29_11.2, @F.loc5(%J.facet) [symbolic = %specific_impl_fn.loc29_11.2 (constants.%specific_impl_fn)] // CHECK:STDOUT: // CHECK:STDOUT: fn(%t.param: @GenericCallF.%T.as_type.loc28_27.2 (%T.as_type), %u.param: @GenericCallF.%impl.elem0.loc28_34.2 (%impl.elem0.11fef0.2)) -> @GenericCallF.%impl.elem0.loc28_34.2 (%impl.elem0.11fef0.2) { // CHECK:STDOUT: !entry: @@ -1422,7 +1422,7 @@ fn F() { // CHECK:STDOUT: %.loc29_11.1: type = converted constants.%T, %T.as_type.loc29 [symbolic = %T.as_type.loc28_27.2 (constants.%T.as_type)] // CHECK:STDOUT: %impl.elem1.loc29_11.1: @GenericCallF.%.loc29_11.2 (%.d43) = impl_witness_access constants.%J.lookup_impl_witness.64628e.2, element1 [symbolic = %impl.elem1.loc29_11.2 (constants.%impl.elem1)] // CHECK:STDOUT: %u.ref: @GenericCallF.%impl.elem0.loc28_34.2 (%impl.elem0.11fef0.2) = name_ref u, %u -// CHECK:STDOUT: %specific_impl_fn.loc29_11.1: = specific_impl_function %impl.elem1.loc29_11.1, @F.1(constants.%J.facet.5210a7.2) [symbolic = %specific_impl_fn.loc29_11.2 (constants.%specific_impl_fn)] +// CHECK:STDOUT: %specific_impl_fn.loc29_11.1: = specific_impl_function %impl.elem1.loc29_11.1, @F.loc5(constants.%J.facet.5210a7.2) [symbolic = %specific_impl_fn.loc29_11.2 (constants.%specific_impl_fn)] // CHECK:STDOUT: %.loc29_15: init @GenericCallF.%impl.elem0.loc28_34.2 (%impl.elem0.11fef0.2) = call %specific_impl_fn.loc29_11.1(%u.ref) // CHECK:STDOUT: %.loc29_16.1: @GenericCallF.%impl.elem0.loc28_34.2 (%impl.elem0.11fef0.2) = value_of_initializer %.loc29_15 // CHECK:STDOUT: %.loc29_16.2: @GenericCallF.%impl.elem0.loc28_34.2 (%impl.elem0.11fef0.2) = converted %.loc29_15, %.loc29_16.1 @@ -1457,14 +1457,14 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: specific @U(constants.%J.facet.5210a7.1) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%Self.ccd) { +// CHECK:STDOUT: specific @F.loc5(constants.%Self.ccd) { // CHECK:STDOUT: %Self => constants.%Self.ccd // CHECK:STDOUT: %J.lookup_impl_witness => constants.%J.lookup_impl_witness.64628e.1 // CHECK:STDOUT: %impl.elem0.loc5_11.1 => constants.%impl.elem0.11fef0.1 // CHECK:STDOUT: %pattern_type => constants.%pattern_type.b984e7.1 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @G.1(constants.%Self.ccd) { +// CHECK:STDOUT: specific @G.loc6(constants.%Self.ccd) { // CHECK:STDOUT: %Self => constants.%Self.ccd // CHECK:STDOUT: %Self.as_type.loc6_14.1 => constants.%Self.as_type.3df // CHECK:STDOUT: %pattern_type.loc6_8 => constants.%pattern_type.4ca604.1 @@ -1475,14 +1475,14 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: specific @U(constants.%J.facet.330) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%J.facet.ee5) { +// CHECK:STDOUT: specific @F.loc5(constants.%J.facet.ee5) { // CHECK:STDOUT: %Self => constants.%J.facet.ee5 // CHECK:STDOUT: %J.lookup_impl_witness => constants.%J.impl_witness // CHECK:STDOUT: %impl.elem0.loc5_11.1 => constants.%i32 // CHECK:STDOUT: %pattern_type => constants.%pattern_type.7ce // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @G.1(constants.%J.facet.ee5) { +// CHECK:STDOUT: specific @G.loc6(constants.%J.facet.ee5) { // CHECK:STDOUT: %Self => constants.%J.facet.ee5 // CHECK:STDOUT: %Self.as_type.loc6_14.1 => constants.%E // CHECK:STDOUT: %pattern_type.loc6_8 => constants.%pattern_type.a4a @@ -1502,7 +1502,7 @@ fn F() { // CHECK:STDOUT: %pattern_type.loc28_30 => constants.%pattern_type.b984e7.2 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%J.facet.5210a7.2) { +// CHECK:STDOUT: specific @F.loc5(constants.%J.facet.5210a7.2) { // CHECK:STDOUT: %Self => constants.%J.facet.5210a7.2 // CHECK:STDOUT: %J.lookup_impl_witness => constants.%J.lookup_impl_witness.64628e.2 // CHECK:STDOUT: %impl.elem0.loc5_11.1 => constants.%impl.elem0.11fef0.2 @@ -2272,7 +2272,7 @@ fn F() { // CHECK:STDOUT: %J.facet.521: %J.type = facet_value %Self.as_type.3df, (%J.lookup_impl_witness.646) [symbolic] // CHECK:STDOUT: %impl.elem0.11f: type = impl_witness_access %J.lookup_impl_witness.646, element0 [symbolic] // CHECK:STDOUT: %pattern_type.b98: type = pattern_type %impl.elem0.11f [symbolic] -// CHECK:STDOUT: %F.type.c14: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.c14: type = fn_type @F.loc5 [concrete] // CHECK:STDOUT: %F.b71: %F.type.c14 = struct_value () [concrete] // CHECK:STDOUT: %assoc1: %J.assoc_type = assoc_entity element1, @J.%F.decl [concrete] // CHECK:STDOUT: %E: type = class_type @E [concrete] @@ -2289,11 +2289,11 @@ fn F() { // CHECK:STDOUT: %J.impl_witness: = impl_witness @E.%J.impl_witness_table [concrete] // CHECK:STDOUT: %ImplicitAs.type.cc7: type = generic_interface_type @ImplicitAs [concrete] // CHECK:STDOUT: %ImplicitAs.generic: %ImplicitAs.type.cc7 = struct_value () [concrete] -// CHECK:STDOUT: %F.type.b842fd.1: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.b842fd.1: type = fn_type @F.loc24_21.1 [concrete] // CHECK:STDOUT: %F.b07d12.1: %F.type.b842fd.1 = struct_value () [concrete] // CHECK:STDOUT: %J.facet.f43: %J.type = facet_value %E, (%J.impl_witness) [concrete] // CHECK:STDOUT: %pattern_type.7ce: type = pattern_type %i32 [concrete] -// CHECK:STDOUT: %F.type.b842fd.2: type = fn_type @F.3 [concrete] +// CHECK:STDOUT: %F.type.b842fd.2: type = fn_type @F.loc24_21.2 [concrete] // CHECK:STDOUT: %F.b07d12.2: %F.type.b842fd.2 = struct_value () [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type.357: = complete_type_witness %empty_struct_type [concrete] @@ -2326,22 +2326,22 @@ fn F() { // CHECK:STDOUT: %U: type = assoc_const_decl @U [concrete] { // CHECK:STDOUT: %assoc0: %J.assoc_type = assoc_entity element0, @J.%U [concrete = constants.%assoc0.411] // CHECK:STDOUT: } -// CHECK:STDOUT: %F.decl: %F.type.c14 = fn_decl @F.1 [concrete = constants.%F.b71] { -// CHECK:STDOUT: %u.patt: @F.1.%pattern_type (%pattern_type.b98) = binding_pattern u [concrete] -// CHECK:STDOUT: %u.param_patt: @F.1.%pattern_type (%pattern_type.b98) = value_param_pattern %u.patt, call_param0 [concrete] -// CHECK:STDOUT: %return.patt: @F.1.%pattern_type (%pattern_type.b98) = return_slot_pattern [concrete] -// CHECK:STDOUT: %return.param_patt: @F.1.%pattern_type (%pattern_type.b98) = out_param_pattern %return.patt, call_param1 [concrete] +// CHECK:STDOUT: %F.decl: %F.type.c14 = fn_decl @F.loc5 [concrete = constants.%F.b71] { +// CHECK:STDOUT: %u.patt: @F.loc5.%pattern_type (%pattern_type.b98) = binding_pattern u [concrete] +// CHECK:STDOUT: %u.param_patt: @F.loc5.%pattern_type (%pattern_type.b98) = value_param_pattern %u.patt, call_param0 [concrete] +// CHECK:STDOUT: %return.patt: @F.loc5.%pattern_type (%pattern_type.b98) = return_slot_pattern [concrete] +// CHECK:STDOUT: %return.param_patt: @F.loc5.%pattern_type (%pattern_type.b98) = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %impl.elem0.loc5_17: type = impl_witness_access constants.%J.lookup_impl_witness.646, element0 [symbolic = %impl.elem0.loc5_11.1 (constants.%impl.elem0.11f)] // CHECK:STDOUT: %U.ref.loc5_17: type = name_ref U, %impl.elem0.loc5_17 [symbolic = %impl.elem0.loc5_11.1 (constants.%impl.elem0.11f)] -// CHECK:STDOUT: %u.param: @F.1.%impl.elem0.loc5_11.1 (%impl.elem0.11f) = value_param call_param0 +// CHECK:STDOUT: %u.param: @F.loc5.%impl.elem0.loc5_11.1 (%impl.elem0.11f) = value_param call_param0 // CHECK:STDOUT: %.loc5: type = splice_block %U.ref.loc5_11 [symbolic = %impl.elem0.loc5_11.1 (constants.%impl.elem0.11f)] { // CHECK:STDOUT: %impl.elem0.loc5_11.2: type = impl_witness_access constants.%J.lookup_impl_witness.646, element0 [symbolic = %impl.elem0.loc5_11.1 (constants.%impl.elem0.11f)] // CHECK:STDOUT: %U.ref.loc5_11: type = name_ref U, %impl.elem0.loc5_11.2 [symbolic = %impl.elem0.loc5_11.1 (constants.%impl.elem0.11f)] // CHECK:STDOUT: } -// CHECK:STDOUT: %u: @F.1.%impl.elem0.loc5_11.1 (%impl.elem0.11f) = bind_name u, %u.param -// CHECK:STDOUT: %return.param: ref @F.1.%impl.elem0.loc5_11.1 (%impl.elem0.11f) = out_param call_param1 -// CHECK:STDOUT: %return: ref @F.1.%impl.elem0.loc5_11.1 (%impl.elem0.11f) = return_slot %return.param +// CHECK:STDOUT: %u: @F.loc5.%impl.elem0.loc5_11.1 (%impl.elem0.11f) = bind_name u, %u.param +// CHECK:STDOUT: %return.param: ref @F.loc5.%impl.elem0.loc5_11.1 (%impl.elem0.11f) = out_param call_param1 +// CHECK:STDOUT: %return: ref @F.loc5.%impl.elem0.loc5_11.1 (%impl.elem0.11f) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %assoc1: %J.assoc_type = assoc_entity element1, %F.decl [concrete = constants.%assoc1] // CHECK:STDOUT: @@ -2357,7 +2357,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @J.impl: %Self.ref as %.loc9_20 { -// CHECK:STDOUT: %F.decl.loc24_21.1: %F.type.b842fd.1 = fn_decl @F.2 [concrete = constants.%F.b07d12.1] { +// CHECK:STDOUT: %F.decl.loc24_21.1: %F.type.b842fd.1 = fn_decl @F.loc24_21.1 [concrete = constants.%F.b07d12.1] { // CHECK:STDOUT: %u.patt: = binding_pattern u [concrete] // CHECK:STDOUT: %u.param_patt: = value_param_pattern %u.patt, call_param0 [concrete] // CHECK:STDOUT: %return.patt: = return_slot_pattern [concrete] @@ -2374,7 +2374,7 @@ fn F() { // CHECK:STDOUT: %return.param: ref = out_param call_param1 // CHECK:STDOUT: %return: ref = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %F.decl.loc24_21.2: %F.type.b842fd.2 = fn_decl @F.3 [concrete = constants.%F.b07d12.2] { +// CHECK:STDOUT: %F.decl.loc24_21.2: %F.type.b842fd.2 = fn_decl @F.loc24_21.2 [concrete = constants.%F.b07d12.2] { // CHECK:STDOUT: %u.patt: %pattern_type.7ce = binding_pattern u [concrete] // CHECK:STDOUT: %u.param_patt: %pattern_type.7ce = value_param_pattern %u.patt, call_param0 [concrete] // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] @@ -2422,22 +2422,22 @@ fn F() { // CHECK:STDOUT: extend @J.impl.%.loc9_20 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.1(@J.%Self: %J.type) { +// CHECK:STDOUT: generic fn @F.loc5(@J.%Self: %J.type) { // CHECK:STDOUT: %Self: %J.type = bind_symbolic_name Self, 0 [symbolic = %Self (constants.%Self.ccd)] // CHECK:STDOUT: %J.lookup_impl_witness: = lookup_impl_witness %Self, @J [symbolic = %J.lookup_impl_witness (constants.%J.lookup_impl_witness.646)] // CHECK:STDOUT: %impl.elem0.loc5_11.1: type = impl_witness_access %J.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc5_11.1 (constants.%impl.elem0.11f)] // CHECK:STDOUT: %pattern_type: type = pattern_type %impl.elem0.loc5_11.1 [symbolic = %pattern_type (constants.%pattern_type.b98)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%u.param: @F.1.%impl.elem0.loc5_11.1 (%impl.elem0.11f)) -> @F.1.%impl.elem0.loc5_11.1 (%impl.elem0.11f); +// CHECK:STDOUT: fn(%u.param: @F.loc5.%impl.elem0.loc5_11.1 (%impl.elem0.11f)) -> @F.loc5.%impl.elem0.loc5_11.1 (%impl.elem0.11f); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2(%u.param: ) -> { +// CHECK:STDOUT: fn @F.loc24_21.1(%u.param: ) -> { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %u.ref: = name_ref u, %u // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.3(%u.param: %i32) -> %i32 [thunk @J.impl.%F.decl.loc24_21.1] { +// CHECK:STDOUT: fn @F.loc24_21.2(%u.param: %i32) -> %i32 [thunk @J.impl.%F.decl.loc24_21.1] { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %F.ref: %F.type.b842fd.1 = name_ref F, @J.impl.%F.decl.loc24_21.1 [concrete = constants.%F.b07d12.1] // CHECK:STDOUT: %u.ref: %i32 = name_ref u, %u.param @@ -2450,7 +2450,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: specific @U(constants.%J.facet.521) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%Self.ccd) { +// CHECK:STDOUT: specific @F.loc5(constants.%Self.ccd) { // CHECK:STDOUT: %Self => constants.%Self.ccd // CHECK:STDOUT: %J.lookup_impl_witness => constants.%J.lookup_impl_witness.646 // CHECK:STDOUT: %impl.elem0.loc5_11.1 => constants.%impl.elem0.11f @@ -2459,7 +2459,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: specific @U(constants.%J.facet.330) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%J.facet.f43) { +// CHECK:STDOUT: specific @F.loc5(constants.%J.facet.f43) { // CHECK:STDOUT: %Self => constants.%J.facet.f43 // CHECK:STDOUT: %J.lookup_impl_witness => constants.%J.impl_witness // CHECK:STDOUT: %impl.elem0.loc5_11.1 => constants.%i32 @@ -2475,7 +2475,7 @@ fn F() { // CHECK:STDOUT: %assoc0: %J2.assoc_type = assoc_entity element0, @J2.%U2 [concrete] // CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self [symbolic] // CHECK:STDOUT: %pattern_type.969: type = pattern_type %Self.as_type [symbolic] -// CHECK:STDOUT: %F.type.c41: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.c41: type = fn_type @F.loc19 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %F.932: %F.type.c41 = struct_value () [concrete] // CHECK:STDOUT: %assoc1: %J2.assoc_type = assoc_entity element1, @J2.%F.decl [concrete] @@ -2489,20 +2489,20 @@ fn F() { // CHECK:STDOUT: %J2.impl_witness.6a9: = impl_witness file.%J2.impl_witness_table.loc22 [concrete] // CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] // CHECK:STDOUT: %pattern_type.a96: type = pattern_type %empty_struct_type [concrete] -// CHECK:STDOUT: %F.type.f405c5.1: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.f405c5.1: type = fn_type @F.loc30_33.1 [concrete] // CHECK:STDOUT: %F.214a71.1: %F.type.f405c5.1 = struct_value () [concrete] // CHECK:STDOUT: %J2.facet.86f: %J2.type = facet_value %empty_tuple.type, (%J2.impl_witness.6a9) [concrete] -// CHECK:STDOUT: %F.type.f405c5.2: type = fn_type @F.3 [concrete] +// CHECK:STDOUT: %F.type.f405c5.2: type = fn_type @F.loc30_33.2 [concrete] // CHECK:STDOUT: %F.214a71.2: %F.type.f405c5.2 = struct_value () [concrete] // CHECK:STDOUT: %C2: type = class_type @C2 [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %J2_where.type.df9: type = facet_type <@J2 where %impl.elem0 = %C2> [concrete] // CHECK:STDOUT: %J2.impl_witness.267: = impl_witness file.%J2.impl_witness_table.loc38 [concrete] // CHECK:STDOUT: %pattern_type.838: type = pattern_type %C2 [concrete] -// CHECK:STDOUT: %F.type.05d6a0.1: type = fn_type @F.4 [concrete] +// CHECK:STDOUT: %F.type.05d6a0.1: type = fn_type @F.loc39_33.1 [concrete] // CHECK:STDOUT: %F.bfa759.1: %F.type.05d6a0.1 = struct_value () [concrete] // CHECK:STDOUT: %J2.facet.c3f: %J2.type = facet_value %C2, (%J2.impl_witness.267) [concrete] -// CHECK:STDOUT: %F.type.05d6a0.2: type = fn_type @F.5 [concrete] +// CHECK:STDOUT: %F.type.05d6a0.2: type = fn_type @F.loc39_33.2 [concrete] // CHECK:STDOUT: %F.bfa759.2: %F.type.05d6a0.2 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -2565,22 +2565,22 @@ fn F() { // CHECK:STDOUT: %U2: type = assoc_const_decl @U2 [concrete] { // CHECK:STDOUT: %assoc0: %J2.assoc_type = assoc_entity element0, @J2.%U2 [concrete = constants.%assoc0] // CHECK:STDOUT: } -// CHECK:STDOUT: %F.decl: %F.type.c41 = fn_decl @F.1 [concrete = constants.%F.932] { -// CHECK:STDOUT: %self.patt: @F.1.%pattern_type (%pattern_type.969) = binding_pattern self [concrete] -// CHECK:STDOUT: %self.param_patt: @F.1.%pattern_type (%pattern_type.969) = value_param_pattern %self.patt, call_param0 [concrete] +// CHECK:STDOUT: %F.decl: %F.type.c41 = fn_decl @F.loc19 [concrete = constants.%F.932] { +// CHECK:STDOUT: %self.patt: @F.loc19.%pattern_type (%pattern_type.969) = binding_pattern self [concrete] +// CHECK:STDOUT: %self.param_patt: @F.loc19.%pattern_type (%pattern_type.969) = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %z.patt: = binding_pattern z [concrete] // CHECK:STDOUT: %z.param_patt: = value_param_pattern %z.patt, call_param1 [concrete] // CHECK:STDOUT: %return.patt: = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref.loc19_35: %J2.type = name_ref Self, @J2.%Self [symbolic = %Self (constants.%Self)] -// CHECK:STDOUT: %self.param: @F.1.%Self.as_type.loc19_14.1 (%Self.as_type) = value_param call_param0 +// CHECK:STDOUT: %self.param: @F.loc19.%Self.as_type.loc19_14.1 (%Self.as_type) = value_param call_param0 // CHECK:STDOUT: %.loc19_14.1: type = splice_block %.loc19_14.2 [symbolic = %Self.as_type.loc19_14.1 (constants.%Self.as_type)] { // CHECK:STDOUT: %Self.ref.loc19_14: %J2.type = name_ref Self, @J2.%Self [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %Self.as_type.loc19_14.2: type = facet_access_type %Self.ref.loc19_14 [symbolic = %Self.as_type.loc19_14.1 (constants.%Self.as_type)] // CHECK:STDOUT: %.loc19_14.2: type = converted %Self.ref.loc19_14, %Self.as_type.loc19_14.2 [symbolic = %Self.as_type.loc19_14.1 (constants.%Self.as_type)] // CHECK:STDOUT: } -// CHECK:STDOUT: %self: @F.1.%Self.as_type.loc19_14.1 (%Self.as_type) = bind_name self, %self.param +// CHECK:STDOUT: %self: @F.loc19.%Self.as_type.loc19_14.1 (%Self.as_type) = bind_name self, %self.param // CHECK:STDOUT: %z.param: = value_param call_param1 // CHECK:STDOUT: %Self.ref.loc19_23: %J2.type = name_ref Self, @J2.%Self [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %z: = bind_name z, %z.param @@ -2601,7 +2601,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @J2.impl.4e9: %.loc22_7.2 as %.loc22_15 { -// CHECK:STDOUT: %F.decl.loc30_33.1: %F.type.f405c5.1 = fn_decl @F.2 [concrete = constants.%F.214a71.1] { +// CHECK:STDOUT: %F.decl.loc30_33.1: %F.type.f405c5.1 = fn_decl @F.loc30_33.1 [concrete = constants.%F.214a71.1] { // CHECK:STDOUT: %self.patt: %pattern_type.cb1 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.cb1 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %z.patt: %pattern_type.a96 = binding_pattern z [concrete] @@ -2623,7 +2623,7 @@ fn F() { // CHECK:STDOUT: %return.param: ref %empty_struct_type = out_param call_param2 // CHECK:STDOUT: %return: ref %empty_struct_type = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %F.decl.loc30_33.2: %F.type.f405c5.2 = fn_decl @F.3 [concrete = constants.%F.214a71.2] { +// CHECK:STDOUT: %F.decl.loc30_33.2: %F.type.f405c5.2 = fn_decl @F.loc30_33.2 [concrete = constants.%F.214a71.2] { // CHECK:STDOUT: %self.patt: %pattern_type.cb1 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.cb1 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %.param_patt: = value_param_pattern , call_param1 [concrete] @@ -2643,7 +2643,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @J2.impl.8b3: %C2.ref.loc38_6 as %.loc38_15 { -// CHECK:STDOUT: %F.decl.loc39_33.1: %F.type.05d6a0.1 = fn_decl @F.4 [concrete = constants.%F.bfa759.1] { +// CHECK:STDOUT: %F.decl.loc39_33.1: %F.type.05d6a0.1 = fn_decl @F.loc39_33.1 [concrete = constants.%F.bfa759.1] { // CHECK:STDOUT: %self.patt: %pattern_type.838 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.838 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %z.patt: %pattern_type.838 = binding_pattern z [concrete] @@ -2661,7 +2661,7 @@ fn F() { // CHECK:STDOUT: %return.param: ref %C2 = out_param call_param2 // CHECK:STDOUT: %return: ref %C2 = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %F.decl.loc39_33.2: %F.type.05d6a0.2 = fn_decl @F.5 [concrete = constants.%F.bfa759.2] { +// CHECK:STDOUT: %F.decl.loc39_33.2: %F.type.05d6a0.2 = fn_decl @F.loc39_33.2 [concrete = constants.%F.bfa759.2] { // CHECK:STDOUT: %self.patt: %pattern_type.838 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.838 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %.param_patt: = value_param_pattern , call_param1 [concrete] @@ -2692,21 +2692,21 @@ fn F() { // CHECK:STDOUT: .Self = constants.%C2 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.1(@J2.%Self: %J2.type) { +// CHECK:STDOUT: generic fn @F.loc19(@J2.%Self: %J2.type) { // CHECK:STDOUT: %Self: %J2.type = bind_symbolic_name Self, 0 [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %Self.as_type.loc19_14.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc19_14.1 (constants.%Self.as_type)] // CHECK:STDOUT: %pattern_type: type = pattern_type %Self.as_type.loc19_14.1 [symbolic = %pattern_type (constants.%pattern_type.969)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%self.param: @F.1.%Self.as_type.loc19_14.1 (%Self.as_type), %z.param: ) -> ; +// CHECK:STDOUT: fn(%self.param: @F.loc19.%Self.as_type.loc19_14.1 (%Self.as_type), %z.param: ) -> ; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2(%self.param: %empty_tuple.type, %z.param: %empty_struct_type) -> %empty_struct_type { +// CHECK:STDOUT: fn @F.loc30_33.1(%self.param: %empty_tuple.type, %z.param: %empty_struct_type) -> %empty_struct_type { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %z.ref: %empty_struct_type = name_ref z, %z // CHECK:STDOUT: return %z.ref // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.3(%self.param: %empty_tuple.type, %.param: ) -> [thunk @J2.impl.4e9.%F.decl.loc30_33.1] { +// CHECK:STDOUT: fn @F.loc30_33.2(%self.param: %empty_tuple.type, %.param: ) -> [thunk @J2.impl.4e9.%F.decl.loc30_33.1] { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %F.ref: %F.type.f405c5.1 = name_ref F, @J2.impl.4e9.%F.decl.loc30_33.1 [concrete = constants.%F.214a71.1] // CHECK:STDOUT: %self.ref: %empty_tuple.type = name_ref self, %self.param @@ -2715,13 +2715,13 @@ fn F() { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.4(%self.param: %C2, %z.param: %C2) -> %C2 { +// CHECK:STDOUT: fn @F.loc39_33.1(%self.param: %C2, %z.param: %C2) -> %C2 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %self.ref: %C2 = name_ref self, %self // CHECK:STDOUT: return %self.ref // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.5(%self.param: %C2, %.param: ) -> [thunk @J2.impl.8b3.%F.decl.loc39_33.1] { +// CHECK:STDOUT: fn @F.loc39_33.2(%self.param: %C2, %.param: ) -> [thunk @J2.impl.8b3.%F.decl.loc39_33.1] { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %F.ref: %F.type.05d6a0.1 = name_ref F, @J2.impl.8b3.%F.decl.loc39_33.1 [concrete = constants.%F.bfa759.1] // CHECK:STDOUT: %self.ref: %C2 = name_ref self, %self.param @@ -2734,7 +2734,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: specific @U2(constants.%Self) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%Self) { +// CHECK:STDOUT: specific @F.loc19(constants.%Self) { // CHECK:STDOUT: %Self => constants.%Self // CHECK:STDOUT: %Self.as_type.loc19_14.1 => constants.%Self.as_type // CHECK:STDOUT: %pattern_type => constants.%pattern_type.969 @@ -2742,13 +2742,13 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: specific @U2(constants.%J2.facet.e30) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%J2.facet.86f) { +// CHECK:STDOUT: specific @F.loc19(constants.%J2.facet.86f) { // CHECK:STDOUT: %Self => constants.%J2.facet.86f // CHECK:STDOUT: %Self.as_type.loc19_14.1 => constants.%empty_tuple.type // CHECK:STDOUT: %pattern_type => constants.%pattern_type.cb1 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%J2.facet.c3f) { +// CHECK:STDOUT: specific @F.loc19(constants.%J2.facet.c3f) { // CHECK:STDOUT: %Self => constants.%J2.facet.c3f // CHECK:STDOUT: %Self.as_type.loc19_14.1 => constants.%C2 // CHECK:STDOUT: %pattern_type => constants.%pattern_type.838 @@ -2767,7 +2767,7 @@ fn F() { // CHECK:STDOUT: %K.facet.589: %K.type = facet_value %Self.as_type, (%K.lookup_impl_witness.da8) [symbolic] // CHECK:STDOUT: %impl.elem0.75d: type = impl_witness_access %K.lookup_impl_witness.da8, element0 [symbolic] // CHECK:STDOUT: %pattern_type.6c7: type = pattern_type %impl.elem0.75d [symbolic] -// CHECK:STDOUT: %F.type.cf5: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.cf5: type = fn_type @F.loc5 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %F.06b: %F.type.cf5 = struct_value () [concrete] // CHECK:STDOUT: %assoc1: %K.assoc_type = assoc_entity element1, @K.%F.decl [concrete] @@ -2782,11 +2782,11 @@ fn F() { // CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] // CHECK:STDOUT: %pattern_type.414: type = pattern_type %struct_type.x [concrete] -// CHECK:STDOUT: %F.type.c5249c.1: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.c5249c.1: type = fn_type @F.loc16_45.1 [concrete] // CHECK:STDOUT: %F.5eb4dd.1: %F.type.c5249c.1 = struct_value () [concrete] // CHECK:STDOUT: %K.facet.e32: %K.type = facet_value %empty_tuple.type, (%K.impl_witness) [concrete] // CHECK:STDOUT: %pattern_type.e85: type = pattern_type %struct_type.a [concrete] -// CHECK:STDOUT: %F.type.c5249c.2: type = fn_type @F.3 [concrete] +// CHECK:STDOUT: %F.type.c5249c.2: type = fn_type @F.loc16_45.2 [concrete] // CHECK:STDOUT: %F.5eb4dd.2: %F.type.c5249c.2 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -2831,31 +2831,31 @@ fn F() { // CHECK:STDOUT: %V: type = assoc_const_decl @V [concrete] { // CHECK:STDOUT: %assoc0: %K.assoc_type = assoc_entity element0, @K.%V [concrete = constants.%assoc0] // CHECK:STDOUT: } -// CHECK:STDOUT: %F.decl: %F.type.cf5 = fn_decl @F.1 [concrete = constants.%F.06b] { -// CHECK:STDOUT: %self.patt: @F.1.%pattern_type.loc5_8 (%pattern_type.ca1) = binding_pattern self [concrete] -// CHECK:STDOUT: %self.param_patt: @F.1.%pattern_type.loc5_8 (%pattern_type.ca1) = value_param_pattern %self.patt, call_param0 [concrete] -// CHECK:STDOUT: %v.patt: @F.1.%pattern_type.loc5_20 (%pattern_type.6c7) = binding_pattern v [concrete] -// CHECK:STDOUT: %v.param_patt: @F.1.%pattern_type.loc5_20 (%pattern_type.6c7) = value_param_pattern %v.patt, call_param1 [concrete] -// CHECK:STDOUT: %return.patt: @F.1.%pattern_type.loc5_20 (%pattern_type.6c7) = return_slot_pattern [concrete] -// CHECK:STDOUT: %return.param_patt: @F.1.%pattern_type.loc5_20 (%pattern_type.6c7) = out_param_pattern %return.patt, call_param2 [concrete] +// CHECK:STDOUT: %F.decl: %F.type.cf5 = fn_decl @F.loc5 [concrete = constants.%F.06b] { +// CHECK:STDOUT: %self.patt: @F.loc5.%pattern_type.loc5_8 (%pattern_type.ca1) = binding_pattern self [concrete] +// CHECK:STDOUT: %self.param_patt: @F.loc5.%pattern_type.loc5_8 (%pattern_type.ca1) = value_param_pattern %self.patt, call_param0 [concrete] +// CHECK:STDOUT: %v.patt: @F.loc5.%pattern_type.loc5_20 (%pattern_type.6c7) = binding_pattern v [concrete] +// CHECK:STDOUT: %v.param_patt: @F.loc5.%pattern_type.loc5_20 (%pattern_type.6c7) = value_param_pattern %v.patt, call_param1 [concrete] +// CHECK:STDOUT: %return.patt: @F.loc5.%pattern_type.loc5_20 (%pattern_type.6c7) = return_slot_pattern [concrete] +// CHECK:STDOUT: %return.param_patt: @F.loc5.%pattern_type.loc5_20 (%pattern_type.6c7) = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %impl.elem0.loc5_29: type = impl_witness_access constants.%K.lookup_impl_witness.da8, element0 [symbolic = %impl.elem0.loc5_23.1 (constants.%impl.elem0.75d)] // CHECK:STDOUT: %V.ref.loc5_29: type = name_ref V, %impl.elem0.loc5_29 [symbolic = %impl.elem0.loc5_23.1 (constants.%impl.elem0.75d)] -// CHECK:STDOUT: %self.param: @F.1.%Self.as_type.loc5_14.1 (%Self.as_type) = value_param call_param0 +// CHECK:STDOUT: %self.param: @F.loc5.%Self.as_type.loc5_14.1 (%Self.as_type) = value_param call_param0 // CHECK:STDOUT: %.loc5_14.1: type = splice_block %.loc5_14.2 [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type)] { // CHECK:STDOUT: %Self.ref: %K.type = name_ref Self, @K.%Self [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %Self.as_type.loc5_14.2: type = facet_access_type %Self.ref [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type)] // CHECK:STDOUT: %.loc5_14.2: type = converted %Self.ref, %Self.as_type.loc5_14.2 [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type)] // CHECK:STDOUT: } -// CHECK:STDOUT: %self: @F.1.%Self.as_type.loc5_14.1 (%Self.as_type) = bind_name self, %self.param -// CHECK:STDOUT: %v.param: @F.1.%impl.elem0.loc5_23.1 (%impl.elem0.75d) = value_param call_param1 +// CHECK:STDOUT: %self: @F.loc5.%Self.as_type.loc5_14.1 (%Self.as_type) = bind_name self, %self.param +// CHECK:STDOUT: %v.param: @F.loc5.%impl.elem0.loc5_23.1 (%impl.elem0.75d) = value_param call_param1 // CHECK:STDOUT: %.loc5_23: type = splice_block %V.ref.loc5_23 [symbolic = %impl.elem0.loc5_23.1 (constants.%impl.elem0.75d)] { // CHECK:STDOUT: %impl.elem0.loc5_23.2: type = impl_witness_access constants.%K.lookup_impl_witness.da8, element0 [symbolic = %impl.elem0.loc5_23.1 (constants.%impl.elem0.75d)] // CHECK:STDOUT: %V.ref.loc5_23: type = name_ref V, %impl.elem0.loc5_23.2 [symbolic = %impl.elem0.loc5_23.1 (constants.%impl.elem0.75d)] // CHECK:STDOUT: } -// CHECK:STDOUT: %v: @F.1.%impl.elem0.loc5_23.1 (%impl.elem0.75d) = bind_name v, %v.param -// CHECK:STDOUT: %return.param: ref @F.1.%impl.elem0.loc5_23.1 (%impl.elem0.75d) = out_param call_param2 -// CHECK:STDOUT: %return: ref @F.1.%impl.elem0.loc5_23.1 (%impl.elem0.75d) = return_slot %return.param +// CHECK:STDOUT: %v: @F.loc5.%impl.elem0.loc5_23.1 (%impl.elem0.75d) = bind_name v, %v.param +// CHECK:STDOUT: %return.param: ref @F.loc5.%impl.elem0.loc5_23.1 (%impl.elem0.75d) = out_param call_param2 +// CHECK:STDOUT: %return: ref @F.loc5.%impl.elem0.loc5_23.1 (%impl.elem0.75d) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %assoc1: %K.assoc_type = assoc_entity element1, %F.decl [concrete = constants.%assoc1] // CHECK:STDOUT: @@ -2871,7 +2871,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @K.impl: %.loc8_7.2 as %.loc8_14 { -// CHECK:STDOUT: %F.decl.loc16_45.1: %F.type.c5249c.1 = fn_decl @F.2 [concrete = constants.%F.5eb4dd.1] { +// CHECK:STDOUT: %F.decl.loc16_45.1: %F.type.c5249c.1 = fn_decl @F.loc16_45.1 [concrete = constants.%F.5eb4dd.1] { // CHECK:STDOUT: %self.patt: %pattern_type.cb1 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.cb1 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %v.patt: %pattern_type.414 = binding_pattern v [concrete] @@ -2895,7 +2895,7 @@ fn F() { // CHECK:STDOUT: %return.param: ref %struct_type.x = out_param call_param2 // CHECK:STDOUT: %return: ref %struct_type.x = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %F.decl.loc16_45.2: %F.type.c5249c.2 = fn_decl @F.3 [concrete = constants.%F.5eb4dd.2] { +// CHECK:STDOUT: %F.decl.loc16_45.2: %F.type.c5249c.2 = fn_decl @F.loc16_45.2 [concrete = constants.%F.5eb4dd.2] { // CHECK:STDOUT: %self.patt: %pattern_type.cb1 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.cb1 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %v.patt: %pattern_type.e85 = binding_pattern v [concrete] @@ -2916,7 +2916,7 @@ fn F() { // CHECK:STDOUT: witness = file.%K.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.1(@K.%Self: %K.type) { +// CHECK:STDOUT: generic fn @F.loc5(@K.%Self: %K.type) { // CHECK:STDOUT: %Self: %K.type = bind_symbolic_name Self, 0 [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %Self.as_type.loc5_14.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type)] // CHECK:STDOUT: %pattern_type.loc5_8: type = pattern_type %Self.as_type.loc5_14.1 [symbolic = %pattern_type.loc5_8 (constants.%pattern_type.ca1)] @@ -2924,16 +2924,16 @@ fn F() { // CHECK:STDOUT: %impl.elem0.loc5_23.1: type = impl_witness_access %K.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc5_23.1 (constants.%impl.elem0.75d)] // CHECK:STDOUT: %pattern_type.loc5_20: type = pattern_type %impl.elem0.loc5_23.1 [symbolic = %pattern_type.loc5_20 (constants.%pattern_type.6c7)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%self.param: @F.1.%Self.as_type.loc5_14.1 (%Self.as_type), %v.param: @F.1.%impl.elem0.loc5_23.1 (%impl.elem0.75d)) -> @F.1.%impl.elem0.loc5_23.1 (%impl.elem0.75d); +// CHECK:STDOUT: fn(%self.param: @F.loc5.%Self.as_type.loc5_14.1 (%Self.as_type), %v.param: @F.loc5.%impl.elem0.loc5_23.1 (%impl.elem0.75d)) -> @F.loc5.%impl.elem0.loc5_23.1 (%impl.elem0.75d); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2(%self.param: %empty_tuple.type, %v.param: %struct_type.x) -> %struct_type.x { +// CHECK:STDOUT: fn @F.loc16_45.1(%self.param: %empty_tuple.type, %v.param: %struct_type.x) -> %struct_type.x { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %v.ref: %struct_type.x = name_ref v, %v // CHECK:STDOUT: return %v.ref // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.3(%self.param: %empty_tuple.type, %v.param: %struct_type.a) -> %struct_type.a [thunk @K.impl.%F.decl.loc16_45.1] { +// CHECK:STDOUT: fn @F.loc16_45.2(%self.param: %empty_tuple.type, %v.param: %struct_type.a) -> %struct_type.a [thunk @K.impl.%F.decl.loc16_45.1] { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %F.ref: %F.type.c5249c.1 = name_ref F, @K.impl.%F.decl.loc16_45.1 [concrete = constants.%F.5eb4dd.1] // CHECK:STDOUT: %self.ref: %empty_tuple.type = name_ref self, %self.param @@ -2946,7 +2946,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: specific @V(constants.%K.facet.589) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%Self) { +// CHECK:STDOUT: specific @F.loc5(constants.%Self) { // CHECK:STDOUT: %Self => constants.%Self // CHECK:STDOUT: %Self.as_type.loc5_14.1 => constants.%Self.as_type // CHECK:STDOUT: %pattern_type.loc5_8 => constants.%pattern_type.ca1 @@ -2957,7 +2957,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: specific @V(constants.%K.facet.b09) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%K.facet.e32) { +// CHECK:STDOUT: specific @F.loc5(constants.%K.facet.e32) { // CHECK:STDOUT: %Self => constants.%K.facet.e32 // CHECK:STDOUT: %Self.as_type.loc5_14.1 => constants.%empty_tuple.type // CHECK:STDOUT: %pattern_type.loc5_8 => constants.%pattern_type.cb1 @@ -2977,7 +2977,7 @@ fn F() { // CHECK:STDOUT: %M.assoc_type: type = assoc_entity_type @M [concrete] // CHECK:STDOUT: %assoc0: %M.assoc_type = assoc_entity element0, @M.%Z [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_struct_type [concrete] -// CHECK:STDOUT: %G.type.020: type = fn_type @G.1 [concrete] +// CHECK:STDOUT: %G.type.020: type = fn_type @G.loc5 [concrete] // CHECK:STDOUT: %G.91c: %G.type.020 = struct_value () [concrete] // CHECK:STDOUT: %assoc1: %M.assoc_type = assoc_entity element1, @M.%G.decl [concrete] // CHECK:STDOUT: %.Self: %M.type = bind_symbolic_name .Self [symbolic_self] @@ -2989,7 +2989,7 @@ fn F() { // CHECK:STDOUT: %struct: %struct_type.b.347 = struct_value (%empty_struct) [concrete] // CHECK:STDOUT: %M_where.type: type = facet_type <@M where %impl.elem0 = %struct> [concrete] // CHECK:STDOUT: %M.impl_witness: = impl_witness file.%M.impl_witness_table [concrete] -// CHECK:STDOUT: %G.type.8d1: type = fn_type @G.2 [concrete] +// CHECK:STDOUT: %G.type.8d1: type = fn_type @G.loc9 [concrete] // CHECK:STDOUT: %G.bb3: %G.type.8d1 = struct_value () [concrete] // CHECK:STDOUT: %M.facet.56b: %M.type = facet_value %empty_tuple.type, (%M.impl_witness) [concrete] // CHECK:STDOUT: } @@ -3038,7 +3038,7 @@ fn F() { // CHECK:STDOUT: %Z: %struct_type.b.347 = assoc_const_decl @Z [concrete] { // CHECK:STDOUT: %assoc0: %M.assoc_type = assoc_entity element0, @M.%Z [concrete = constants.%assoc0] // CHECK:STDOUT: } -// CHECK:STDOUT: %G.decl: %G.type.020 = fn_decl @G.1 [concrete = constants.%G.91c] { +// CHECK:STDOUT: %G.decl: %G.type.020 = fn_decl @G.loc5 [concrete = constants.%G.91c] { // CHECK:STDOUT: %return.patt: %pattern_type = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -3061,7 +3061,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @M.impl: %.loc8_7.2 as %.loc8_14 { -// CHECK:STDOUT: %G.decl: %G.type.8d1 = fn_decl @G.2 [concrete = constants.%G.bb3] { +// CHECK:STDOUT: %G.decl: %G.type.8d1 = fn_decl @G.loc9 [concrete = constants.%G.bb3] { // CHECK:STDOUT: %return.patt: %pattern_type = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -3077,11 +3077,11 @@ fn F() { // CHECK:STDOUT: witness = file.%M.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @G.1(@M.%Self: %M.type) { +// CHECK:STDOUT: generic fn @G.loc5(@M.%Self: %M.type) { // CHECK:STDOUT: fn() -> %empty_struct_type; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @G.2() -> %empty_struct_type { +// CHECK:STDOUT: fn @G.loc9() -> %empty_struct_type { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %Self.ref: type = name_ref Self, @M.impl.%.loc8_7.2 [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %M.ref: type = name_ref M, file.%M.decl [concrete = constants.%M.type] @@ -3097,11 +3097,11 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: specific @Z(constants.%Self) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @G.1(constants.%Self) {} +// CHECK:STDOUT: specific @G.loc5(constants.%Self) {} // CHECK:STDOUT: // CHECK:STDOUT: specific @Z(constants.%M.facet.caa) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @G.1(constants.%M.facet.56b) {} +// CHECK:STDOUT: specific @G.loc5(constants.%M.facet.56b) {} // CHECK:STDOUT: // CHECK:STDOUT: specific @Z(constants.%M.facet.56b) {} // CHECK:STDOUT: @@ -3121,7 +3121,7 @@ fn F() { // CHECK:STDOUT: %struct_type.b.86f: type = struct_type {.b: type} [concrete] // CHECK:STDOUT: %M.assoc_type: type = assoc_entity_type @M [concrete] // CHECK:STDOUT: %assoc0: %M.assoc_type = assoc_entity element0, @M.%Z [concrete] -// CHECK:STDOUT: %G.type.020: type = fn_type @G.1 [concrete] +// CHECK:STDOUT: %G.type.020: type = fn_type @G.loc7 [concrete] // CHECK:STDOUT: %G.91c: %G.type.020 = struct_value () [concrete] // CHECK:STDOUT: %assoc1: %M.assoc_type = assoc_entity element1, @M.%G.decl [concrete] // CHECK:STDOUT: %C.7a7: type = class_type @C, @C(%empty_struct_type) [concrete] @@ -3134,7 +3134,7 @@ fn F() { // CHECK:STDOUT: %struct.0f3: %struct_type.b.86f = struct_value (%empty_struct_type) [concrete] // CHECK:STDOUT: %M_where.type.d04: type = facet_type <@M where %impl.elem0 = %struct.0f3> [concrete] // CHECK:STDOUT: %M.impl_witness.baa: = impl_witness file.%M.impl_witness_table.loc10 [concrete] -// CHECK:STDOUT: %G.type.d92: type = fn_type @G.2 [concrete] +// CHECK:STDOUT: %G.type.d92: type = fn_type @G.loc11 [concrete] // CHECK:STDOUT: %G.eac: %G.type.d92 = struct_value () [concrete] // CHECK:STDOUT: %M.facet.1dc: %M.type = facet_value %C.7a7, (%M.impl_witness.baa) [concrete] // CHECK:STDOUT: %C.3a0: type = class_type @C, @C(%empty_tuple.type) [concrete] @@ -3142,7 +3142,7 @@ fn F() { // CHECK:STDOUT: %struct.c94: %struct_type.b.86f = struct_value (%empty_tuple.type) [concrete] // CHECK:STDOUT: %M_where.type.eda: type = facet_type <@M where %impl.elem0 = %struct.c94> [concrete] // CHECK:STDOUT: %M.impl_witness.feb: = impl_witness file.%M.impl_witness_table.loc16 [concrete] -// CHECK:STDOUT: %G.type.b29: type = fn_type @G.3 [concrete] +// CHECK:STDOUT: %G.type.b29: type = fn_type @G.loc17 [concrete] // CHECK:STDOUT: %G.f3b: %G.type.b29 = struct_value () [concrete] // CHECK:STDOUT: %M.facet.80d: %M.type = facet_value %C.3a0, (%M.impl_witness.feb) [concrete] // CHECK:STDOUT: } @@ -3222,7 +3222,7 @@ fn F() { // CHECK:STDOUT: %Z: %struct_type.b.86f = assoc_const_decl @Z [concrete] { // CHECK:STDOUT: %assoc0: %M.assoc_type = assoc_entity element0, @M.%Z [concrete = constants.%assoc0] // CHECK:STDOUT: } -// CHECK:STDOUT: %G.decl: %G.type.020 = fn_decl @G.1 [concrete = constants.%G.91c] { +// CHECK:STDOUT: %G.decl: %G.type.020 = fn_decl @G.loc7 [concrete = constants.%G.91c] { // CHECK:STDOUT: %return.patt: %pattern_type = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -3243,7 +3243,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @M.impl.8b4: %C as %.loc10_17 { -// CHECK:STDOUT: %G.decl: %G.type.d92 = fn_decl @G.2 [concrete = constants.%G.eac] { +// CHECK:STDOUT: %G.decl: %G.type.d92 = fn_decl @G.loc11 [concrete = constants.%G.eac] { // CHECK:STDOUT: %return.patt: %pattern_type = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -3258,7 +3258,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @M.impl.d97: %C as %.loc16_17 { -// CHECK:STDOUT: %G.decl: %G.type.b29 = fn_decl @G.3 [concrete = constants.%G.f3b] { +// CHECK:STDOUT: %G.decl: %G.type.b29 = fn_decl @G.loc17 [concrete = constants.%G.f3b] { // CHECK:STDOUT: %return.patt: %pattern_type = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -3287,11 +3287,11 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @G.1(@M.%Self: %M.type) { +// CHECK:STDOUT: generic fn @G.loc7(@M.%Self: %M.type) { // CHECK:STDOUT: fn() -> type; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @G.2() -> type { +// CHECK:STDOUT: fn @G.loc11() -> type { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %Self.ref: type = name_ref Self, @M.impl.8b4.%C [concrete = constants.%C.7a7] // CHECK:STDOUT: %M.ref: type = name_ref M, file.%M.decl [concrete = constants.%M.type] @@ -3305,7 +3305,7 @@ fn F() { // CHECK:STDOUT: return %.loc12_25 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @G.3() -> type { +// CHECK:STDOUT: fn @G.loc17() -> type { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %Self.ref: type = name_ref Self, @M.impl.d97.%C [concrete = constants.%C.3a0] // CHECK:STDOUT: %M.ref: type = name_ref M, file.%M.decl [concrete = constants.%M.type] @@ -3325,7 +3325,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: specific @Z(constants.%Self) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @G.1(constants.%Self) {} +// CHECK:STDOUT: specific @G.loc7(constants.%Self) {} // CHECK:STDOUT: // CHECK:STDOUT: specific @C(constants.%empty_struct_type) { // CHECK:STDOUT: %T.loc3_9.2 => constants.%empty_struct_type @@ -3333,7 +3333,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: specific @Z(constants.%M.facet.caa) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @G.1(constants.%M.facet.1dc) {} +// CHECK:STDOUT: specific @G.loc7(constants.%M.facet.1dc) {} // CHECK:STDOUT: // CHECK:STDOUT: specific @Z(constants.%M.facet.1dc) {} // CHECK:STDOUT: @@ -3341,7 +3341,7 @@ fn F() { // CHECK:STDOUT: %T.loc3_9.2 => constants.%empty_tuple.type // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @G.1(constants.%M.facet.80d) {} +// CHECK:STDOUT: specific @G.loc7(constants.%M.facet.80d) {} // CHECK:STDOUT: // CHECK:STDOUT: specific @Z(constants.%M.facet.80d) {} // CHECK:STDOUT: @@ -3385,7 +3385,7 @@ fn F() { // CHECK:STDOUT: %int.convert_checked: init Core.IntLiteral = call %bound_method.81c(%impl.elem0.fab) [symbolic] // CHECK:STDOUT: %array_type.377: type = array_type %int.convert_checked, bool [symbolic] // CHECK:STDOUT: %pattern_type.bc6: type = pattern_type %array_type.377 [symbolic] -// CHECK:STDOUT: %F.type.cf0: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.cf0: type = fn_type @F.loc5 [concrete] // CHECK:STDOUT: %F.bc6: %F.type.cf0 = struct_value () [concrete] // CHECK:STDOUT: %assoc1: %I.assoc_type = assoc_entity element1, @I.%F.decl [concrete] // CHECK:STDOUT: %.Self.258: %I.type = bind_symbolic_name .Self [symbolic_self] @@ -3410,7 +3410,7 @@ fn F() { // CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] // CHECK:STDOUT: %array_type.c9b: type = array_type %int_2.ecc, bool [concrete] // CHECK:STDOUT: %pattern_type.5d5: type = pattern_type %array_type.c9b [concrete] -// CHECK:STDOUT: %F.type.2c7: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.2c7: type = fn_type @F.loc9 [concrete] // CHECK:STDOUT: %F.0b4: %F.type.2c7 = struct_value () [concrete] // CHECK:STDOUT: %I.facet.85d: %I.type = facet_value %empty_tuple.type, (%I.impl_witness) [concrete] // CHECK:STDOUT: %Convert.bound.fbf: = bound_method %int_2.ef8, %Convert.960 [concrete] @@ -3479,11 +3479,11 @@ fn F() { // CHECK:STDOUT: %N: %i32 = assoc_const_decl @N [concrete] { // CHECK:STDOUT: %assoc0: %I.assoc_type = assoc_entity element0, @I.%N [concrete = constants.%assoc0.995] // CHECK:STDOUT: } -// CHECK:STDOUT: %F.decl: %F.type.cf0 = fn_decl @F.1 [concrete = constants.%F.bc6] { -// CHECK:STDOUT: %self.patt: @F.1.%pattern_type.loc5_8 (%pattern_type.6de) = binding_pattern self [concrete] -// CHECK:STDOUT: %self.param_patt: @F.1.%pattern_type.loc5_8 (%pattern_type.6de) = value_param_pattern %self.patt, call_param0 [concrete] -// CHECK:STDOUT: %return.patt: @F.1.%pattern_type.loc5_22 (%pattern_type.bc6) = return_slot_pattern [concrete] -// CHECK:STDOUT: %return.param_patt: @F.1.%pattern_type.loc5_22 (%pattern_type.bc6) = out_param_pattern %return.patt, call_param1 [concrete] +// CHECK:STDOUT: %F.decl: %F.type.cf0 = fn_decl @F.loc5 [concrete = constants.%F.bc6] { +// CHECK:STDOUT: %self.patt: @F.loc5.%pattern_type.loc5_8 (%pattern_type.6de) = binding_pattern self [concrete] +// CHECK:STDOUT: %self.param_patt: @F.loc5.%pattern_type.loc5_8 (%pattern_type.6de) = value_param_pattern %self.patt, call_param0 [concrete] +// CHECK:STDOUT: %return.patt: @F.loc5.%pattern_type.loc5_22 (%pattern_type.bc6) = return_slot_pattern [concrete] +// CHECK:STDOUT: %return.param_patt: @F.loc5.%pattern_type.loc5_22 (%pattern_type.bc6) = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [concrete = bool] // CHECK:STDOUT: %impl.elem0.loc5_37.2: %i32 = impl_witness_access constants.%I.lookup_impl_witness.5d6, element0 [symbolic = %impl.elem0.loc5_37.1 (constants.%impl.elem0.fab)] @@ -3498,15 +3498,15 @@ fn F() { // CHECK:STDOUT: %.loc5_37.1: Core.IntLiteral = value_of_initializer %int.convert_checked.loc5_37.2 [symbolic = %int.convert_checked.loc5_37.1 (constants.%int.convert_checked)] // CHECK:STDOUT: %.loc5_37.2: Core.IntLiteral = converted %N.ref, %.loc5_37.1 [symbolic = %int.convert_checked.loc5_37.1 (constants.%int.convert_checked)] // CHECK:STDOUT: %array_type.loc5_38.2: type = array_type %.loc5_37.2, %.loc5_31.2 [symbolic = %array_type.loc5_38.1 (constants.%array_type.377)] -// CHECK:STDOUT: %self.param: @F.1.%Self.as_type.loc5_14.1 (%Self.as_type.b70) = value_param call_param0 +// CHECK:STDOUT: %self.param: @F.loc5.%Self.as_type.loc5_14.1 (%Self.as_type.b70) = value_param call_param0 // CHECK:STDOUT: %.loc5_14.1: type = splice_block %.loc5_14.2 [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type.b70)] { // CHECK:STDOUT: %Self.ref: %I.type = name_ref Self, @I.%Self [symbolic = %Self (constants.%Self.826)] // CHECK:STDOUT: %Self.as_type.loc5_14.2: type = facet_access_type %Self.ref [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type.b70)] // CHECK:STDOUT: %.loc5_14.2: type = converted %Self.ref, %Self.as_type.loc5_14.2 [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type.b70)] // CHECK:STDOUT: } -// CHECK:STDOUT: %self: @F.1.%Self.as_type.loc5_14.1 (%Self.as_type.b70) = bind_name self, %self.param -// CHECK:STDOUT: %return.param: ref @F.1.%array_type.loc5_38.1 (%array_type.377) = out_param call_param1 -// CHECK:STDOUT: %return: ref @F.1.%array_type.loc5_38.1 (%array_type.377) = return_slot %return.param +// CHECK:STDOUT: %self: @F.loc5.%Self.as_type.loc5_14.1 (%Self.as_type.b70) = bind_name self, %self.param +// CHECK:STDOUT: %return.param: ref @F.loc5.%array_type.loc5_38.1 (%array_type.377) = out_param call_param1 +// CHECK:STDOUT: %return: ref @F.loc5.%array_type.loc5_38.1 (%array_type.377) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %assoc1: %I.assoc_type = assoc_entity element1, %F.decl [concrete = constants.%assoc1] // CHECK:STDOUT: @@ -3522,7 +3522,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @I.impl: %.loc8_7.2 as %.loc8_14 { -// CHECK:STDOUT: %F.decl: %F.type.2c7 = fn_decl @F.2 [concrete = constants.%F.0b4] { +// CHECK:STDOUT: %F.decl: %F.type.2c7 = fn_decl @F.loc9 [concrete = constants.%F.0b4] { // CHECK:STDOUT: %self.patt: %pattern_type.cb1 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.cb1 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %return.patt: %pattern_type.5d5 = return_slot_pattern [concrete] @@ -3545,7 +3545,7 @@ fn F() { // CHECK:STDOUT: witness = file.%I.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.1(@I.%Self: %I.type) { +// CHECK:STDOUT: generic fn @F.loc5(@I.%Self: %I.type) { // CHECK:STDOUT: %Self: %I.type = bind_symbolic_name Self, 0 [symbolic = %Self (constants.%Self.826)] // CHECK:STDOUT: %Self.as_type.loc5_14.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type.b70)] // CHECK:STDOUT: %pattern_type.loc5_8: type = pattern_type %Self.as_type.loc5_14.1 [symbolic = %pattern_type.loc5_8 (constants.%pattern_type.6de)] @@ -3557,10 +3557,10 @@ fn F() { // CHECK:STDOUT: %array_type.loc5_38.1: type = array_type %int.convert_checked.loc5_37.1, bool [symbolic = %array_type.loc5_38.1 (constants.%array_type.377)] // CHECK:STDOUT: %pattern_type.loc5_22: type = pattern_type %array_type.loc5_38.1 [symbolic = %pattern_type.loc5_22 (constants.%pattern_type.bc6)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%self.param: @F.1.%Self.as_type.loc5_14.1 (%Self.as_type.b70)) -> @F.1.%array_type.loc5_38.1 (%array_type.377); +// CHECK:STDOUT: fn(%self.param: @F.loc5.%Self.as_type.loc5_14.1 (%Self.as_type.b70)) -> @F.loc5.%array_type.loc5_38.1 (%array_type.377); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2(%self.param: %empty_tuple.type) -> %return.param: %array_type.c9b { +// CHECK:STDOUT: fn @F.loc9(%self.param: %empty_tuple.type) -> %return.param: %array_type.c9b { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %true: bool = bool_literal true [concrete = constants.%true] // CHECK:STDOUT: %false: bool = bool_literal false [concrete = constants.%false] @@ -3580,7 +3580,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: specific @N(constants.%I.facet.93d) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%Self.826) { +// CHECK:STDOUT: specific @F.loc5(constants.%Self.826) { // CHECK:STDOUT: %Self => constants.%Self.826 // CHECK:STDOUT: %Self.as_type.loc5_14.1 => constants.%Self.as_type.b70 // CHECK:STDOUT: %pattern_type.loc5_8 => constants.%pattern_type.6de @@ -3595,7 +3595,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: specific @N(constants.%I.facet.74c) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%I.facet.85d) { +// CHECK:STDOUT: specific @F.loc5(constants.%I.facet.85d) { // CHECK:STDOUT: %Self => constants.%I.facet.85d // CHECK:STDOUT: %Self.as_type.loc5_14.1 => constants.%empty_tuple.type // CHECK:STDOUT: %pattern_type.loc5_8 => constants.%pattern_type.cb1 diff --git a/toolchain/check/testdata/interface/compound_member_access.carbon b/toolchain/check/testdata/interface/compound_member_access.carbon index 5b94eb072226..e1108a655ef3 100644 --- a/toolchain/check/testdata/interface/compound_member_access.carbon +++ b/toolchain/check/testdata/interface/compound_member_access.carbon @@ -1204,7 +1204,7 @@ fn Works() { // CHECK:STDOUT: constants { // CHECK:STDOUT: %A.type: type = facet_type <@A> [concrete] // CHECK:STDOUT: %Self.31d: %A.type = bind_symbolic_name Self, 0 [symbolic] -// CHECK:STDOUT: %G.type.c3a: type = fn_type @G.1 [concrete] +// CHECK:STDOUT: %G.type.c3a: type = fn_type @G.loc4 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %G.11a: %G.type.c3a = struct_value () [concrete] // CHECK:STDOUT: %A.assoc_type: type = assoc_entity_type @A [concrete] @@ -1213,7 +1213,7 @@ fn Works() { // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type.357: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %A.impl_witness: = impl_witness file.%A.impl_witness_table [concrete] -// CHECK:STDOUT: %G.type.486: type = fn_type @G.2 [concrete] +// CHECK:STDOUT: %G.type.486: type = fn_type @G.loc9 [concrete] // CHECK:STDOUT: %G.001: %G.type.486 = struct_value () [concrete] // CHECK:STDOUT: %A.facet: %A.type = facet_value %C, (%A.impl_witness) [concrete] // CHECK:STDOUT: %Fails.type: type = fn_type @Fails [concrete] @@ -1274,7 +1274,7 @@ fn Works() { // CHECK:STDOUT: // CHECK:STDOUT: interface @A { // CHECK:STDOUT: %Self: %A.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.31d] -// CHECK:STDOUT: %G.decl: %G.type.c3a = fn_decl @G.1 [concrete = constants.%G.11a] {} {} +// CHECK:STDOUT: %G.decl: %G.type.c3a = fn_decl @G.loc4 [concrete = constants.%G.11a] {} {} // CHECK:STDOUT: %assoc0: %A.assoc_type = assoc_entity element0, %G.decl [concrete = constants.%assoc0.d52] // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -1284,7 +1284,7 @@ fn Works() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @A.impl: %C.ref as %A.ref { -// CHECK:STDOUT: %G.decl: %G.type.486 = fn_decl @G.2 [concrete = constants.%G.001] {} {} +// CHECK:STDOUT: %G.decl: %G.type.486 = fn_decl @G.loc9 [concrete = constants.%G.001] {} {} // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .G = %G.decl @@ -1300,11 +1300,11 @@ fn Works() { // CHECK:STDOUT: .Self = constants.%C // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @G.1(@A.%Self: %A.type) { +// CHECK:STDOUT: generic fn @G.loc4(@A.%Self: %A.type) { // CHECK:STDOUT: fn(); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @G.2() { +// CHECK:STDOUT: fn @G.loc9() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -1388,16 +1388,16 @@ fn Works() { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @G.1(constants.%Self.31d) {} +// CHECK:STDOUT: specific @G.loc4(constants.%Self.31d) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @G.1(constants.%A.facet) {} +// CHECK:STDOUT: specific @G.loc4(constants.%A.facet) {} // CHECK:STDOUT: // CHECK:STDOUT: --- allowed_combine_non_instance.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { // CHECK:STDOUT: %A.type: type = facet_type <@A> [concrete] // CHECK:STDOUT: %Self.31d: %A.type = bind_symbolic_name Self, 0 [symbolic] -// CHECK:STDOUT: %G.type.c3a: type = fn_type @G.1 [concrete] +// CHECK:STDOUT: %G.type.c3a: type = fn_type @G.loc4 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %G.11a: %G.type.c3a = struct_value () [concrete] // CHECK:STDOUT: %A.assoc_type: type = assoc_entity_type @A [concrete] @@ -1406,7 +1406,7 @@ fn Works() { // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %A.impl_witness: = impl_witness file.%A.impl_witness_table [concrete] -// CHECK:STDOUT: %G.type.486: type = fn_type @G.2 [concrete] +// CHECK:STDOUT: %G.type.486: type = fn_type @G.loc9 [concrete] // CHECK:STDOUT: %G.001: %G.type.486 = struct_value () [concrete] // CHECK:STDOUT: %A.facet: %A.type = facet_value %C, (%A.impl_witness) [concrete] // CHECK:STDOUT: %Works.type: type = fn_type @Works [concrete] @@ -1456,7 +1456,7 @@ fn Works() { // CHECK:STDOUT: // CHECK:STDOUT: interface @A { // CHECK:STDOUT: %Self: %A.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.31d] -// CHECK:STDOUT: %G.decl: %G.type.c3a = fn_decl @G.1 [concrete = constants.%G.11a] {} {} +// CHECK:STDOUT: %G.decl: %G.type.c3a = fn_decl @G.loc4 [concrete = constants.%G.11a] {} {} // CHECK:STDOUT: %assoc0: %A.assoc_type = assoc_entity element0, %G.decl [concrete = constants.%assoc0.d52] // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -1466,7 +1466,7 @@ fn Works() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @A.impl: %C.ref as %A.ref { -// CHECK:STDOUT: %G.decl: %G.type.486 = fn_decl @G.2 [concrete = constants.%G.001] {} {} +// CHECK:STDOUT: %G.decl: %G.type.486 = fn_decl @G.loc9 [concrete = constants.%G.001] {} {} // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .G = %G.decl @@ -1482,11 +1482,11 @@ fn Works() { // CHECK:STDOUT: .Self = constants.%C // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @G.1(@A.%Self: %A.type) { +// CHECK:STDOUT: generic fn @G.loc4(@A.%Self: %A.type) { // CHECK:STDOUT: fn(); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @G.2() { +// CHECK:STDOUT: fn @G.loc9() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -1539,7 +1539,7 @@ fn Works() { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @G.1(constants.%Self.31d) {} +// CHECK:STDOUT: specific @G.loc4(constants.%Self.31d) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @G.1(constants.%A.facet) {} +// CHECK:STDOUT: specific @G.loc4(constants.%A.facet) {} // CHECK:STDOUT: diff --git a/toolchain/check/testdata/interface/default_fn.carbon b/toolchain/check/testdata/interface/default_fn.carbon index deb4af95f2e9..3b8528da8638 100644 --- a/toolchain/check/testdata/interface/default_fn.carbon +++ b/toolchain/check/testdata/interface/default_fn.carbon @@ -35,14 +35,14 @@ class C { // CHECK:STDOUT: %Self.6ef: %I.type = bind_symbolic_name Self, 0 [symbolic] // CHECK:STDOUT: %Self.as_type.390: type = facet_access_type %Self.6ef [symbolic] // CHECK:STDOUT: %pattern_type.b2f: type = pattern_type %Self.as_type.390 [symbolic] -// CHECK:STDOUT: %F.type.0b5: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.0b5: type = fn_type @F.loc18 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %F.20c: %F.type.0b5 = struct_value () [concrete] // CHECK:STDOUT: %I.assoc_type: type = assoc_entity_type @I [concrete] // CHECK:STDOUT: %assoc0.a33: %I.assoc_type = assoc_entity element0, @I.%F.decl [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness @C.%I.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.c48: type = pattern_type %C [concrete] -// CHECK:STDOUT: %F.type.4a2: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.4a2: type = fn_type @F.loc26 [concrete] // CHECK:STDOUT: %F.eb2: %F.type.4a2 = struct_value () [concrete] // CHECK:STDOUT: %I.facet: %I.type = facet_value %C, (%I.impl_witness) [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] @@ -77,17 +77,17 @@ class C { // CHECK:STDOUT: // CHECK:STDOUT: interface @I { // CHECK:STDOUT: %Self: %I.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.6ef] -// CHECK:STDOUT: %F.decl: %F.type.0b5 = fn_decl @F.1 [concrete = constants.%F.20c] { -// CHECK:STDOUT: %self.patt: @F.1.%pattern_type (%pattern_type.b2f) = binding_pattern self [concrete] -// CHECK:STDOUT: %self.param_patt: @F.1.%pattern_type (%pattern_type.b2f) = value_param_pattern %self.patt, call_param0 [concrete] +// CHECK:STDOUT: %F.decl: %F.type.0b5 = fn_decl @F.loc18 [concrete = constants.%F.20c] { +// CHECK:STDOUT: %self.patt: @F.loc18.%pattern_type (%pattern_type.b2f) = binding_pattern self [concrete] +// CHECK:STDOUT: %self.param_patt: @F.loc18.%pattern_type (%pattern_type.b2f) = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %self.param: @F.1.%Self.as_type.loc18_16.1 (%Self.as_type.390) = value_param call_param0 +// CHECK:STDOUT: %self.param: @F.loc18.%Self.as_type.loc18_16.1 (%Self.as_type.390) = value_param call_param0 // CHECK:STDOUT: %.loc18_16.1: type = splice_block %.loc18_16.2 [symbolic = %Self.as_type.loc18_16.1 (constants.%Self.as_type.390)] { // CHECK:STDOUT: %Self.ref: %I.type = name_ref Self, @I.%Self [symbolic = %Self (constants.%Self.6ef)] // CHECK:STDOUT: %Self.as_type.loc18_16.2: type = facet_access_type %Self.ref [symbolic = %Self.as_type.loc18_16.1 (constants.%Self.as_type.390)] // CHECK:STDOUT: %.loc18_16.2: type = converted %Self.ref, %Self.as_type.loc18_16.2 [symbolic = %Self.as_type.loc18_16.1 (constants.%Self.as_type.390)] // CHECK:STDOUT: } -// CHECK:STDOUT: %self: @F.1.%Self.as_type.loc18_16.1 (%Self.as_type.390) = bind_name self, %self.param +// CHECK:STDOUT: %self: @F.loc18.%Self.as_type.loc18_16.1 (%Self.as_type.390) = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %assoc0: %I.assoc_type = assoc_entity element0, %F.decl [concrete = constants.%assoc0.a33] // CHECK:STDOUT: @@ -100,7 +100,7 @@ class C { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @I.impl: %C.ref as %I.ref { -// CHECK:STDOUT: %F.decl: %F.type.4a2 = fn_decl @F.2 [concrete = constants.%F.eb2] { +// CHECK:STDOUT: %F.decl: %F.type.4a2 = fn_decl @F.loc26 [concrete = constants.%F.eb2] { // CHECK:STDOUT: %self.patt: %pattern_type.c48 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.c48 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -132,7 +132,7 @@ class C { // CHECK:STDOUT: .C = // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.1(@I.%Self: %I.type) { +// CHECK:STDOUT: generic fn @F.loc18(@I.%Self: %I.type) { // CHECK:STDOUT: %Self: %I.type = bind_symbolic_name Self, 0 [symbolic = %Self (constants.%Self.6ef)] // CHECK:STDOUT: %Self.as_type.loc18_16.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc18_16.1 (constants.%Self.as_type.390)] // CHECK:STDOUT: %pattern_type: type = pattern_type %Self.as_type.loc18_16.1 [symbolic = %pattern_type (constants.%pattern_type.b2f)] @@ -140,7 +140,7 @@ class C { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type %Self.as_type.loc18_16.1 [symbolic = %require_complete (constants.%require_complete.8cb)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%self.param: @F.1.%Self.as_type.loc18_16.1 (%Self.as_type.390)) { +// CHECK:STDOUT: fn(%self.param: @F.loc18.%Self.as_type.loc18_16.1 (%Self.as_type.390)) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.c48 = binding_pattern c [concrete] @@ -169,18 +169,18 @@ class C { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2(%self.param: %C) { +// CHECK:STDOUT: fn @F.loc26(%self.param: %C) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%Self.6ef) { +// CHECK:STDOUT: specific @F.loc18(constants.%Self.6ef) { // CHECK:STDOUT: %Self => constants.%Self.6ef // CHECK:STDOUT: %Self.as_type.loc18_16.1 => constants.%Self.as_type.390 // CHECK:STDOUT: %pattern_type => constants.%pattern_type.b2f // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%I.facet) { +// CHECK:STDOUT: specific @F.loc18(constants.%I.facet) { // CHECK:STDOUT: %Self => constants.%I.facet // CHECK:STDOUT: %Self.as_type.loc18_16.1 => constants.%C // CHECK:STDOUT: %pattern_type => constants.%pattern_type.c48 diff --git a/toolchain/check/testdata/interface/fail_add_member_outside_definition.carbon b/toolchain/check/testdata/interface/fail_add_member_outside_definition.carbon index 045683aed215..2794f008083c 100644 --- a/toolchain/check/testdata/interface/fail_add_member_outside_definition.carbon +++ b/toolchain/check/testdata/interface/fail_add_member_outside_definition.carbon @@ -41,15 +41,15 @@ interface Outer { // CHECK:STDOUT: constants { // CHECK:STDOUT: %Interface.type: type = facet_type <@Interface> [concrete] // CHECK:STDOUT: %Self.719: %Interface.type = bind_symbolic_name Self, 0 [symbolic] -// CHECK:STDOUT: %F.type.1ad: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.1ad: type = fn_type @F.loc21 [concrete] // CHECK:STDOUT: %F.5d3: %F.type.1ad = struct_value () [concrete] // CHECK:STDOUT: %Outer.type: type = facet_type <@Outer> [concrete] // CHECK:STDOUT: %Self.277: %Outer.type = bind_symbolic_name Self, 0 [symbolic] // CHECK:STDOUT: %Inner.type: type = facet_type <@Inner, @Inner(%Self.277)> [symbolic] // CHECK:STDOUT: %Self.b60: %Inner.type = bind_symbolic_name Self, 1 [symbolic] -// CHECK:STDOUT: %F.type.82c77c.1: type = fn_type @F.2, @Inner(%Self.277) [symbolic] +// CHECK:STDOUT: %F.type.82c77c.1: type = fn_type @F.loc30, @Inner(%Self.277) [symbolic] // CHECK:STDOUT: %F.9789e2.1: %F.type.82c77c.1 = struct_value () [symbolic] -// CHECK:STDOUT: %F.type.82c77c.2: type = fn_type @F.3, @Inner(%Self.277) [symbolic] +// CHECK:STDOUT: %F.type.82c77c.2: type = fn_type @F.loc36, @Inner(%Self.277) [symbolic] // CHECK:STDOUT: %F.9789e2.2: %F.type.82c77c.2 = struct_value () [symbolic] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -59,7 +59,7 @@ interface Outer { // CHECK:STDOUT: .Outer = %Outer.decl // CHECK:STDOUT: } // CHECK:STDOUT: %Interface.decl: type = interface_decl @Interface [concrete = constants.%Interface.type] {} {} -// CHECK:STDOUT: %F.decl: %F.type.1ad = fn_decl @F.1 [concrete = constants.%F.5d3] {} {} +// CHECK:STDOUT: %F.decl: %F.type.1ad = fn_decl @F.loc21 [concrete = constants.%F.5d3] {} {} // CHECK:STDOUT: %Outer.decl: type = interface_decl @Outer [concrete = constants.%Outer.type] {} {} // CHECK:STDOUT: } // CHECK:STDOUT: @@ -75,7 +75,7 @@ interface Outer { // CHECK:STDOUT: interface @Outer { // CHECK:STDOUT: %Self: %Outer.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.277] // CHECK:STDOUT: %Inner.decl: type = interface_decl @Inner [symbolic = constants.%Inner.type] {} {} -// CHECK:STDOUT: %F.decl: %F.type.82c77c.2 = fn_decl @F.3 [symbolic = constants.%F.9789e2.2] {} {} +// CHECK:STDOUT: %F.decl: %F.type.82c77c.2 = fn_decl @F.loc36 [symbolic = constants.%F.9789e2.2] {} {} // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .Self = %Self @@ -88,12 +88,12 @@ interface Outer { // CHECK:STDOUT: %Self.2: %Outer.type = bind_symbolic_name Self, 0 [symbolic = %Self.2 (constants.%Self.277)] // CHECK:STDOUT: %Inner.type: type = facet_type <@Inner, @Inner(%Self.2)> [symbolic = %Inner.type (constants.%Inner.type)] // CHECK:STDOUT: %Self.3: @Inner.%Inner.type (%Inner.type) = bind_symbolic_name Self, 1 [symbolic = %Self.3 (constants.%Self.b60)] -// CHECK:STDOUT: %F.type: type = fn_type @F.2, @Inner(%Self.2) [symbolic = %F.type (constants.%F.type.82c77c.1)] +// CHECK:STDOUT: %F.type: type = fn_type @F.loc30, @Inner(%Self.2) [symbolic = %F.type (constants.%F.type.82c77c.1)] // CHECK:STDOUT: %F: @Inner.%F.type (%F.type.82c77c.1) = struct_value () [symbolic = %F (constants.%F.9789e2.1)] // CHECK:STDOUT: // CHECK:STDOUT: interface { // CHECK:STDOUT: %Self.1: @Inner.%Inner.type (%Inner.type) = bind_symbolic_name Self, 1 [symbolic = %Self.3 (constants.%Self.b60)] -// CHECK:STDOUT: %F.decl: @Inner.%F.type (%F.type.82c77c.1) = fn_decl @F.2 [symbolic = @Inner.%F (constants.%F.9789e2.1)] {} {} +// CHECK:STDOUT: %F.decl: @Inner.%F.type (%F.type.82c77c.1) = fn_decl @F.loc30 [symbolic = @Inner.%F (constants.%F.9789e2.1)] {} {} // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .Self = %Self.1 @@ -102,7 +102,7 @@ interface Outer { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.1(@Interface.%Self: %Interface.type) { +// CHECK:STDOUT: generic fn @F.loc21(@Interface.%Self: %Interface.type) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: // CHECK:STDOUT: fn() { @@ -111,15 +111,15 @@ interface Outer { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.2(@Outer.%Self: %Outer.type, @Inner.%Self.1: @Inner.%Inner.type (%Inner.type)) { +// CHECK:STDOUT: generic fn @F.loc30(@Outer.%Self: %Outer.type, @Inner.%Self.1: @Inner.%Inner.type (%Inner.type)) { // CHECK:STDOUT: fn(); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.3(@Outer.%Self: %Outer.type, @Inner.%Self.1: @Inner.%Inner.type (%Inner.type)) { +// CHECK:STDOUT: generic fn @F.loc36(@Outer.%Self: %Outer.type, @Inner.%Self.1: @Inner.%Inner.type (%Inner.type)) { // CHECK:STDOUT: fn(); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%Self.719) {} +// CHECK:STDOUT: specific @F.loc21(constants.%Self.719) {} // CHECK:STDOUT: // CHECK:STDOUT: specific @Inner(constants.%Self.277) { // CHECK:STDOUT: !definition: @@ -130,7 +130,7 @@ interface Outer { // CHECK:STDOUT: %F => constants.%F.9789e2.1 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.2(constants.%Self.277, constants.%Self.b60) {} +// CHECK:STDOUT: specific @F.loc30(constants.%Self.277, constants.%Self.b60) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.3(constants.%Self.277, constants.%Self.b60) {} +// CHECK:STDOUT: specific @F.loc36(constants.%Self.277, constants.%Self.b60) {} // CHECK:STDOUT: diff --git a/toolchain/check/testdata/interface/fail_definition_imported.carbon b/toolchain/check/testdata/interface/fail_definition_imported.carbon index 00458b4fb097..825ffc1083f0 100644 --- a/toolchain/check/testdata/interface/fail_definition_imported.carbon +++ b/toolchain/check/testdata/interface/fail_definition_imported.carbon @@ -52,7 +52,7 @@ interface I {} // CHECK:STDOUT: // CHECK:STDOUT: constants { // CHECK:STDOUT: %I.type.733a85.1: type = facet_type <@I.1> [concrete] -// CHECK:STDOUT: %I.type.733a85.2: type = facet_type <@I.2> [concrete] +// CHECK:STDOUT: %I.type.733a85.2: type = facet_type <@I.loc13> [concrete] // CHECK:STDOUT: %Self: %I.type.733a85.2 = bind_symbolic_name Self, 0 [symbolic] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -65,12 +65,12 @@ interface I {} // CHECK:STDOUT: .I = imports.%Main.I // CHECK:STDOUT: } // CHECK:STDOUT: %default.import = import -// CHECK:STDOUT: %I.decl: type = interface_decl @I.2 [concrete = constants.%I.type.733a85.2] {} {} +// CHECK:STDOUT: %I.decl: type = interface_decl @I.loc13 [concrete = constants.%I.type.733a85.2] {} {} // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: interface @I.1 [from "a.carbon"]; // CHECK:STDOUT: -// CHECK:STDOUT: interface @I.2 { +// CHECK:STDOUT: interface @I.loc13 { // CHECK:STDOUT: %Self: %I.type.733a85.2 = bind_symbolic_name Self, 0 [symbolic = constants.%Self] // CHECK:STDOUT: // CHECK:STDOUT: !members: diff --git a/toolchain/check/testdata/interface/fail_duplicate.carbon b/toolchain/check/testdata/interface/fail_duplicate.carbon index bbc43d3c1284..933e74a5e7fa 100644 --- a/toolchain/check/testdata/interface/fail_duplicate.carbon +++ b/toolchain/check/testdata/interface/fail_duplicate.carbon @@ -77,25 +77,25 @@ interface Class { } // CHECK:STDOUT: --- fail_redefine_without_dependents.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %Interface.type.d726c6.1: type = facet_type <@Interface.1> [concrete] +// CHECK:STDOUT: %Interface.type.d726c6.1: type = facet_type <@Interface.loc4> [concrete] // CHECK:STDOUT: %Self.719cbb.1: %Interface.type.d726c6.1 = bind_symbolic_name Self, 0 [symbolic] -// CHECK:STDOUT: %Interface.type.d726c6.2: type = facet_type <@Interface.2> [concrete] +// CHECK:STDOUT: %Interface.type.d726c6.2: type = facet_type <@Interface.loc13> [concrete] // CHECK:STDOUT: %Self.719cbb.2: %Interface.type.d726c6.2 = bind_symbolic_name Self, 0 [symbolic] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] -// CHECK:STDOUT: %Interface.assoc_type: type = assoc_entity_type @Interface.2 [concrete] -// CHECK:STDOUT: %assoc0: %Interface.assoc_type = assoc_entity element0, @Interface.2.%F.decl [concrete] +// CHECK:STDOUT: %Interface.assoc_type: type = assoc_entity_type @Interface.loc13 [concrete] +// CHECK:STDOUT: %assoc0: %Interface.assoc_type = assoc_entity element0, @Interface.loc13.%F.decl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { // CHECK:STDOUT: package: = namespace [concrete] { // CHECK:STDOUT: .Interface = %Interface.decl.loc4 // CHECK:STDOUT: } -// CHECK:STDOUT: %Interface.decl.loc4: type = interface_decl @Interface.1 [concrete = constants.%Interface.type.d726c6.1] {} {} -// CHECK:STDOUT: %Interface.decl.loc13: type = interface_decl @Interface.2 [concrete = constants.%Interface.type.d726c6.2] {} {} +// CHECK:STDOUT: %Interface.decl.loc4: type = interface_decl @Interface.loc4 [concrete = constants.%Interface.type.d726c6.1] {} {} +// CHECK:STDOUT: %Interface.decl.loc13: type = interface_decl @Interface.loc13 [concrete = constants.%Interface.type.d726c6.2] {} {} // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: interface @Interface.1 { +// CHECK:STDOUT: interface @Interface.loc4 { // CHECK:STDOUT: %Self: %Interface.type.d726c6.1 = bind_symbolic_name Self, 0 [symbolic = constants.%Self.719cbb.1] // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -103,7 +103,7 @@ interface Class { } // CHECK:STDOUT: witness = () // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: interface @Interface.2 { +// CHECK:STDOUT: interface @Interface.loc13 { // CHECK:STDOUT: %Self: %Interface.type.d726c6.2 = bind_symbolic_name Self, 0 [symbolic = constants.%Self.719cbb.2] // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] {} {} // CHECK:STDOUT: %assoc0: %Interface.assoc_type = assoc_entity element0, %F.decl [concrete = constants.%assoc0] @@ -114,7 +114,7 @@ interface Class { } // CHECK:STDOUT: witness = (%F.decl) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F(@Interface.2.%Self: %Interface.type.d726c6.2) { +// CHECK:STDOUT: generic fn @F(@Interface.loc13.%Self: %Interface.type.d726c6.2) { // CHECK:STDOUT: fn(); // CHECK:STDOUT: } // CHECK:STDOUT: @@ -123,27 +123,27 @@ interface Class { } // CHECK:STDOUT: --- fail_redefine_with_dependents.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %Interface.type.d726c6.1: type = facet_type <@Interface.1> [concrete] +// CHECK:STDOUT: %Interface.type.d726c6.1: type = facet_type <@Interface.loc4> [concrete] // CHECK:STDOUT: %Self.719cbb.1: %Interface.type.d726c6.1 = bind_symbolic_name Self, 0 [symbolic] -// CHECK:STDOUT: %Interface.type.d726c6.2: type = facet_type <@Interface.2> [concrete] +// CHECK:STDOUT: %Interface.type.d726c6.2: type = facet_type <@Interface.loc13> [concrete] // CHECK:STDOUT: %Self.719cbb.2: %Interface.type.d726c6.2 = bind_symbolic_name Self, 0 [symbolic] // CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self.719cbb.2 [symbolic] // CHECK:STDOUT: %pattern_type: type = pattern_type %Self.as_type [symbolic] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] -// CHECK:STDOUT: %Interface.assoc_type: type = assoc_entity_type @Interface.2 [concrete] -// CHECK:STDOUT: %assoc0: %Interface.assoc_type = assoc_entity element0, @Interface.2.%F.decl [concrete] +// CHECK:STDOUT: %Interface.assoc_type: type = assoc_entity_type @Interface.loc13 [concrete] +// CHECK:STDOUT: %assoc0: %Interface.assoc_type = assoc_entity element0, @Interface.loc13.%F.decl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { // CHECK:STDOUT: package: = namespace [concrete] { // CHECK:STDOUT: .Interface = %Interface.decl.loc4 // CHECK:STDOUT: } -// CHECK:STDOUT: %Interface.decl.loc4: type = interface_decl @Interface.1 [concrete = constants.%Interface.type.d726c6.1] {} {} -// CHECK:STDOUT: %Interface.decl.loc13: type = interface_decl @Interface.2 [concrete = constants.%Interface.type.d726c6.2] {} {} +// CHECK:STDOUT: %Interface.decl.loc4: type = interface_decl @Interface.loc4 [concrete = constants.%Interface.type.d726c6.1] {} {} +// CHECK:STDOUT: %Interface.decl.loc13: type = interface_decl @Interface.loc13 [concrete = constants.%Interface.type.d726c6.2] {} {} // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: interface @Interface.1 { +// CHECK:STDOUT: interface @Interface.loc4 { // CHECK:STDOUT: %Self: %Interface.type.d726c6.1 = bind_symbolic_name Self, 0 [symbolic = constants.%Self.719cbb.1] // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -151,7 +151,7 @@ interface Class { } // CHECK:STDOUT: witness = () // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: interface @Interface.2 { +// CHECK:STDOUT: interface @Interface.loc13 { // CHECK:STDOUT: %Self: %Interface.type.d726c6.2 = bind_symbolic_name Self, 0 [symbolic = constants.%Self.719cbb.2] // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { // CHECK:STDOUT: %self.patt: @F.%pattern_type (%pattern_type) = binding_pattern self [concrete] @@ -159,7 +159,7 @@ interface Class { } // CHECK:STDOUT: } { // CHECK:STDOUT: %self.param: @F.%Self.as_type.loc14_14.1 (%Self.as_type) = value_param call_param0 // CHECK:STDOUT: %.loc14_14.1: type = splice_block %.loc14_14.2 [symbolic = %Self.as_type.loc14_14.1 (constants.%Self.as_type)] { -// CHECK:STDOUT: %Self.ref: %Interface.type.d726c6.2 = name_ref Self, @Interface.2.%Self [symbolic = %Self (constants.%Self.719cbb.2)] +// CHECK:STDOUT: %Self.ref: %Interface.type.d726c6.2 = name_ref Self, @Interface.loc13.%Self [symbolic = %Self (constants.%Self.719cbb.2)] // CHECK:STDOUT: %Self.as_type.loc14_14.2: type = facet_access_type %Self.ref [symbolic = %Self.as_type.loc14_14.1 (constants.%Self.as_type)] // CHECK:STDOUT: %.loc14_14.2: type = converted %Self.ref, %Self.as_type.loc14_14.2 [symbolic = %Self.as_type.loc14_14.1 (constants.%Self.as_type)] // CHECK:STDOUT: } @@ -173,7 +173,7 @@ interface Class { } // CHECK:STDOUT: witness = (%F.decl) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F(@Interface.2.%Self: %Interface.type.d726c6.2) { +// CHECK:STDOUT: generic fn @F(@Interface.loc13.%Self: %Interface.type.d726c6.2) { // CHECK:STDOUT: %Self: %Interface.type.d726c6.2 = bind_symbolic_name Self, 0 [symbolic = %Self (constants.%Self.719cbb.2)] // CHECK:STDOUT: %Self.as_type.loc14_14.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc14_14.1 (constants.%Self.as_type)] // CHECK:STDOUT: %pattern_type: type = pattern_type %Self.as_type.loc14_14.1 [symbolic = %pattern_type (constants.%pattern_type)] @@ -190,28 +190,28 @@ interface Class { } // CHECK:STDOUT: --- fail_name_conflict_with_fn.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %Function.type.b14: type = fn_type @Function.1 [concrete] +// CHECK:STDOUT: %Function.type.b14: type = fn_type @Function.loc4 [concrete] // CHECK:STDOUT: %Function: %Function.type.b14 = struct_value () [concrete] -// CHECK:STDOUT: %Function.type.f90: type = facet_type <@Function.2> [concrete] +// CHECK:STDOUT: %Function.type.f90: type = facet_type <@Function.loc13> [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { // CHECK:STDOUT: package: = namespace [concrete] { // CHECK:STDOUT: .Function = %Function.decl.loc4 // CHECK:STDOUT: } -// CHECK:STDOUT: %Function.decl.loc4: %Function.type.b14 = fn_decl @Function.1 [concrete = constants.%Function] {} {} -// CHECK:STDOUT: %Function.decl.loc13: type = interface_decl @Function.2 [concrete = constants.%Function.type.f90] {} {} +// CHECK:STDOUT: %Function.decl.loc4: %Function.type.b14 = fn_decl @Function.loc4 [concrete = constants.%Function] {} {} +// CHECK:STDOUT: %Function.decl.loc13: type = interface_decl @Function.loc13 [concrete = constants.%Function.type.f90] {} {} // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: interface @Function.2; +// CHECK:STDOUT: interface @Function.loc13; // CHECK:STDOUT: -// CHECK:STDOUT: fn @Function.1(); +// CHECK:STDOUT: fn @Function.loc4(); // CHECK:STDOUT: // CHECK:STDOUT: --- fail_name_conflict_with_class.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %Class: type = class_type @Class.1 [concrete] -// CHECK:STDOUT: %Class.type: type = facet_type <@Class.2> [concrete] +// CHECK:STDOUT: %Class: type = class_type @Class.loc2 [concrete] +// CHECK:STDOUT: %Class.type: type = facet_type <@Class.loc11> [concrete] // CHECK:STDOUT: %Self: %Class.type = bind_symbolic_name Self, 0 [symbolic] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -219,11 +219,11 @@ interface Class { } // CHECK:STDOUT: package: = namespace [concrete] { // CHECK:STDOUT: .Class = %Class.decl.loc2 // CHECK:STDOUT: } -// CHECK:STDOUT: %Class.decl.loc2: type = class_decl @Class.1 [concrete = constants.%Class] {} {} -// CHECK:STDOUT: %Class.decl.loc11: type = interface_decl @Class.2 [concrete = constants.%Class.type] {} {} +// CHECK:STDOUT: %Class.decl.loc2: type = class_decl @Class.loc2 [concrete = constants.%Class] {} {} +// CHECK:STDOUT: %Class.decl.loc11: type = interface_decl @Class.loc11 [concrete = constants.%Class.type] {} {} // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: interface @Class.2 { +// CHECK:STDOUT: interface @Class.loc11 { // CHECK:STDOUT: %Self: %Class.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self] // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -231,5 +231,5 @@ interface Class { } // CHECK:STDOUT: witness = () // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: class @Class.1; +// CHECK:STDOUT: class @Class.loc2; // CHECK:STDOUT: diff --git a/toolchain/check/testdata/interface/fail_generic_redeclaration.carbon b/toolchain/check/testdata/interface/fail_generic_redeclaration.carbon index 28bb3cbc1170..e45822e12413 100644 --- a/toolchain/check/testdata/interface/fail_generic_redeclaration.carbon +++ b/toolchain/check/testdata/interface/fail_generic_redeclaration.carbon @@ -45,25 +45,25 @@ interface DifferentParams(T:! ()) {} // CHECK:STDOUT: --- fail_generic_redeclaration.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %NotGeneric.type.10e: type = facet_type <@NotGeneric.1> [concrete] +// CHECK:STDOUT: %NotGeneric.type.10e: type = facet_type <@NotGeneric.loc15> [concrete] // CHECK:STDOUT: %T.8b3: type = bind_symbolic_name T, 0 [symbolic] // CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %NotGeneric.type.93b: type = generic_interface_type @NotGeneric.2 [concrete] +// CHECK:STDOUT: %NotGeneric.type.93b: type = generic_interface_type @NotGeneric.loc23 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %NotGeneric.generic: %NotGeneric.type.93b = struct_value () [concrete] -// CHECK:STDOUT: %NotGeneric.type.8cb: type = facet_type <@NotGeneric.2, @NotGeneric.2(%T.8b3)> [symbolic] +// CHECK:STDOUT: %NotGeneric.type.8cb: type = facet_type <@NotGeneric.loc23, @NotGeneric.loc23(%T.8b3)> [symbolic] // CHECK:STDOUT: %Self.c08: %NotGeneric.type.8cb = bind_symbolic_name Self, 1 [symbolic] -// CHECK:STDOUT: %Generic.type.c21: type = generic_interface_type @Generic.1 [concrete] +// CHECK:STDOUT: %Generic.type.c21: type = generic_interface_type @Generic.loc25 [concrete] // CHECK:STDOUT: %Generic.generic: %Generic.type.c21 = struct_value () [concrete] -// CHECK:STDOUT: %Generic.type.c99: type = facet_type <@Generic.2> [concrete] +// CHECK:STDOUT: %Generic.type.c99: type = facet_type <@Generic.loc33> [concrete] // CHECK:STDOUT: %Self.5ae: %Generic.type.c99 = bind_symbolic_name Self, 0 [symbolic] -// CHECK:STDOUT: %DifferentParams.type.d40e5c.1: type = generic_interface_type @DifferentParams.1 [concrete] +// CHECK:STDOUT: %DifferentParams.type.d40e5c.1: type = generic_interface_type @DifferentParams.loc35 [concrete] // CHECK:STDOUT: %DifferentParams.generic.d33670.1: %DifferentParams.type.d40e5c.1 = struct_value () [concrete] // CHECK:STDOUT: %T.7a6: %empty_tuple.type = bind_symbolic_name T, 0 [symbolic] // CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] -// CHECK:STDOUT: %DifferentParams.type.d40e5c.2: type = generic_interface_type @DifferentParams.2 [concrete] +// CHECK:STDOUT: %DifferentParams.type.d40e5c.2: type = generic_interface_type @DifferentParams.loc43 [concrete] // CHECK:STDOUT: %DifferentParams.generic.d33670.2: %DifferentParams.type.d40e5c.2 = struct_value () [concrete] -// CHECK:STDOUT: %DifferentParams.type.12c: type = facet_type <@DifferentParams.2, @DifferentParams.2(%T.7a6)> [symbolic] +// CHECK:STDOUT: %DifferentParams.type.12c: type = facet_type <@DifferentParams.loc43, @DifferentParams.loc43(%T.7a6)> [symbolic] // CHECK:STDOUT: %Self.8d7: %DifferentParams.type.12c = bind_symbolic_name Self, 1 [symbolic] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -73,24 +73,24 @@ interface DifferentParams(T:! ()) {} // CHECK:STDOUT: .Generic = %Generic.decl.loc25 // CHECK:STDOUT: .DifferentParams = %DifferentParams.decl.loc35 // CHECK:STDOUT: } -// CHECK:STDOUT: %NotGeneric.decl.loc15: type = interface_decl @NotGeneric.1 [concrete = constants.%NotGeneric.type.10e] {} {} -// CHECK:STDOUT: %NotGeneric.decl.loc23: %NotGeneric.type.93b = interface_decl @NotGeneric.2 [concrete = constants.%NotGeneric.generic] { +// CHECK:STDOUT: %NotGeneric.decl.loc15: type = interface_decl @NotGeneric.loc15 [concrete = constants.%NotGeneric.type.10e] {} {} +// CHECK:STDOUT: %NotGeneric.decl.loc23: %NotGeneric.type.93b = interface_decl @NotGeneric.loc23 [concrete = constants.%NotGeneric.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.loc23_22.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc23_22.2 (constants.%T.8b3)] // CHECK:STDOUT: } -// CHECK:STDOUT: %Generic.decl.loc25: %Generic.type.c21 = interface_decl @Generic.1 [concrete = constants.%Generic.generic] { +// CHECK:STDOUT: %Generic.decl.loc25: %Generic.type.c21 = interface_decl @Generic.loc25 [concrete = constants.%Generic.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.loc25_19.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc25_19.2 (constants.%T.8b3)] // CHECK:STDOUT: } -// CHECK:STDOUT: %Generic.decl.loc33: type = interface_decl @Generic.2 [concrete = constants.%Generic.type.c99] {} {} -// CHECK:STDOUT: %DifferentParams.decl.loc35: %DifferentParams.type.d40e5c.1 = interface_decl @DifferentParams.1 [concrete = constants.%DifferentParams.generic.d33670.1] { +// CHECK:STDOUT: %Generic.decl.loc33: type = interface_decl @Generic.loc33 [concrete = constants.%Generic.type.c99] {} {} +// CHECK:STDOUT: %DifferentParams.decl.loc35: %DifferentParams.type.d40e5c.1 = interface_decl @DifferentParams.loc35 [concrete = constants.%DifferentParams.generic.d33670.1] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.loc35_27.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc35_27.2 (constants.%T.8b3)] // CHECK:STDOUT: } -// CHECK:STDOUT: %DifferentParams.decl.loc43: %DifferentParams.type.d40e5c.2 = interface_decl @DifferentParams.2 [concrete = constants.%DifferentParams.generic.d33670.2] { +// CHECK:STDOUT: %DifferentParams.decl.loc43: %DifferentParams.type.d40e5c.2 = interface_decl @DifferentParams.loc43 [concrete = constants.%DifferentParams.generic.d33670.2] { // CHECK:STDOUT: %T.patt: %pattern_type.cb1 = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc43_32.1: type = splice_block %.loc43_32.3 [concrete = constants.%empty_tuple.type] { @@ -101,17 +101,17 @@ interface DifferentParams(T:! ()) {} // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: interface @NotGeneric.1; +// CHECK:STDOUT: interface @NotGeneric.loc15; // CHECK:STDOUT: -// CHECK:STDOUT: generic interface @NotGeneric.2(%T.loc23_22.1: type) { +// CHECK:STDOUT: generic interface @NotGeneric.loc23(%T.loc23_22.1: type) { // CHECK:STDOUT: %T.loc23_22.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc23_22.2 (constants.%T.8b3)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %NotGeneric.type: type = facet_type <@NotGeneric.2, @NotGeneric.2(%T.loc23_22.2)> [symbolic = %NotGeneric.type (constants.%NotGeneric.type.8cb)] -// CHECK:STDOUT: %Self.2: @NotGeneric.2.%NotGeneric.type (%NotGeneric.type.8cb) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.c08)] +// CHECK:STDOUT: %NotGeneric.type: type = facet_type <@NotGeneric.loc23, @NotGeneric.loc23(%T.loc23_22.2)> [symbolic = %NotGeneric.type (constants.%NotGeneric.type.8cb)] +// CHECK:STDOUT: %Self.2: @NotGeneric.loc23.%NotGeneric.type (%NotGeneric.type.8cb) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.c08)] // CHECK:STDOUT: // CHECK:STDOUT: interface { -// CHECK:STDOUT: %Self.1: @NotGeneric.2.%NotGeneric.type (%NotGeneric.type.8cb) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.c08)] +// CHECK:STDOUT: %Self.1: @NotGeneric.loc23.%NotGeneric.type (%NotGeneric.type.8cb) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.c08)] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .Self = %Self.1 @@ -119,13 +119,13 @@ interface DifferentParams(T:! ()) {} // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic interface @Generic.1(%T.loc25_19.1: type) { +// CHECK:STDOUT: generic interface @Generic.loc25(%T.loc25_19.1: type) { // CHECK:STDOUT: %T.loc25_19.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc25_19.2 (constants.%T.8b3)] // CHECK:STDOUT: // CHECK:STDOUT: interface; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: interface @Generic.2 { +// CHECK:STDOUT: interface @Generic.loc33 { // CHECK:STDOUT: %Self: %Generic.type.c99 = bind_symbolic_name Self, 0 [symbolic = constants.%Self.5ae] // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -133,21 +133,21 @@ interface DifferentParams(T:! ()) {} // CHECK:STDOUT: witness = () // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic interface @DifferentParams.1(%T.loc35_27.1: type) { +// CHECK:STDOUT: generic interface @DifferentParams.loc35(%T.loc35_27.1: type) { // CHECK:STDOUT: %T.loc35_27.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc35_27.2 (constants.%T.8b3)] // CHECK:STDOUT: // CHECK:STDOUT: interface; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic interface @DifferentParams.2(%T.loc43_27.1: %empty_tuple.type) { +// CHECK:STDOUT: generic interface @DifferentParams.loc43(%T.loc43_27.1: %empty_tuple.type) { // CHECK:STDOUT: %T.loc43_27.2: %empty_tuple.type = bind_symbolic_name T, 0 [symbolic = %T.loc43_27.2 (constants.%T.7a6)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %DifferentParams.type: type = facet_type <@DifferentParams.2, @DifferentParams.2(%T.loc43_27.2)> [symbolic = %DifferentParams.type (constants.%DifferentParams.type.12c)] -// CHECK:STDOUT: %Self.2: @DifferentParams.2.%DifferentParams.type (%DifferentParams.type.12c) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.8d7)] +// CHECK:STDOUT: %DifferentParams.type: type = facet_type <@DifferentParams.loc43, @DifferentParams.loc43(%T.loc43_27.2)> [symbolic = %DifferentParams.type (constants.%DifferentParams.type.12c)] +// CHECK:STDOUT: %Self.2: @DifferentParams.loc43.%DifferentParams.type (%DifferentParams.type.12c) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.8d7)] // CHECK:STDOUT: // CHECK:STDOUT: interface { -// CHECK:STDOUT: %Self.1: @DifferentParams.2.%DifferentParams.type (%DifferentParams.type.12c) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.8d7)] +// CHECK:STDOUT: %Self.1: @DifferentParams.loc43.%DifferentParams.type (%DifferentParams.type.12c) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.8d7)] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .Self = %Self.1 @@ -155,19 +155,19 @@ interface DifferentParams(T:! ()) {} // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @NotGeneric.2(constants.%T.8b3) { +// CHECK:STDOUT: specific @NotGeneric.loc23(constants.%T.8b3) { // CHECK:STDOUT: %T.loc23_22.2 => constants.%T.8b3 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Generic.1(constants.%T.8b3) { +// CHECK:STDOUT: specific @Generic.loc25(constants.%T.8b3) { // CHECK:STDOUT: %T.loc25_19.2 => constants.%T.8b3 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @DifferentParams.1(constants.%T.8b3) { +// CHECK:STDOUT: specific @DifferentParams.loc35(constants.%T.8b3) { // CHECK:STDOUT: %T.loc35_27.2 => constants.%T.8b3 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @DifferentParams.2(constants.%T.7a6) { +// CHECK:STDOUT: specific @DifferentParams.loc43(constants.%T.7a6) { // CHECK:STDOUT: %T.loc43_27.2 => constants.%T.7a6 // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/interface/fail_member_lookup.carbon b/toolchain/check/testdata/interface/fail_member_lookup.carbon index db05fa52d8dc..6ba735ad4f3e 100644 --- a/toolchain/check/testdata/interface/fail_member_lookup.carbon +++ b/toolchain/check/testdata/interface/fail_member_lookup.carbon @@ -51,12 +51,12 @@ fn G(U:! Different) -> U.(Interface.T); // CHECK:STDOUT: constants { // CHECK:STDOUT: %Interface.type: type = facet_type <@Interface> [concrete] // CHECK:STDOUT: %Self.719: %Interface.type = bind_symbolic_name Self, 0 [symbolic] -// CHECK:STDOUT: %F.type.1ad: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.1ad: type = fn_type @F.loc4 [concrete] // CHECK:STDOUT: %F.5d3: %F.type.1ad = struct_value () [concrete] // CHECK:STDOUT: %Interface.assoc_type: type = assoc_entity_type @Interface [concrete] // CHECK:STDOUT: %assoc0.b4c: %Interface.assoc_type = assoc_entity element0, @Interface.%F.decl [concrete] // CHECK:STDOUT: %assoc1: %Interface.assoc_type = assoc_entity element1, @Interface.%T [concrete] -// CHECK:STDOUT: %F.type.b25: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.b25: type = fn_type @F.loc9 [concrete] // CHECK:STDOUT: %F.c41: %F.type.b25 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.type.cc7: type = generic_interface_type @ImplicitAs [concrete] // CHECK:STDOUT: %ImplicitAs.generic: %ImplicitAs.type.cc7 = struct_value () [concrete] @@ -90,7 +90,7 @@ fn G(U:! Different) -> U.(Interface.T); // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Interface.decl: type = interface_decl @Interface [concrete = constants.%Interface.type] {} {} -// CHECK:STDOUT: %F.decl: %F.type.b25 = fn_decl @F.2 [concrete = constants.%F.c41] {} {} +// CHECK:STDOUT: %F.decl: %F.type.b25 = fn_decl @F.loc9 [concrete = constants.%F.c41] {} {} // CHECK:STDOUT: %Different.decl: type = interface_decl @Different [concrete = constants.%Different.type] {} {} // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [concrete = constants.%G] { // CHECK:STDOUT: %U.patt: %pattern_type.855 = symbolic_binding_pattern U, 0 [concrete] @@ -109,7 +109,7 @@ fn G(U:! Different) -> U.(Interface.T); // CHECK:STDOUT: // CHECK:STDOUT: interface @Interface { // CHECK:STDOUT: %Self: %Interface.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.719] -// CHECK:STDOUT: %F.decl: %F.type.1ad = fn_decl @F.1 [concrete = constants.%F.5d3] {} {} +// CHECK:STDOUT: %F.decl: %F.type.1ad = fn_decl @F.loc4 [concrete = constants.%F.5d3] {} {} // CHECK:STDOUT: %assoc0: %Interface.assoc_type = assoc_entity element0, %F.decl [concrete = constants.%assoc0.b4c] // CHECK:STDOUT: %T: type = assoc_const_decl @T [concrete] { // CHECK:STDOUT: %assoc1: %Interface.assoc_type = assoc_entity element1, @Interface.%T [concrete = constants.%assoc1] @@ -134,11 +134,11 @@ fn G(U:! Different) -> U.(Interface.T); // CHECK:STDOUT: assoc_const T:! type; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.1(@Interface.%Self: %Interface.type) { +// CHECK:STDOUT: generic fn @F.loc4(@Interface.%Self: %Interface.type) { // CHECK:STDOUT: fn(); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2() { +// CHECK:STDOUT: fn @F.loc9() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %Interface.ref.loc14: type = name_ref Interface, file.%Interface.decl [concrete = constants.%Interface.type] // CHECK:STDOUT: %F.ref: %Interface.assoc_type = name_ref F, @Interface.%assoc0 [concrete = constants.%assoc0.b4c] @@ -162,7 +162,7 @@ fn G(U:! Different) -> U.(Interface.T); // CHECK:STDOUT: fn() -> ; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%Self.719) {} +// CHECK:STDOUT: specific @F.loc4(constants.%Self.719) {} // CHECK:STDOUT: // CHECK:STDOUT: specific @T(constants.%Self.719) {} // CHECK:STDOUT: diff --git a/toolchain/check/testdata/interface/fail_redeclare_member.carbon b/toolchain/check/testdata/interface/fail_redeclare_member.carbon index f5eb33ec68ea..e38b2a78f99e 100644 --- a/toolchain/check/testdata/interface/fail_redeclare_member.carbon +++ b/toolchain/check/testdata/interface/fail_redeclare_member.carbon @@ -29,11 +29,11 @@ interface Interface { // CHECK:STDOUT: constants { // CHECK:STDOUT: %Interface.type: type = facet_type <@Interface> [concrete] // CHECK:STDOUT: %Self: %Interface.type = bind_symbolic_name Self, 0 [symbolic] -// CHECK:STDOUT: %F.type.1ad64d.1: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.1ad64d.1: type = fn_type @F.loc16 [concrete] // CHECK:STDOUT: %F.5d382e.1: %F.type.1ad64d.1 = struct_value () [concrete] // CHECK:STDOUT: %Interface.assoc_type: type = assoc_entity_type @Interface [concrete] // CHECK:STDOUT: %assoc0: %Interface.assoc_type = assoc_entity element0, @Interface.%F.decl.loc16 [concrete] -// CHECK:STDOUT: %F.type.1ad64d.2: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.1ad64d.2: type = fn_type @F.loc24 [concrete] // CHECK:STDOUT: %F.5d382e.2: %F.type.1ad64d.2 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -46,9 +46,9 @@ interface Interface { // CHECK:STDOUT: // CHECK:STDOUT: interface @Interface { // CHECK:STDOUT: %Self: %Interface.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self] -// CHECK:STDOUT: %F.decl.loc16: %F.type.1ad64d.1 = fn_decl @F.1 [concrete = constants.%F.5d382e.1] {} {} +// CHECK:STDOUT: %F.decl.loc16: %F.type.1ad64d.1 = fn_decl @F.loc16 [concrete = constants.%F.5d382e.1] {} {} // CHECK:STDOUT: %assoc0: %Interface.assoc_type = assoc_entity element0, %F.decl.loc16 [concrete = constants.%assoc0] -// CHECK:STDOUT: %F.decl.loc24: %F.type.1ad64d.2 = fn_decl @F.2 [concrete = constants.%F.5d382e.2] {} {} +// CHECK:STDOUT: %F.decl.loc24: %F.type.1ad64d.2 = fn_decl @F.loc24 [concrete = constants.%F.5d382e.2] {} {} // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .Self = %Self @@ -56,15 +56,15 @@ interface Interface { // CHECK:STDOUT: witness = (%F.decl.loc16) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.1(@Interface.%Self: %Interface.type) { +// CHECK:STDOUT: generic fn @F.loc16(@Interface.%Self: %Interface.type) { // CHECK:STDOUT: fn(); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.2(@Interface.%Self: %Interface.type) { +// CHECK:STDOUT: generic fn @F.loc24(@Interface.%Self: %Interface.type) { // CHECK:STDOUT: fn(); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%Self) {} +// CHECK:STDOUT: specific @F.loc16(constants.%Self) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.2(constants.%Self) {} +// CHECK:STDOUT: specific @F.loc24(constants.%Self) {} // CHECK:STDOUT: diff --git a/toolchain/check/testdata/interface/fail_todo_define_default_fn_out_of_line.carbon b/toolchain/check/testdata/interface/fail_todo_define_default_fn_out_of_line.carbon index 6c8fce7ec448..d4b76db122df 100644 --- a/toolchain/check/testdata/interface/fail_todo_define_default_fn_out_of_line.carbon +++ b/toolchain/check/testdata/interface/fail_todo_define_default_fn_out_of_line.carbon @@ -73,7 +73,7 @@ fn Interface.C.F[self: Self](U:! type, u: U) -> U { return u; } // CHECK:STDOUT: constants { // CHECK:STDOUT: %Interface.type: type = facet_type <@Interface> [concrete] // CHECK:STDOUT: %Self: %Interface.type = bind_symbolic_name Self, 0 [symbolic] -// CHECK:STDOUT: %F.type.1ad64d.1: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.1ad64d.1: type = fn_type @F.loc7 [concrete] // CHECK:STDOUT: %F.5d382e.1: %F.type.1ad64d.1 = struct_value () [concrete] // CHECK:STDOUT: %Interface.assoc_type: type = assoc_entity_type @Interface [concrete] // CHECK:STDOUT: %assoc0: %Interface.assoc_type = assoc_entity element0, @Interface.%F.decl [concrete] @@ -82,12 +82,12 @@ fn Interface.C.F[self: Self](U:! type, u: U) -> U { return u; } // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %pattern_type.7ce: type = pattern_type %i32 [concrete] -// CHECK:STDOUT: %G.type.ef383d.1: type = fn_type @G.1 [concrete] +// CHECK:STDOUT: %G.type.ef383d.1: type = fn_type @G.loc13 [concrete] // CHECK:STDOUT: %G.362a5a.1: %G.type.ef383d.1 = struct_value () [concrete] // CHECK:STDOUT: %assoc1: %Interface.assoc_type = assoc_entity element1, @Interface.%G.decl [concrete] -// CHECK:STDOUT: %F.type.1ad64d.2: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.1ad64d.2: type = fn_type @F.loc23 [concrete] // CHECK:STDOUT: %F.5d382e.2: %F.type.1ad64d.2 = struct_value () [concrete] -// CHECK:STDOUT: %G.type.ef383d.2: type = fn_type @G.2 [concrete] +// CHECK:STDOUT: %G.type.ef383d.2: type = fn_type @G.loc32 [concrete] // CHECK:STDOUT: %G.362a5a.2: %G.type.ef383d.2 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -107,8 +107,8 @@ fn Interface.C.F[self: Self](U:! type, u: U) -> U { return u; } // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Interface.decl: type = interface_decl @Interface [concrete = constants.%Interface.type] {} {} -// CHECK:STDOUT: %F.decl: %F.type.1ad64d.2 = fn_decl @F.2 [concrete = constants.%F.5d382e.2] {} {} -// CHECK:STDOUT: %G.decl: %G.type.ef383d.2 = fn_decl @G.2 [concrete = constants.%G.362a5a.2] { +// CHECK:STDOUT: %F.decl: %F.type.1ad64d.2 = fn_decl @F.loc23 [concrete = constants.%F.5d382e.2] {} {} +// CHECK:STDOUT: %G.decl: %G.type.ef383d.2 = fn_decl @G.loc32 [concrete = constants.%G.362a5a.2] { // CHECK:STDOUT: %a.patt: %pattern_type.7ce = binding_pattern a [concrete] // CHECK:STDOUT: %a.param_patt: %pattern_type.7ce = value_param_pattern %a.patt, call_param0 [concrete] // CHECK:STDOUT: %b.patt: %pattern_type.7ce = binding_pattern b [concrete] @@ -137,9 +137,9 @@ fn Interface.C.F[self: Self](U:! type, u: U) -> U { return u; } // CHECK:STDOUT: // CHECK:STDOUT: interface @Interface { // CHECK:STDOUT: %Self: %Interface.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self] -// CHECK:STDOUT: %F.decl: %F.type.1ad64d.1 = fn_decl @F.1 [concrete = constants.%F.5d382e.1] {} {} +// CHECK:STDOUT: %F.decl: %F.type.1ad64d.1 = fn_decl @F.loc7 [concrete = constants.%F.5d382e.1] {} {} // CHECK:STDOUT: %assoc0: %Interface.assoc_type = assoc_entity element0, %F.decl [concrete = constants.%assoc0] -// CHECK:STDOUT: %G.decl: %G.type.ef383d.1 = fn_decl @G.1 [concrete = constants.%G.362a5a.1] { +// CHECK:STDOUT: %G.decl: %G.type.ef383d.1 = fn_decl @G.loc13 [concrete = constants.%G.362a5a.1] { // CHECK:STDOUT: %a.patt: %pattern_type.7ce = binding_pattern a [concrete] // CHECK:STDOUT: %a.param_patt: %pattern_type.7ce = value_param_pattern %a.patt, call_param0 [concrete] // CHECK:STDOUT: %b.patt: %pattern_type.7ce = binding_pattern b [concrete] @@ -173,15 +173,15 @@ fn Interface.C.F[self: Self](U:! type, u: U) -> U { return u; } // CHECK:STDOUT: witness = (%F.decl, %G.decl) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.1(@Interface.%Self: %Interface.type) { +// CHECK:STDOUT: generic fn @F.loc7(@Interface.%Self: %Interface.type) { // CHECK:STDOUT: fn(); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @G.1(@Interface.%Self: %Interface.type) { +// CHECK:STDOUT: generic fn @G.loc13(@Interface.%Self: %Interface.type) { // CHECK:STDOUT: fn(%a.param: %i32, %b.param: %i32) -> %i32; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.2(@Interface.%Self: %Interface.type) { +// CHECK:STDOUT: generic fn @F.loc23(@Interface.%Self: %Interface.type) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: // CHECK:STDOUT: fn() { @@ -190,19 +190,19 @@ fn Interface.C.F[self: Self](U:! type, u: U) -> U { return u; } // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @G.2(@Interface.%Self: %Interface.type) { +// CHECK:STDOUT: generic fn @G.loc32(@Interface.%Self: %Interface.type) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: // CHECK:STDOUT: fn(%a.param: %i32, %b.param: %i32) -> %i32 = "int.sadd"; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%Self) {} +// CHECK:STDOUT: specific @F.loc7(constants.%Self) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @G.1(constants.%Self) {} +// CHECK:STDOUT: specific @G.loc13(constants.%Self) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.2(constants.%Self) {} +// CHECK:STDOUT: specific @F.loc23(constants.%Self) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @G.2(constants.%Self) {} +// CHECK:STDOUT: specific @G.loc32(constants.%Self) {} // CHECK:STDOUT: // CHECK:STDOUT: --- dependent_return_type.carbon // CHECK:STDOUT: diff --git a/toolchain/check/testdata/interface/fail_todo_generic_default_fn.carbon b/toolchain/check/testdata/interface/fail_todo_generic_default_fn.carbon index 8be4ae95709a..eff9bbb2e9b5 100644 --- a/toolchain/check/testdata/interface/fail_todo_generic_default_fn.carbon +++ b/toolchain/check/testdata/interface/fail_todo_generic_default_fn.carbon @@ -37,11 +37,11 @@ fn I(T:! type).F[self: Self]() -> Self { return self; } // CHECK:STDOUT: %Self: %I.type.325 = bind_symbolic_name Self, 1 [symbolic] // CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self [symbolic] // CHECK:STDOUT: %pattern_type.4be: type = pattern_type %Self.as_type [symbolic] -// CHECK:STDOUT: %F.type.2aef59.1: type = fn_type @F.1, @I(%T) [symbolic] +// CHECK:STDOUT: %F.type.2aef59.1: type = fn_type @F.loc17, @I(%T) [symbolic] // CHECK:STDOUT: %F.bb2dd4.1: %F.type.2aef59.1 = struct_value () [symbolic] // CHECK:STDOUT: %I.assoc_type: type = assoc_entity_type @I, @I(%T) [symbolic] // CHECK:STDOUT: %assoc0: %I.assoc_type = assoc_entity element0, @I.%F.decl [symbolic] -// CHECK:STDOUT: %F.type.2aef59.2: type = fn_type @F.2, @I(%T) [symbolic] +// CHECK:STDOUT: %F.type.2aef59.2: type = fn_type @F.loc27, @I(%T) [symbolic] // CHECK:STDOUT: %F.bb2dd4.2: %F.type.2aef59.2 = struct_value () [symbolic] // CHECK:STDOUT: %require_complete: = require_complete_type %Self.as_type [symbolic] // CHECK:STDOUT: } @@ -55,27 +55,27 @@ fn I(T:! type).F[self: Self]() -> Self { return self; } // CHECK:STDOUT: } { // CHECK:STDOUT: %T.loc15_13.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc15_13.2 (constants.%T)] // CHECK:STDOUT: } -// CHECK:STDOUT: %F.decl: %F.type.2aef59.2 = fn_decl @F.2 [symbolic = constants.%F.bb2dd4.2] { -// CHECK:STDOUT: %self.patt: @F.2.%pattern_type (%pattern_type.4be) = binding_pattern self [concrete] -// CHECK:STDOUT: %self.param_patt: @F.2.%pattern_type (%pattern_type.4be) = value_param_pattern %self.patt, call_param0 [concrete] -// CHECK:STDOUT: %return.patt: @F.2.%pattern_type (%pattern_type.4be) = return_slot_pattern [concrete] -// CHECK:STDOUT: %return.param_patt: @F.2.%pattern_type (%pattern_type.4be) = out_param_pattern %return.patt, call_param1 [concrete] +// CHECK:STDOUT: %F.decl: %F.type.2aef59.2 = fn_decl @F.loc27 [symbolic = constants.%F.bb2dd4.2] { +// CHECK:STDOUT: %self.patt: @F.loc27.%pattern_type (%pattern_type.4be) = binding_pattern self [concrete] +// CHECK:STDOUT: %self.param_patt: @F.loc27.%pattern_type (%pattern_type.4be) = value_param_pattern %self.patt, call_param0 [concrete] +// CHECK:STDOUT: %return.patt: @F.loc27.%pattern_type (%pattern_type.4be) = return_slot_pattern [concrete] +// CHECK:STDOUT: %return.param_patt: @F.loc27.%pattern_type (%pattern_type.4be) = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.loc27_6: type = bind_symbolic_name T, 0 [symbolic = @I.%T.loc15_13.2 (constants.%T)] -// CHECK:STDOUT: %.loc27_35.1: @F.2.%I.type (%I.type.325) = specific_constant @I.%Self.1, @I(constants.%T) [symbolic = %Self (constants.%Self)] -// CHECK:STDOUT: %Self.ref.loc27_35: @F.2.%I.type (%I.type.325) = name_ref Self, %.loc27_35.1 [symbolic = %Self (constants.%Self)] +// CHECK:STDOUT: %.loc27_35.1: @F.loc27.%I.type (%I.type.325) = specific_constant @I.%Self.1, @I(constants.%T) [symbolic = %Self (constants.%Self)] +// CHECK:STDOUT: %Self.ref.loc27_35: @F.loc27.%I.type (%I.type.325) = name_ref Self, %.loc27_35.1 [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %Self.as_type.loc27_35: type = facet_access_type %Self.ref.loc27_35 [symbolic = %Self.as_type.loc27_24.2 (constants.%Self.as_type)] // CHECK:STDOUT: %.loc27_35.2: type = converted %Self.ref.loc27_35, %Self.as_type.loc27_35 [symbolic = %Self.as_type.loc27_24.2 (constants.%Self.as_type)] -// CHECK:STDOUT: %self.param: @F.2.%Self.as_type.loc27_24.2 (%Self.as_type) = value_param call_param0 +// CHECK:STDOUT: %self.param: @F.loc27.%Self.as_type.loc27_24.2 (%Self.as_type) = value_param call_param0 // CHECK:STDOUT: %.loc27_24.1: type = splice_block %.loc27_24.3 [symbolic = %Self.as_type.loc27_24.2 (constants.%Self.as_type)] { -// CHECK:STDOUT: %.loc27_24.2: @F.2.%I.type (%I.type.325) = specific_constant @I.%Self.1, @I(constants.%T) [symbolic = %Self (constants.%Self)] -// CHECK:STDOUT: %Self.ref.loc27_24: @F.2.%I.type (%I.type.325) = name_ref Self, %.loc27_24.2 [symbolic = %Self (constants.%Self)] +// CHECK:STDOUT: %.loc27_24.2: @F.loc27.%I.type (%I.type.325) = specific_constant @I.%Self.1, @I(constants.%T) [symbolic = %Self (constants.%Self)] +// CHECK:STDOUT: %Self.ref.loc27_24: @F.loc27.%I.type (%I.type.325) = name_ref Self, %.loc27_24.2 [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %Self.as_type.loc27_24.1: type = facet_access_type %Self.ref.loc27_24 [symbolic = %Self.as_type.loc27_24.2 (constants.%Self.as_type)] // CHECK:STDOUT: %.loc27_24.3: type = converted %Self.ref.loc27_24, %Self.as_type.loc27_24.1 [symbolic = %Self.as_type.loc27_24.2 (constants.%Self.as_type)] // CHECK:STDOUT: } -// CHECK:STDOUT: %self: @F.2.%Self.as_type.loc27_24.2 (%Self.as_type) = bind_name self, %self.param -// CHECK:STDOUT: %return.param: ref @F.2.%Self.as_type.loc27_24.2 (%Self.as_type) = out_param call_param1 -// CHECK:STDOUT: %return: ref @F.2.%Self.as_type.loc27_24.2 (%Self.as_type) = return_slot %return.param +// CHECK:STDOUT: %self: @F.loc27.%Self.as_type.loc27_24.2 (%Self.as_type) = bind_name self, %self.param +// CHECK:STDOUT: %return.param: ref @F.loc27.%Self.as_type.loc27_24.2 (%Self.as_type) = out_param call_param1 +// CHECK:STDOUT: %return: ref @F.loc27.%Self.as_type.loc27_24.2 (%Self.as_type) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: @@ -85,33 +85,33 @@ fn I(T:! type).F[self: Self]() -> Self { return self; } // CHECK:STDOUT: !definition: // CHECK:STDOUT: %I.type: type = facet_type <@I, @I(%T.loc15_13.2)> [symbolic = %I.type (constants.%I.type.325)] // CHECK:STDOUT: %Self.2: @I.%I.type (%I.type.325) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self)] -// CHECK:STDOUT: %F.type: type = fn_type @F.1, @I(%T.loc15_13.2) [symbolic = %F.type (constants.%F.type.2aef59.1)] +// CHECK:STDOUT: %F.type: type = fn_type @F.loc17, @I(%T.loc15_13.2) [symbolic = %F.type (constants.%F.type.2aef59.1)] // CHECK:STDOUT: %F: @I.%F.type (%F.type.2aef59.1) = struct_value () [symbolic = %F (constants.%F.bb2dd4.1)] // CHECK:STDOUT: %I.assoc_type: type = assoc_entity_type @I, @I(%T.loc15_13.2) [symbolic = %I.assoc_type (constants.%I.assoc_type)] // CHECK:STDOUT: %assoc0.loc17_29.2: @I.%I.assoc_type (%I.assoc_type) = assoc_entity element0, %F.decl [symbolic = %assoc0.loc17_29.2 (constants.%assoc0)] // CHECK:STDOUT: // CHECK:STDOUT: interface { // CHECK:STDOUT: %Self.1: @I.%I.type (%I.type.325) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self)] -// CHECK:STDOUT: %F.decl: @I.%F.type (%F.type.2aef59.1) = fn_decl @F.1 [symbolic = @I.%F (constants.%F.bb2dd4.1)] { -// CHECK:STDOUT: %self.patt: @F.1.%pattern_type (%pattern_type.4be) = binding_pattern self [concrete] -// CHECK:STDOUT: %self.param_patt: @F.1.%pattern_type (%pattern_type.4be) = value_param_pattern %self.patt, call_param0 [concrete] -// CHECK:STDOUT: %return.patt: @F.1.%pattern_type (%pattern_type.4be) = return_slot_pattern [concrete] -// CHECK:STDOUT: %return.param_patt: @F.1.%pattern_type (%pattern_type.4be) = out_param_pattern %return.patt, call_param1 [concrete] +// CHECK:STDOUT: %F.decl: @I.%F.type (%F.type.2aef59.1) = fn_decl @F.loc17 [symbolic = @I.%F (constants.%F.bb2dd4.1)] { +// CHECK:STDOUT: %self.patt: @F.loc17.%pattern_type (%pattern_type.4be) = binding_pattern self [concrete] +// CHECK:STDOUT: %self.param_patt: @F.loc17.%pattern_type (%pattern_type.4be) = value_param_pattern %self.patt, call_param0 [concrete] +// CHECK:STDOUT: %return.patt: @F.loc17.%pattern_type (%pattern_type.4be) = return_slot_pattern [concrete] +// CHECK:STDOUT: %return.param_patt: @F.loc17.%pattern_type (%pattern_type.4be) = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.loc17_25.1: @F.1.%I.type (%I.type.325) = specific_constant @I.%Self.1, @I(constants.%T) [symbolic = %Self (constants.%Self)] -// CHECK:STDOUT: %Self.ref.loc17_25: @F.1.%I.type (%I.type.325) = name_ref Self, %.loc17_25.1 [symbolic = %Self (constants.%Self)] +// CHECK:STDOUT: %.loc17_25.1: @F.loc17.%I.type (%I.type.325) = specific_constant @I.%Self.1, @I(constants.%T) [symbolic = %Self (constants.%Self)] +// CHECK:STDOUT: %Self.ref.loc17_25: @F.loc17.%I.type (%I.type.325) = name_ref Self, %.loc17_25.1 [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %Self.as_type.loc17_25: type = facet_access_type %Self.ref.loc17_25 [symbolic = %Self.as_type.loc17_14.1 (constants.%Self.as_type)] // CHECK:STDOUT: %.loc17_25.2: type = converted %Self.ref.loc17_25, %Self.as_type.loc17_25 [symbolic = %Self.as_type.loc17_14.1 (constants.%Self.as_type)] -// CHECK:STDOUT: %self.param: @F.1.%Self.as_type.loc17_14.1 (%Self.as_type) = value_param call_param0 +// CHECK:STDOUT: %self.param: @F.loc17.%Self.as_type.loc17_14.1 (%Self.as_type) = value_param call_param0 // CHECK:STDOUT: %.loc17_14.1: type = splice_block %.loc17_14.3 [symbolic = %Self.as_type.loc17_14.1 (constants.%Self.as_type)] { -// CHECK:STDOUT: %.loc17_14.2: @F.1.%I.type (%I.type.325) = specific_constant @I.%Self.1, @I(constants.%T) [symbolic = %Self (constants.%Self)] -// CHECK:STDOUT: %Self.ref.loc17_14: @F.1.%I.type (%I.type.325) = name_ref Self, %.loc17_14.2 [symbolic = %Self (constants.%Self)] +// CHECK:STDOUT: %.loc17_14.2: @F.loc17.%I.type (%I.type.325) = specific_constant @I.%Self.1, @I(constants.%T) [symbolic = %Self (constants.%Self)] +// CHECK:STDOUT: %Self.ref.loc17_14: @F.loc17.%I.type (%I.type.325) = name_ref Self, %.loc17_14.2 [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %Self.as_type.loc17_14.2: type = facet_access_type %Self.ref.loc17_14 [symbolic = %Self.as_type.loc17_14.1 (constants.%Self.as_type)] // CHECK:STDOUT: %.loc17_14.3: type = converted %Self.ref.loc17_14, %Self.as_type.loc17_14.2 [symbolic = %Self.as_type.loc17_14.1 (constants.%Self.as_type)] // CHECK:STDOUT: } -// CHECK:STDOUT: %self: @F.1.%Self.as_type.loc17_14.1 (%Self.as_type) = bind_name self, %self.param -// CHECK:STDOUT: %return.param: ref @F.1.%Self.as_type.loc17_14.1 (%Self.as_type) = out_param call_param1 -// CHECK:STDOUT: %return: ref @F.1.%Self.as_type.loc17_14.1 (%Self.as_type) = return_slot %return.param +// CHECK:STDOUT: %self: @F.loc17.%Self.as_type.loc17_14.1 (%Self.as_type) = bind_name self, %self.param +// CHECK:STDOUT: %return.param: ref @F.loc17.%Self.as_type.loc17_14.1 (%Self.as_type) = out_param call_param1 +// CHECK:STDOUT: %return: ref @F.loc17.%Self.as_type.loc17_14.1 (%Self.as_type) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %assoc0.loc17_29.1: @I.%I.assoc_type (%I.assoc_type) = assoc_entity element0, %F.decl [symbolic = %assoc0.loc17_29.2 (constants.%assoc0)] // CHECK:STDOUT: @@ -122,29 +122,29 @@ fn I(T:! type).F[self: Self]() -> Self { return self; } // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.1(@I.%T.loc15_13.1: type, @I.%Self.1: @I.%I.type (%I.type.325)) { +// CHECK:STDOUT: generic fn @F.loc17(@I.%T.loc15_13.1: type, @I.%Self.1: @I.%I.type (%I.type.325)) { // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic = %T (constants.%T)] // CHECK:STDOUT: %I.type: type = facet_type <@I, @I(%T)> [symbolic = %I.type (constants.%I.type.325)] -// CHECK:STDOUT: %Self: @F.1.%I.type (%I.type.325) = bind_symbolic_name Self, 1 [symbolic = %Self (constants.%Self)] +// CHECK:STDOUT: %Self: @F.loc17.%I.type (%I.type.325) = bind_symbolic_name Self, 1 [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %Self.as_type.loc17_14.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc17_14.1 (constants.%Self.as_type)] // CHECK:STDOUT: %pattern_type: type = pattern_type %Self.as_type.loc17_14.1 [symbolic = %pattern_type (constants.%pattern_type.4be)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%self.param: @F.1.%Self.as_type.loc17_14.1 (%Self.as_type)) -> @F.1.%Self.as_type.loc17_14.1 (%Self.as_type); +// CHECK:STDOUT: fn(%self.param: @F.loc17.%Self.as_type.loc17_14.1 (%Self.as_type)) -> @F.loc17.%Self.as_type.loc17_14.1 (%Self.as_type); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.2(%T.loc27_6: type, @I.%Self.1: @I.%I.type (%I.type.325)) { +// CHECK:STDOUT: generic fn @F.loc27(%T.loc27_6: type, @I.%Self.1: @I.%I.type (%I.type.325)) { // CHECK:STDOUT: %T.loc27_24: type = bind_symbolic_name T, 0 [symbolic = %T.loc27_24 (constants.%T)] // CHECK:STDOUT: %I.type: type = facet_type <@I, @I(%T.loc27_24)> [symbolic = %I.type (constants.%I.type.325)] -// CHECK:STDOUT: %Self: @F.2.%I.type (%I.type.325) = bind_symbolic_name Self, 1 [symbolic = %Self (constants.%Self)] +// CHECK:STDOUT: %Self: @F.loc27.%I.type (%I.type.325) = bind_symbolic_name Self, 1 [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %Self.as_type.loc27_24.2: type = facet_access_type %Self [symbolic = %Self.as_type.loc27_24.2 (constants.%Self.as_type)] // CHECK:STDOUT: %pattern_type: type = pattern_type %Self.as_type.loc27_24.2 [symbolic = %pattern_type (constants.%pattern_type.4be)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type %Self.as_type.loc27_24.2 [symbolic = %require_complete (constants.%require_complete)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%self.param: @F.2.%Self.as_type.loc27_24.2 (%Self.as_type)) -> @F.2.%Self.as_type.loc27_24.2 (%Self.as_type) { +// CHECK:STDOUT: fn(%self.param: @F.loc27.%Self.as_type.loc27_24.2 (%Self.as_type)) -> @F.loc27.%Self.as_type.loc27_24.2 (%Self.as_type) { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %self.ref: @F.2.%Self.as_type.loc27_24.2 (%Self.as_type) = name_ref self, %self +// CHECK:STDOUT: %self.ref: @F.loc27.%Self.as_type.loc27_24.2 (%Self.as_type) = name_ref self, %self // CHECK:STDOUT: return %self.ref // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -161,7 +161,7 @@ fn I(T:! type).F[self: Self]() -> Self { return self; } // CHECK:STDOUT: %assoc0.loc17_29.2 => constants.%assoc0 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%T, constants.%Self) { +// CHECK:STDOUT: specific @F.loc17(constants.%T, constants.%Self) { // CHECK:STDOUT: %T => constants.%T // CHECK:STDOUT: %I.type => constants.%I.type.325 // CHECK:STDOUT: %Self => constants.%Self @@ -169,7 +169,7 @@ fn I(T:! type).F[self: Self]() -> Self { return self; } // CHECK:STDOUT: %pattern_type => constants.%pattern_type.4be // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.2(constants.%T, constants.%Self) { +// CHECK:STDOUT: specific @F.loc27(constants.%T, constants.%Self) { // CHECK:STDOUT: %T.loc27_24 => constants.%T // CHECK:STDOUT: %I.type => constants.%I.type.325 // CHECK:STDOUT: %Self => constants.%Self diff --git a/toolchain/check/testdata/interface/generic.carbon b/toolchain/check/testdata/interface/generic.carbon index 6d2ff30f3e69..032f1232923c 100644 --- a/toolchain/check/testdata/interface/generic.carbon +++ b/toolchain/check/testdata/interface/generic.carbon @@ -80,7 +80,7 @@ fn G(T:! Generic(B)) { // CHECK:STDOUT: %WithAssocFn.type.ce6: type = facet_type <@WithAssocFn, @WithAssocFn(%T.8b3)> [symbolic] // CHECK:STDOUT: %Self.088: %WithAssocFn.type.ce6 = bind_symbolic_name Self, 1 [symbolic] // CHECK:STDOUT: %pattern_type.019: type = pattern_type %X [concrete] -// CHECK:STDOUT: %F.type.1af: type = fn_type @F.1, @WithAssocFn(%T.8b3) [symbolic] +// CHECK:STDOUT: %F.type.1af: type = fn_type @F.loc10, @WithAssocFn(%T.8b3) [symbolic] // CHECK:STDOUT: %F.b7d: %F.type.1af = struct_value () [symbolic] // CHECK:STDOUT: %WithAssocFn.assoc_type.b2f: type = assoc_entity_type @WithAssocFn, @WithAssocFn(%T.8b3) [symbolic] // CHECK:STDOUT: %assoc0.fc5: %WithAssocFn.assoc_type.b2f = assoc_entity element0, @WithAssocFn.%F.decl [symbolic] @@ -90,12 +90,12 @@ fn G(T:! Generic(B)) { // CHECK:STDOUT: %Simple.impl_witness: = impl_witness @C.%Simple.impl_witness_table [concrete] // CHECK:STDOUT: %WithAssocFn.type.683: type = facet_type <@WithAssocFn, @WithAssocFn(%C)> [concrete] // CHECK:STDOUT: %Self.7ae: %WithAssocFn.type.683 = bind_symbolic_name Self, 1 [symbolic] -// CHECK:STDOUT: %F.type.18c: type = fn_type @F.1, @WithAssocFn(%C) [concrete] +// CHECK:STDOUT: %F.type.18c: type = fn_type @F.loc10, @WithAssocFn(%C) [concrete] // CHECK:STDOUT: %F.e46: %F.type.18c = struct_value () [concrete] // CHECK:STDOUT: %WithAssocFn.assoc_type.9ea: type = assoc_entity_type @WithAssocFn, @WithAssocFn(%C) [concrete] // CHECK:STDOUT: %assoc0.cad: %WithAssocFn.assoc_type.9ea = assoc_entity element0, @WithAssocFn.%F.decl [concrete] // CHECK:STDOUT: %WithAssocFn.impl_witness: = impl_witness @C.%WithAssocFn.impl_witness_table [concrete] -// CHECK:STDOUT: %F.type.005: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.005: type = fn_type @F.loc16 [concrete] // CHECK:STDOUT: %F.317: %F.type.005 = struct_value () [concrete] // CHECK:STDOUT: %WithAssocFn.facet: %WithAssocFn.type.683 = facet_value %C, (%WithAssocFn.impl_witness) [concrete] // CHECK:STDOUT: %X.val: %X = struct_value () [concrete] @@ -186,14 +186,14 @@ fn G(T:! Generic(B)) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %WithAssocFn.type: type = facet_type <@WithAssocFn, @WithAssocFn(%T.loc8_23.2)> [symbolic = %WithAssocFn.type (constants.%WithAssocFn.type.ce6)] // CHECK:STDOUT: %Self.2: @WithAssocFn.%WithAssocFn.type (%WithAssocFn.type.ce6) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.088)] -// CHECK:STDOUT: %F.type: type = fn_type @F.1, @WithAssocFn(%T.loc8_23.2) [symbolic = %F.type (constants.%F.type.1af)] +// CHECK:STDOUT: %F.type: type = fn_type @F.loc10, @WithAssocFn(%T.loc8_23.2) [symbolic = %F.type (constants.%F.type.1af)] // CHECK:STDOUT: %F: @WithAssocFn.%F.type (%F.type.1af) = struct_value () [symbolic = %F (constants.%F.b7d)] // CHECK:STDOUT: %WithAssocFn.assoc_type: type = assoc_entity_type @WithAssocFn, @WithAssocFn(%T.loc8_23.2) [symbolic = %WithAssocFn.assoc_type (constants.%WithAssocFn.assoc_type.b2f)] // CHECK:STDOUT: %assoc0.loc10_14.2: @WithAssocFn.%WithAssocFn.assoc_type (%WithAssocFn.assoc_type.b2f) = assoc_entity element0, %F.decl [symbolic = %assoc0.loc10_14.2 (constants.%assoc0.fc5)] // CHECK:STDOUT: // CHECK:STDOUT: interface { // CHECK:STDOUT: %Self.1: @WithAssocFn.%WithAssocFn.type (%WithAssocFn.type.ce6) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.088)] -// CHECK:STDOUT: %F.decl: @WithAssocFn.%F.type (%F.type.1af) = fn_decl @F.1 [symbolic = @WithAssocFn.%F (constants.%F.b7d)] { +// CHECK:STDOUT: %F.decl: @WithAssocFn.%F.type (%F.type.1af) = fn_decl @F.loc10 [symbolic = @WithAssocFn.%F (constants.%F.b7d)] { // CHECK:STDOUT: %return.patt: %pattern_type.019 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.019 = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -225,7 +225,7 @@ fn G(T:! Generic(B)) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @WithAssocFn.impl: %Self.ref as %WithAssocFn.type { -// CHECK:STDOUT: %F.decl: %F.type.005 = fn_decl @F.2 [concrete = constants.%F.317] { +// CHECK:STDOUT: %F.decl: %F.type.005 = fn_decl @F.loc16 [concrete = constants.%F.317] { // CHECK:STDOUT: %return.patt: %pattern_type.019 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.019 = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -278,11 +278,11 @@ fn G(T:! Generic(B)) { // CHECK:STDOUT: .X = // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.1(@WithAssocFn.%T.loc8_23.1: type, @WithAssocFn.%Self.1: @WithAssocFn.%WithAssocFn.type (%WithAssocFn.type.ce6)) { +// CHECK:STDOUT: generic fn @F.loc10(@WithAssocFn.%T.loc8_23.1: type, @WithAssocFn.%Self.1: @WithAssocFn.%WithAssocFn.type (%WithAssocFn.type.ce6)) { // CHECK:STDOUT: fn() -> %return.param: %X; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2() -> %return.param: %X { +// CHECK:STDOUT: fn @F.loc16() -> %return.param: %X { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc17_15.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc17_15.2: init %X = class_init (), %return [concrete = constants.%X.val] @@ -325,7 +325,7 @@ fn G(T:! Generic(B)) { // CHECK:STDOUT: %T.loc8_23.2 => constants.%T.8b3 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%T.8b3, constants.%Self.088) {} +// CHECK:STDOUT: specific @F.loc10(constants.%T.8b3, constants.%Self.088) {} // CHECK:STDOUT: // CHECK:STDOUT: specific @Simple(constants.%C) { // CHECK:STDOUT: %T.loc4_18.2 => constants.%C @@ -347,7 +347,7 @@ fn G(T:! Generic(B)) { // CHECK:STDOUT: %assoc0.loc10_14.2 => constants.%assoc0.cad // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%C, constants.%WithAssocFn.facet) {} +// CHECK:STDOUT: specific @F.loc10(constants.%C, constants.%WithAssocFn.facet) {} // CHECK:STDOUT: // CHECK:STDOUT: specific @WithImplicitArgs(constants.%T.8b3, constants.%N) { // CHECK:STDOUT: %T.loc22_28.2 => constants.%T.8b3 diff --git a/toolchain/check/testdata/interface/generic_import.carbon b/toolchain/check/testdata/interface/generic_import.carbon index 9908f82d3201..fefa7a6b74bf 100644 --- a/toolchain/check/testdata/interface/generic_import.carbon +++ b/toolchain/check/testdata/interface/generic_import.carbon @@ -112,7 +112,7 @@ impl C as AddWith(C) { // CHECK:STDOUT: %AddWith.assoc_type.3f0: type = assoc_entity_type @AddWith, @AddWith(%C) [concrete] // CHECK:STDOUT: %assoc0.730: %AddWith.assoc_type.3f0 = assoc_entity element0, imports.%Main.import_ref.0c5 [concrete] // CHECK:STDOUT: %AddWith.impl_witness: = impl_witness file.%AddWith.impl_witness_table [concrete] -// CHECK:STDOUT: %F.type.c09: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.c09: type = fn_type @F.loc8 [concrete] // CHECK:STDOUT: %F.e62: %F.type.c09 = struct_value () [concrete] // CHECK:STDOUT: %AddWith.facet: %AddWith.type.e8e = facet_value %C, (%AddWith.impl_witness) [concrete] // CHECK:STDOUT: } @@ -165,7 +165,7 @@ impl C as AddWith(C) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @AddWith.impl: %C.ref.loc7_6 as %AddWith.type { -// CHECK:STDOUT: %F.decl: %F.type.c09 = fn_decl @F.2 [concrete = constants.%F.e62] {} {} +// CHECK:STDOUT: %F.decl: %F.type.c09 = fn_decl @F.loc8 [concrete = constants.%F.e62] {} {} // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .F = %F.decl @@ -185,7 +185,7 @@ impl C as AddWith(C) { // CHECK:STDOUT: fn; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2() { +// CHECK:STDOUT: fn @F.loc8() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/interface/generic_method.carbon b/toolchain/check/testdata/interface/generic_method.carbon index 737c1592b5c3..2211b76d05a5 100644 --- a/toolchain/check/testdata/interface/generic_method.carbon +++ b/toolchain/check/testdata/interface/generic_method.carbon @@ -97,7 +97,7 @@ fn CallIndirect() { // CHECK:STDOUT: %Self.as_type.81d: type = facet_access_type %Self.753 [symbolic] // CHECK:STDOUT: %tuple.type.bd2: type = tuple_type (%T.8b3, %Self.as_type.81d, %U.2cb) [symbolic] // CHECK:STDOUT: %pattern_type.44c: type = pattern_type %tuple.type.bd2 [symbolic] -// CHECK:STDOUT: %F.type.17a: type = fn_type @F.1, @A(%T.8b3) [symbolic] +// CHECK:STDOUT: %F.type.17a: type = fn_type @F.loc6, @A(%T.8b3) [symbolic] // CHECK:STDOUT: %F.0d8: %F.type.17a = struct_value () [symbolic] // CHECK:STDOUT: %A.assoc_type.ed3: type = assoc_entity_type @A, @A(%T.8b3) [symbolic] // CHECK:STDOUT: %assoc0.fcb: %A.assoc_type.ed3 = assoc_entity element0, @A.%F.decl [symbolic] @@ -108,7 +108,7 @@ fn CallIndirect() { // CHECK:STDOUT: %Z: type = class_type @Z [concrete] // CHECK:STDOUT: %A.type.91f: type = facet_type <@A, @A(%X)> [concrete] // CHECK:STDOUT: %Self.1bb: %A.type.91f = bind_symbolic_name Self, 1 [symbolic] -// CHECK:STDOUT: %F.type.13d: type = fn_type @F.1, @A(%X) [concrete] +// CHECK:STDOUT: %F.type.13d: type = fn_type @F.loc6, @A(%X) [concrete] // CHECK:STDOUT: %F.d83: %F.type.13d = struct_value () [concrete] // CHECK:STDOUT: %A.assoc_type.296: type = assoc_entity_type @A, @A(%X) [concrete] // CHECK:STDOUT: %assoc0.5f6: %A.assoc_type.296 = assoc_entity element0, @A.%F.decl [concrete] @@ -118,7 +118,7 @@ fn CallIndirect() { // CHECK:STDOUT: %tuple.type.ff9: type = tuple_type (type, type, type) [concrete] // CHECK:STDOUT: %tuple.type.765: type = tuple_type (%X, %Y, %U.8b3) [symbolic] // CHECK:STDOUT: %pattern_type.340: type = pattern_type %tuple.type.765 [symbolic] -// CHECK:STDOUT: %F.type.436: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.436: type = fn_type @F.loc16 [concrete] // CHECK:STDOUT: %F.ce9: %F.type.436 = struct_value () [concrete] // CHECK:STDOUT: %A.facet.552: %A.type.91f = facet_value %Y, (%A.impl_witness) [concrete] // CHECK:STDOUT: %tuple.type.a0c: type = tuple_type (type, %A.type.91f, type) [concrete] @@ -133,7 +133,7 @@ fn CallIndirect() { // CHECK:STDOUT: %pattern_type.8f9: type = pattern_type %Z [concrete] // CHECK:STDOUT: %tuple.type.f6b: type = tuple_type (%X, %Y, %Z) [concrete] // CHECK:STDOUT: %pattern_type.ef1: type = pattern_type %tuple.type.f6b [concrete] -// CHECK:STDOUT: %F.specific_fn: = specific_function %F.ce9, @F.2(%Z) [concrete] +// CHECK:STDOUT: %F.specific_fn: = specific_function %F.ce9, @F.loc16(%Z) [concrete] // CHECK:STDOUT: %Z.val: %Z = struct_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %Op.type.bae: type = fn_type @Op.1 [concrete] @@ -162,7 +162,7 @@ fn CallIndirect() { // CHECK:STDOUT: %impl.elem0.0e5: %.ffa = impl_witness_access %A.lookup_impl_witness, element0 [symbolic] // CHECK:STDOUT: %tuple.type.e28: type = tuple_type (%X, %T.as_type, %Z) [symbolic] // CHECK:STDOUT: %pattern_type.f25: type = pattern_type %tuple.type.e28 [symbolic] -// CHECK:STDOUT: %specific_impl_fn.e7e: = specific_impl_function %impl.elem0.0e5, @F.1(%X, %A.facet.11f, %Z) [symbolic] +// CHECK:STDOUT: %specific_impl_fn.e7e: = specific_impl_function %impl.elem0.0e5, @F.loc6(%X, %A.facet.11f, %Z) [symbolic] // CHECK:STDOUT: %require_complete.500: = require_complete_type %tuple.type.e28 [symbolic] // CHECK:STDOUT: %ptr.103: type = ptr_type %tuple.type.e28 [symbolic] // CHECK:STDOUT: %require_complete.8d3: = require_complete_type %ptr.103 [symbolic] @@ -237,34 +237,34 @@ fn CallIndirect() { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %A.type: type = facet_type <@A, @A(%T.loc5_13.2)> [symbolic = %A.type (constants.%A.type.75a)] // CHECK:STDOUT: %Self.2: @A.%A.type (%A.type.75a) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.753)] -// CHECK:STDOUT: %F.type: type = fn_type @F.1, @A(%T.loc5_13.2) [symbolic = %F.type (constants.%F.type.17a)] +// CHECK:STDOUT: %F.type: type = fn_type @F.loc6, @A(%T.loc5_13.2) [symbolic = %F.type (constants.%F.type.17a)] // CHECK:STDOUT: %F: @A.%F.type (%F.type.17a) = struct_value () [symbolic = %F (constants.%F.0d8)] // CHECK:STDOUT: %A.assoc_type: type = assoc_entity_type @A, @A(%T.loc5_13.2) [symbolic = %A.assoc_type (constants.%A.assoc_type.ed3)] // CHECK:STDOUT: %assoc0.loc6_39.2: @A.%A.assoc_type (%A.assoc_type.ed3) = assoc_entity element0, %F.decl [symbolic = %assoc0.loc6_39.2 (constants.%assoc0.fcb)] // CHECK:STDOUT: // CHECK:STDOUT: interface { // CHECK:STDOUT: %Self.1: @A.%A.type (%A.type.75a) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.753)] -// CHECK:STDOUT: %F.decl: @A.%F.type (%F.type.17a) = fn_decl @F.1 [symbolic = @A.%F (constants.%F.0d8)] { +// CHECK:STDOUT: %F.decl: @A.%F.type (%F.type.17a) = fn_decl @F.loc6 [symbolic = @A.%F (constants.%F.0d8)] { // CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 2 [concrete] -// CHECK:STDOUT: %u.patt: @F.1.%pattern_type.loc6_18 (%pattern_type.20f) = binding_pattern u [concrete] -// CHECK:STDOUT: %u.param_patt: @F.1.%pattern_type.loc6_18 (%pattern_type.20f) = value_param_pattern %u.patt, call_param0 [concrete] -// CHECK:STDOUT: %return.patt: @F.1.%pattern_type.loc6_24 (%pattern_type.44c) = return_slot_pattern [concrete] -// CHECK:STDOUT: %return.param_patt: @F.1.%pattern_type.loc6_24 (%pattern_type.44c) = out_param_pattern %return.patt, call_param1 [concrete] +// CHECK:STDOUT: %u.patt: @F.loc6.%pattern_type.loc6_18 (%pattern_type.20f) = binding_pattern u [concrete] +// CHECK:STDOUT: %u.param_patt: @F.loc6.%pattern_type.loc6_18 (%pattern_type.20f) = value_param_pattern %u.patt, call_param0 [concrete] +// CHECK:STDOUT: %return.patt: @F.loc6.%pattern_type.loc6_24 (%pattern_type.44c) = return_slot_pattern [concrete] +// CHECK:STDOUT: %return.param_patt: @F.loc6.%pattern_type.loc6_24 (%pattern_type.44c) = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, @A.%T.loc5_13.1 [symbolic = %T (constants.%T.8b3)] -// CHECK:STDOUT: %.loc6_31: @F.1.%A.type (%A.type.75a) = specific_constant @A.%Self.1, @A(constants.%T.8b3) [symbolic = %Self (constants.%Self.753)] -// CHECK:STDOUT: %Self.ref: @F.1.%A.type (%A.type.75a) = name_ref Self, %.loc6_31 [symbolic = %Self (constants.%Self.753)] +// CHECK:STDOUT: %.loc6_31: @F.loc6.%A.type (%A.type.75a) = specific_constant @A.%Self.1, @A(constants.%T.8b3) [symbolic = %Self (constants.%Self.753)] +// CHECK:STDOUT: %Self.ref: @F.loc6.%A.type (%A.type.75a) = name_ref Self, %.loc6_31 [symbolic = %Self (constants.%Self.753)] // CHECK:STDOUT: %U.ref.loc6_37: type = name_ref U, %U.loc6_8.2 [symbolic = %U.loc6_8.1 (constants.%U.2cb)] -// CHECK:STDOUT: %.loc6_38.1: @F.1.%tuple.type.loc6_38.1 (%tuple.type.e59) = tuple_literal (%T.ref, %Self.ref, %U.ref.loc6_37) +// CHECK:STDOUT: %.loc6_38.1: @F.loc6.%tuple.type.loc6_38.1 (%tuple.type.e59) = tuple_literal (%T.ref, %Self.ref, %U.ref.loc6_37) // CHECK:STDOUT: %Self.as_type.loc6_38.2: type = facet_access_type %Self.ref [symbolic = %Self.as_type.loc6_38.1 (constants.%Self.as_type.81d)] // CHECK:STDOUT: %.loc6_38.2: type = converted %Self.ref, %Self.as_type.loc6_38.2 [symbolic = %Self.as_type.loc6_38.1 (constants.%Self.as_type.81d)] // CHECK:STDOUT: %.loc6_38.3: type = converted %.loc6_38.1, constants.%tuple.type.bd2 [symbolic = %tuple.type.loc6_38.2 (constants.%tuple.type.bd2)] // CHECK:STDOUT: %U.loc6_8.2: type = bind_symbolic_name U, 2 [symbolic = %U.loc6_8.1 (constants.%U.2cb)] -// CHECK:STDOUT: %u.param: @F.1.%U.loc6_8.1 (%U.2cb) = value_param call_param0 +// CHECK:STDOUT: %u.param: @F.loc6.%U.loc6_8.1 (%U.2cb) = value_param call_param0 // CHECK:STDOUT: %U.ref.loc6_21: type = name_ref U, %U.loc6_8.2 [symbolic = %U.loc6_8.1 (constants.%U.2cb)] -// CHECK:STDOUT: %u: @F.1.%U.loc6_8.1 (%U.2cb) = bind_name u, %u.param -// CHECK:STDOUT: %return.param: ref @F.1.%tuple.type.loc6_38.2 (%tuple.type.bd2) = out_param call_param1 -// CHECK:STDOUT: %return: ref @F.1.%tuple.type.loc6_38.2 (%tuple.type.bd2) = return_slot %return.param +// CHECK:STDOUT: %u: @F.loc6.%U.loc6_8.1 (%U.2cb) = bind_name u, %u.param +// CHECK:STDOUT: %return.param: ref @F.loc6.%tuple.type.loc6_38.2 (%tuple.type.bd2) = out_param call_param1 +// CHECK:STDOUT: %return: ref @F.loc6.%tuple.type.loc6_38.2 (%tuple.type.bd2) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %assoc0.loc6_39.1: @A.%A.assoc_type (%A.assoc_type.ed3) = assoc_entity element0, %F.decl [symbolic = %assoc0.loc6_39.2 (constants.%assoc0.fcb)] // CHECK:STDOUT: @@ -277,12 +277,12 @@ fn CallIndirect() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @A.impl: %Y.ref as %A.type { -// CHECK:STDOUT: %F.decl: %F.type.436 = fn_decl @F.2 [concrete = constants.%F.ce9] { +// CHECK:STDOUT: %F.decl: %F.type.436 = fn_decl @F.loc16 [concrete = constants.%F.ce9] { // CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 0 [concrete] -// CHECK:STDOUT: %u.patt: @F.2.%pattern_type.loc16_18 (%pattern_type.7dc) = binding_pattern u [concrete] -// CHECK:STDOUT: %u.param_patt: @F.2.%pattern_type.loc16_18 (%pattern_type.7dc) = value_param_pattern %u.patt, call_param0 [concrete] -// CHECK:STDOUT: %return.patt: @F.2.%pattern_type.loc16_24 (%pattern_type.340) = return_slot_pattern [concrete] -// CHECK:STDOUT: %return.param_patt: @F.2.%pattern_type.loc16_24 (%pattern_type.340) = out_param_pattern %return.patt, call_param1 [concrete] +// CHECK:STDOUT: %u.patt: @F.loc16.%pattern_type.loc16_18 (%pattern_type.7dc) = binding_pattern u [concrete] +// CHECK:STDOUT: %u.param_patt: @F.loc16.%pattern_type.loc16_18 (%pattern_type.7dc) = value_param_pattern %u.patt, call_param0 [concrete] +// CHECK:STDOUT: %return.patt: @F.loc16.%pattern_type.loc16_24 (%pattern_type.340) = return_slot_pattern [concrete] +// CHECK:STDOUT: %return.param_patt: @F.loc16.%pattern_type.loc16_24 (%pattern_type.340) = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %X.ref: type = name_ref X, file.%X.decl [concrete = constants.%X] // CHECK:STDOUT: %Y.ref: type = name_ref Y, file.%Y.decl [concrete = constants.%Y] @@ -290,11 +290,11 @@ fn CallIndirect() { // CHECK:STDOUT: %.loc16_35.1: %tuple.type.ff9 = tuple_literal (%X.ref, %Y.ref, %U.ref.loc16_34) // CHECK:STDOUT: %.loc16_35.2: type = converted %.loc16_35.1, constants.%tuple.type.765 [symbolic = %tuple.type.loc16 (constants.%tuple.type.765)] // CHECK:STDOUT: %U.loc16_8.2: type = bind_symbolic_name U, 0 [symbolic = %U.loc16_8.1 (constants.%U.8b3)] -// CHECK:STDOUT: %u.param: @F.2.%U.loc16_8.1 (%U.8b3) = value_param call_param0 +// CHECK:STDOUT: %u.param: @F.loc16.%U.loc16_8.1 (%U.8b3) = value_param call_param0 // CHECK:STDOUT: %U.ref.loc16_21: type = name_ref U, %U.loc16_8.2 [symbolic = %U.loc16_8.1 (constants.%U.8b3)] -// CHECK:STDOUT: %u: @F.2.%U.loc16_8.1 (%U.8b3) = bind_name u, %u.param -// CHECK:STDOUT: %return.param: ref @F.2.%tuple.type.loc16 (%tuple.type.765) = out_param call_param1 -// CHECK:STDOUT: %return: ref @F.2.%tuple.type.loc16 (%tuple.type.765) = return_slot %return.param +// CHECK:STDOUT: %u: @F.loc16.%U.loc16_8.1 (%U.8b3) = bind_name u, %u.param +// CHECK:STDOUT: %return.param: ref @F.loc16.%tuple.type.loc16 (%tuple.type.765) = out_param call_param1 +// CHECK:STDOUT: %return: ref @F.loc16.%tuple.type.loc16 (%tuple.type.765) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -331,21 +331,21 @@ fn CallIndirect() { // CHECK:STDOUT: .Self = constants.%Z // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.1(@A.%T.loc5_13.1: type, @A.%Self.1: @A.%A.type (%A.type.75a), %U.loc6_8.2: type) { +// CHECK:STDOUT: generic fn @F.loc6(@A.%T.loc5_13.1: type, @A.%Self.1: @A.%A.type (%A.type.75a), %U.loc6_8.2: type) { // CHECK:STDOUT: %U.loc6_8.1: type = bind_symbolic_name U, 2 [symbolic = %U.loc6_8.1 (constants.%U.2cb)] // CHECK:STDOUT: %pattern_type.loc6_18: type = pattern_type %U.loc6_8.1 [symbolic = %pattern_type.loc6_18 (constants.%pattern_type.20f)] // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic = %T (constants.%T.8b3)] // CHECK:STDOUT: %A.type: type = facet_type <@A, @A(%T)> [symbolic = %A.type (constants.%A.type.75a)] -// CHECK:STDOUT: %Self: @F.1.%A.type (%A.type.75a) = bind_symbolic_name Self, 1 [symbolic = %Self (constants.%Self.753)] +// CHECK:STDOUT: %Self: @F.loc6.%A.type (%A.type.75a) = bind_symbolic_name Self, 1 [symbolic = %Self (constants.%Self.753)] // CHECK:STDOUT: %tuple.type.loc6_38.1: type = tuple_type (type, %A.type, type) [symbolic = %tuple.type.loc6_38.1 (constants.%tuple.type.e59)] // CHECK:STDOUT: %Self.as_type.loc6_38.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc6_38.1 (constants.%Self.as_type.81d)] // CHECK:STDOUT: %tuple.type.loc6_38.2: type = tuple_type (%T, %Self.as_type.loc6_38.1, %U.loc6_8.1) [symbolic = %tuple.type.loc6_38.2 (constants.%tuple.type.bd2)] // CHECK:STDOUT: %pattern_type.loc6_24: type = pattern_type %tuple.type.loc6_38.2 [symbolic = %pattern_type.loc6_24 (constants.%pattern_type.44c)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%u.param: @F.1.%U.loc6_8.1 (%U.2cb)) -> @F.1.%tuple.type.loc6_38.2 (%tuple.type.bd2); +// CHECK:STDOUT: fn(%u.param: @F.loc6.%U.loc6_8.1 (%U.2cb)) -> @F.loc6.%tuple.type.loc6_38.2 (%tuple.type.bd2); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.2(%U.loc16_8.2: type) { +// CHECK:STDOUT: generic fn @F.loc16(%U.loc16_8.2: type) { // CHECK:STDOUT: %U.loc16_8.1: type = bind_symbolic_name U, 0 [symbolic = %U.loc16_8.1 (constants.%U.8b3)] // CHECK:STDOUT: %pattern_type.loc16_18: type = pattern_type %U.loc16_8.1 [symbolic = %pattern_type.loc16_18 (constants.%pattern_type.7dc)] // CHECK:STDOUT: %tuple.type.loc16: type = tuple_type (constants.%X, constants.%Y, %U.loc16_8.1) [symbolic = %tuple.type.loc16 (constants.%tuple.type.765)] @@ -356,22 +356,22 @@ fn CallIndirect() { // CHECK:STDOUT: %require_complete.loc16_19: = require_complete_type %U.loc16_8.1 [symbolic = %require_complete.loc16_19 (constants.%require_complete.4ae)] // CHECK:STDOUT: %tuple.type.loc17: type = tuple_type (constants.%empty_struct_type, constants.%empty_struct_type, %U.loc16_8.1) [symbolic = %tuple.type.loc17 (constants.%tuple.type.a41)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%u.param: @F.2.%U.loc16_8.1 (%U.8b3)) -> %return.param: @F.2.%tuple.type.loc16 (%tuple.type.765) { +// CHECK:STDOUT: fn(%u.param: @F.loc16.%U.loc16_8.1 (%U.8b3)) -> %return.param: @F.loc16.%tuple.type.loc16 (%tuple.type.765) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc17_14.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc17_18.1: %empty_struct_type = struct_literal () -// CHECK:STDOUT: %u.ref: @F.2.%U.loc16_8.1 (%U.8b3) = name_ref u, %u -// CHECK:STDOUT: %.loc17_22.1: @F.2.%tuple.type.loc17 (%tuple.type.a41) = tuple_literal (%.loc17_14.1, %.loc17_18.1, %u.ref) +// CHECK:STDOUT: %u.ref: @F.loc16.%U.loc16_8.1 (%U.8b3) = name_ref u, %u +// CHECK:STDOUT: %.loc17_22.1: @F.loc16.%tuple.type.loc17 (%tuple.type.a41) = tuple_literal (%.loc17_14.1, %.loc17_18.1, %u.ref) // CHECK:STDOUT: %tuple.elem0: ref %X = tuple_access %return, element0 // CHECK:STDOUT: %.loc17_14.2: init %X = class_init (), %tuple.elem0 [concrete = constants.%X.val] // CHECK:STDOUT: %.loc17_22.2: init %X = converted %.loc17_14.1, %.loc17_14.2 [concrete = constants.%X.val] // CHECK:STDOUT: %tuple.elem1: ref %Y = tuple_access %return, element1 // CHECK:STDOUT: %.loc17_18.2: init %Y = class_init (), %tuple.elem1 [concrete = constants.%Y.val] // CHECK:STDOUT: %.loc17_22.3: init %Y = converted %.loc17_18.1, %.loc17_18.2 [concrete = constants.%Y.val] -// CHECK:STDOUT: %tuple.elem2: ref @F.2.%U.loc16_8.1 (%U.8b3) = tuple_access %return, element2 -// CHECK:STDOUT: %.loc17_22.4: init @F.2.%U.loc16_8.1 (%U.8b3) = initialize_from %u.ref to %tuple.elem2 -// CHECK:STDOUT: %.loc17_22.5: init @F.2.%tuple.type.loc16 (%tuple.type.765) = tuple_init (%.loc17_22.2, %.loc17_22.3, %.loc17_22.4) to %return -// CHECK:STDOUT: %.loc17_23: init @F.2.%tuple.type.loc16 (%tuple.type.765) = converted %.loc17_22.1, %.loc17_22.5 +// CHECK:STDOUT: %tuple.elem2: ref @F.loc16.%U.loc16_8.1 (%U.8b3) = tuple_access %return, element2 +// CHECK:STDOUT: %.loc17_22.4: init @F.loc16.%U.loc16_8.1 (%U.8b3) = initialize_from %u.ref to %tuple.elem2 +// CHECK:STDOUT: %.loc17_22.5: init @F.loc16.%tuple.type.loc16 (%tuple.type.765) = tuple_init (%.loc17_22.2, %.loc17_22.3, %.loc17_22.4) to %return +// CHECK:STDOUT: %.loc17_23: init @F.loc16.%tuple.type.loc16 (%tuple.type.765) = converted %.loc17_22.1, %.loc17_22.5 // CHECK:STDOUT: return %.loc17_23 to %return // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -391,7 +391,7 @@ fn CallIndirect() { // CHECK:STDOUT: %impl.elem0: %.a60 = impl_witness_access constants.%A.impl_witness, element0 [concrete = constants.%F.ce9] // CHECK:STDOUT: %Z.ref: type = name_ref Z, file.%Z.decl [concrete = constants.%Z] // CHECK:STDOUT: %.loc22_21.1: %empty_struct_type = struct_literal () -// CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @F.2(constants.%Z) [concrete = constants.%F.specific_fn] +// CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @F.loc16(constants.%Z) [concrete = constants.%F.specific_fn] // CHECK:STDOUT: %.loc22_22.1: ref %tuple.type.f6b = temporary_storage // CHECK:STDOUT: %.loc22_21.2: ref %Z = temporary_storage // CHECK:STDOUT: %.loc22_21.3: init %Z = class_init (), %.loc22_21.2 [concrete = constants.%Z.val] @@ -422,7 +422,7 @@ fn CallIndirect() { // CHECK:STDOUT: %A.facet: %A.type.91f = facet_value %T.as_type.loc26_4.2, (%A.lookup_impl_witness) [symbolic = %A.facet (constants.%A.facet.11f)] // CHECK:STDOUT: %.loc26_4.3: type = fn_type_with_self_type constants.%F.type.13d, %A.facet [symbolic = %.loc26_4.3 (constants.%.ffa)] // CHECK:STDOUT: %impl.elem0.loc26_4.2: @CallGeneric.%.loc26_4.3 (%.ffa) = impl_witness_access %A.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc26_4.2 (constants.%impl.elem0.0e5)] -// CHECK:STDOUT: %specific_impl_fn.loc26_4.2: = specific_impl_function %impl.elem0.loc26_4.2, @F.1(constants.%X, %A.facet, constants.%Z) [symbolic = %specific_impl_fn.loc26_4.2 (constants.%specific_impl_fn.e7e)] +// CHECK:STDOUT: %specific_impl_fn.loc26_4.2: = specific_impl_function %impl.elem0.loc26_4.2, @F.loc6(constants.%X, %A.facet, constants.%Z) [symbolic = %specific_impl_fn.loc26_4.2 (constants.%specific_impl_fn.e7e)] // CHECK:STDOUT: %tuple.type: type = tuple_type (constants.%X, %T.as_type.loc26_4.2, constants.%Z) [symbolic = %tuple.type (constants.%tuple.type.e28)] // CHECK:STDOUT: %require_complete.loc26_12.1: = require_complete_type %tuple.type [symbolic = %require_complete.loc26_12.1 (constants.%require_complete.500)] // CHECK:STDOUT: %Destroy.lookup_impl_witness: = lookup_impl_witness %tuple.type, @Destroy [symbolic = %Destroy.lookup_impl_witness (constants.%Destroy.lookup_impl_witness)] @@ -443,7 +443,7 @@ fn CallIndirect() { // CHECK:STDOUT: %impl.elem0.loc26_4.1: @CallGeneric.%.loc26_4.3 (%.ffa) = impl_witness_access constants.%A.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc26_4.2 (constants.%impl.elem0.0e5)] // CHECK:STDOUT: %Z.ref: type = name_ref Z, file.%Z.decl [concrete = constants.%Z] // CHECK:STDOUT: %.loc26_11.1: %empty_struct_type = struct_literal () -// CHECK:STDOUT: %specific_impl_fn.loc26_4.1: = specific_impl_function %impl.elem0.loc26_4.1, @F.1(constants.%X, constants.%A.facet.11f, constants.%Z) [symbolic = %specific_impl_fn.loc26_4.2 (constants.%specific_impl_fn.e7e)] +// CHECK:STDOUT: %specific_impl_fn.loc26_4.1: = specific_impl_function %impl.elem0.loc26_4.1, @F.loc6(constants.%X, constants.%A.facet.11f, constants.%Z) [symbolic = %specific_impl_fn.loc26_4.2 (constants.%specific_impl_fn.e7e)] // CHECK:STDOUT: %.loc26_12.1: ref @CallGeneric.%tuple.type (%tuple.type.e28) = temporary_storage // CHECK:STDOUT: %.loc26_11.2: ref %Z = temporary_storage // CHECK:STDOUT: %.loc26_11.3: init %Z = class_init (), %.loc26_11.2 [concrete = constants.%Z.val] @@ -482,7 +482,7 @@ fn CallIndirect() { // CHECK:STDOUT: %T.loc5_13.2 => constants.%T.8b3 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%T.8b3, constants.%Self.753, constants.%U.2cb) { +// CHECK:STDOUT: specific @F.loc6(constants.%T.8b3, constants.%Self.753, constants.%U.2cb) { // CHECK:STDOUT: %U.loc6_8.1 => constants.%U.2cb // CHECK:STDOUT: %pattern_type.loc6_18 => constants.%pattern_type.20f // CHECK:STDOUT: %T => constants.%T.8b3 @@ -506,14 +506,14 @@ fn CallIndirect() { // CHECK:STDOUT: %assoc0.loc6_39.2 => constants.%assoc0.5f6 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.2(constants.%U.8b3) { +// CHECK:STDOUT: specific @F.loc16(constants.%U.8b3) { // CHECK:STDOUT: %U.loc16_8.1 => constants.%U.8b3 // CHECK:STDOUT: %pattern_type.loc16_18 => constants.%pattern_type.7dc // CHECK:STDOUT: %tuple.type.loc16 => constants.%tuple.type.765 // CHECK:STDOUT: %pattern_type.loc16_24 => constants.%pattern_type.340 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%X, constants.%A.facet.552, constants.%U.8b3) { +// CHECK:STDOUT: specific @F.loc6(constants.%X, constants.%A.facet.552, constants.%U.8b3) { // CHECK:STDOUT: %U.loc6_8.1 => constants.%U.8b3 // CHECK:STDOUT: %pattern_type.loc6_18 => constants.%pattern_type.7dc // CHECK:STDOUT: %T => constants.%X @@ -525,7 +525,7 @@ fn CallIndirect() { // CHECK:STDOUT: %pattern_type.loc6_24 => constants.%pattern_type.340 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.2(constants.%Z) { +// CHECK:STDOUT: specific @F.loc16(constants.%Z) { // CHECK:STDOUT: %U.loc16_8.1 => constants.%Z // CHECK:STDOUT: %pattern_type.loc16_18 => constants.%pattern_type.8f9 // CHECK:STDOUT: %tuple.type.loc16 => constants.%tuple.type.f6b @@ -541,7 +541,7 @@ fn CallIndirect() { // CHECK:STDOUT: %T.loc25_16.2 => constants.%T.9c2 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%X, constants.%A.facet.11f, constants.%Z) { +// CHECK:STDOUT: specific @F.loc6(constants.%X, constants.%A.facet.11f, constants.%Z) { // CHECK:STDOUT: %U.loc6_8.1 => constants.%Z // CHECK:STDOUT: %pattern_type.loc6_18 => constants.%pattern_type.8f9 // CHECK:STDOUT: %T => constants.%X @@ -574,7 +574,7 @@ fn CallIndirect() { // CHECK:STDOUT: %require_complete.loc26_12.2 => constants.%complete_type.456 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%X, constants.%A.facet.552, constants.%Z) { +// CHECK:STDOUT: specific @F.loc6(constants.%X, constants.%A.facet.552, constants.%Z) { // CHECK:STDOUT: %U.loc6_8.1 => constants.%Z // CHECK:STDOUT: %pattern_type.loc6_18 => constants.%pattern_type.8f9 // CHECK:STDOUT: %T => constants.%X @@ -602,7 +602,7 @@ fn CallIndirect() { // CHECK:STDOUT: %Self.as_type.81d: type = facet_access_type %Self.753 [symbolic] // CHECK:STDOUT: %tuple.type.bd2: type = tuple_type (%T.8b3, %Self.as_type.81d, %U.2cb) [symbolic] // CHECK:STDOUT: %pattern_type.44c: type = pattern_type %tuple.type.bd2 [symbolic] -// CHECK:STDOUT: %F.type.17a: type = fn_type @F.1, @A(%T.8b3) [symbolic] +// CHECK:STDOUT: %F.type.17a: type = fn_type @F.loc6, @A(%T.8b3) [symbolic] // CHECK:STDOUT: %F.0d8: %F.type.17a = struct_value () [symbolic] // CHECK:STDOUT: %A.assoc_type.ed3: type = assoc_entity_type @A, @A(%T.8b3) [symbolic] // CHECK:STDOUT: %assoc0.fcb: %A.assoc_type.ed3 = assoc_entity element0, @A.%F.decl [symbolic] @@ -619,7 +619,7 @@ fn CallIndirect() { // CHECK:STDOUT: %tuple.type.30b: type = tuple_type (%V1, %V2) [symbolic] // CHECK:STDOUT: %A.type.f21: type = facet_type <@A, @A(%W)> [symbolic] // CHECK:STDOUT: %Self.4fe: %A.type.f21 = bind_symbolic_name Self, 1 [symbolic] -// CHECK:STDOUT: %F.type.904: type = fn_type @F.1, @A(%W) [symbolic] +// CHECK:STDOUT: %F.type.904: type = fn_type @F.loc6, @A(%W) [symbolic] // CHECK:STDOUT: %F.1ee: %F.type.904 = struct_value () [symbolic] // CHECK:STDOUT: %A.assoc_type.b05: type = assoc_entity_type @A, @A(%W) [symbolic] // CHECK:STDOUT: %assoc0.c82: %A.assoc_type.b05 = assoc_entity element0, @A.%F.decl [symbolic] @@ -630,13 +630,13 @@ fn CallIndirect() { // CHECK:STDOUT: %tuple.type.11f: type = tuple_type (type, %tuple.type.24b, type) [concrete] // CHECK:STDOUT: %tuple.type.8ae: type = tuple_type (%W, %tuple.type.30b, %U.753) [symbolic] // CHECK:STDOUT: %pattern_type.d4a: type = pattern_type %tuple.type.8ae [symbolic] -// CHECK:STDOUT: %F.type.b3e: type = fn_type @F.2, @A.impl(%V1, %V2, %W) [symbolic] +// CHECK:STDOUT: %F.type.b3e: type = fn_type @F.loc17, @A.impl(%V1, %V2, %W) [symbolic] // CHECK:STDOUT: %F.d79: %F.type.b3e = struct_value () [symbolic] // CHECK:STDOUT: %A.facet.461: %A.type.f21 = facet_value %tuple.type.30b, (%A.impl_witness.f15) [symbolic] // CHECK:STDOUT: %tuple.type.136: type = tuple_type (type, %A.type.f21, type) [symbolic] // CHECK:STDOUT: %require_complete.d4d: = require_complete_type %tuple.type.8ae [symbolic] // CHECK:STDOUT: %require_complete.ed4: = require_complete_type %U.753 [symbolic] -// CHECK:STDOUT: %F.specific_fn.7d9: = specific_function %F.d79, @F.2(%V1, %V2, %W, %U.753) [symbolic] +// CHECK:STDOUT: %F.specific_fn.7d9: = specific_function %F.d79, @F.loc17(%V1, %V2, %W, %U.753) [symbolic] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %Op.type.bae: type = fn_type @Op.1 [concrete] // CHECK:STDOUT: %Op.type.bc9: type = fn_type @Op.2, @Destroy.impl(%T.8b3) [symbolic] @@ -653,20 +653,20 @@ fn CallIndirect() { // CHECK:STDOUT: %tuple.type.a46: type = tuple_type (%Y1, %Y2) [concrete] // CHECK:STDOUT: %A.type.91f: type = facet_type <@A, @A(%X)> [concrete] // CHECK:STDOUT: %Self.1bb: %A.type.91f = bind_symbolic_name Self, 1 [symbolic] -// CHECK:STDOUT: %F.type.13d: type = fn_type @F.1, @A(%X) [concrete] +// CHECK:STDOUT: %F.type.13d: type = fn_type @F.loc6, @A(%X) [concrete] // CHECK:STDOUT: %F.d83: %F.type.13d = struct_value () [concrete] // CHECK:STDOUT: %A.assoc_type.296: type = assoc_entity_type @A, @A(%X) [concrete] // CHECK:STDOUT: %assoc0.5f6: %A.assoc_type.296 = assoc_entity element0, @A.%F.decl [concrete] // CHECK:STDOUT: %complete_type.d76: = complete_type_witness %A.type.91f [concrete] // CHECK:STDOUT: %A.impl_witness.8ac: = impl_witness file.%A.impl_witness_table, @A.impl(%Y1, %Y2, %X) [concrete] -// CHECK:STDOUT: %F.type.bf7: type = fn_type @F.2, @A.impl(%Y1, %Y2, %X) [concrete] +// CHECK:STDOUT: %F.type.bf7: type = fn_type @F.loc17, @A.impl(%Y1, %Y2, %X) [concrete] // CHECK:STDOUT: %F.93b: %F.type.bf7 = struct_value () [concrete] // CHECK:STDOUT: %A.facet.414: %A.type.91f = facet_value %tuple.type.a46, (%A.impl_witness.8ac) [concrete] // CHECK:STDOUT: %.406: type = fn_type_with_self_type %F.type.13d, %A.facet.414 [concrete] // CHECK:STDOUT: %pattern_type.8f9: type = pattern_type %Z [concrete] // CHECK:STDOUT: %tuple.type.415: type = tuple_type (%X, %tuple.type.a46, %Z) [concrete] // CHECK:STDOUT: %pattern_type.0b2: type = pattern_type %tuple.type.415 [concrete] -// CHECK:STDOUT: %F.specific_fn.79b: = specific_function %F.93b, @F.2(%Y1, %Y2, %X, %Z) [concrete] +// CHECK:STDOUT: %F.specific_fn.79b: = specific_function %F.93b, @F.loc17(%Y1, %Y2, %X, %Z) [concrete] // CHECK:STDOUT: %Z.val: %Z = struct_value () [concrete] // CHECK:STDOUT: %Op.type.f73: type = fn_type @Op.2, @Destroy.impl(%Z) [concrete] // CHECK:STDOUT: %Op.6e3: %Op.type.f73 = struct_value () [concrete] @@ -692,7 +692,7 @@ fn CallIndirect() { // CHECK:STDOUT: %tuple.type.a0c: type = tuple_type (type, %A.type.91f, type) [concrete] // CHECK:STDOUT: %tuple.type.e28: type = tuple_type (%X, %T.as_type, %Z) [symbolic] // CHECK:STDOUT: %pattern_type.f25: type = pattern_type %tuple.type.e28 [symbolic] -// CHECK:STDOUT: %specific_impl_fn.e7e: = specific_impl_function %impl.elem0.0e5, @F.1(%X, %A.facet.11f, %Z) [symbolic] +// CHECK:STDOUT: %specific_impl_fn.e7e: = specific_impl_function %impl.elem0.0e5, @F.loc6(%X, %A.facet.11f, %Z) [symbolic] // CHECK:STDOUT: %require_complete.500: = require_complete_type %tuple.type.e28 [symbolic] // CHECK:STDOUT: %ptr.103: type = ptr_type %tuple.type.e28 [symbolic] // CHECK:STDOUT: %require_complete.8d3: = require_complete_type %ptr.103 [symbolic] @@ -778,34 +778,34 @@ fn CallIndirect() { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %A.type: type = facet_type <@A, @A(%T.loc5_13.2)> [symbolic = %A.type (constants.%A.type.75a)] // CHECK:STDOUT: %Self.2: @A.%A.type (%A.type.75a) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.753)] -// CHECK:STDOUT: %F.type: type = fn_type @F.1, @A(%T.loc5_13.2) [symbolic = %F.type (constants.%F.type.17a)] +// CHECK:STDOUT: %F.type: type = fn_type @F.loc6, @A(%T.loc5_13.2) [symbolic = %F.type (constants.%F.type.17a)] // CHECK:STDOUT: %F: @A.%F.type (%F.type.17a) = struct_value () [symbolic = %F (constants.%F.0d8)] // CHECK:STDOUT: %A.assoc_type: type = assoc_entity_type @A, @A(%T.loc5_13.2) [symbolic = %A.assoc_type (constants.%A.assoc_type.ed3)] // CHECK:STDOUT: %assoc0.loc6_39.2: @A.%A.assoc_type (%A.assoc_type.ed3) = assoc_entity element0, %F.decl [symbolic = %assoc0.loc6_39.2 (constants.%assoc0.fcb)] // CHECK:STDOUT: // CHECK:STDOUT: interface { // CHECK:STDOUT: %Self.1: @A.%A.type (%A.type.75a) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.753)] -// CHECK:STDOUT: %F.decl: @A.%F.type (%F.type.17a) = fn_decl @F.1 [symbolic = @A.%F (constants.%F.0d8)] { +// CHECK:STDOUT: %F.decl: @A.%F.type (%F.type.17a) = fn_decl @F.loc6 [symbolic = @A.%F (constants.%F.0d8)] { // CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 2 [concrete] -// CHECK:STDOUT: %u.patt: @F.1.%pattern_type.loc6_18 (%pattern_type.20f) = binding_pattern u [concrete] -// CHECK:STDOUT: %u.param_patt: @F.1.%pattern_type.loc6_18 (%pattern_type.20f) = value_param_pattern %u.patt, call_param0 [concrete] -// CHECK:STDOUT: %return.patt: @F.1.%pattern_type.loc6_24 (%pattern_type.44c) = return_slot_pattern [concrete] -// CHECK:STDOUT: %return.param_patt: @F.1.%pattern_type.loc6_24 (%pattern_type.44c) = out_param_pattern %return.patt, call_param1 [concrete] +// CHECK:STDOUT: %u.patt: @F.loc6.%pattern_type.loc6_18 (%pattern_type.20f) = binding_pattern u [concrete] +// CHECK:STDOUT: %u.param_patt: @F.loc6.%pattern_type.loc6_18 (%pattern_type.20f) = value_param_pattern %u.patt, call_param0 [concrete] +// CHECK:STDOUT: %return.patt: @F.loc6.%pattern_type.loc6_24 (%pattern_type.44c) = return_slot_pattern [concrete] +// CHECK:STDOUT: %return.param_patt: @F.loc6.%pattern_type.loc6_24 (%pattern_type.44c) = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, @A.%T.loc5_13.1 [symbolic = %T (constants.%T.8b3)] -// CHECK:STDOUT: %.loc6_31: @F.1.%A.type (%A.type.75a) = specific_constant @A.%Self.1, @A(constants.%T.8b3) [symbolic = %Self (constants.%Self.753)] -// CHECK:STDOUT: %Self.ref: @F.1.%A.type (%A.type.75a) = name_ref Self, %.loc6_31 [symbolic = %Self (constants.%Self.753)] +// CHECK:STDOUT: %.loc6_31: @F.loc6.%A.type (%A.type.75a) = specific_constant @A.%Self.1, @A(constants.%T.8b3) [symbolic = %Self (constants.%Self.753)] +// CHECK:STDOUT: %Self.ref: @F.loc6.%A.type (%A.type.75a) = name_ref Self, %.loc6_31 [symbolic = %Self (constants.%Self.753)] // CHECK:STDOUT: %U.ref.loc6_37: type = name_ref U, %U.loc6_8.2 [symbolic = %U.loc6_8.1 (constants.%U.2cb)] -// CHECK:STDOUT: %.loc6_38.1: @F.1.%tuple.type.loc6_38.1 (%tuple.type.e59) = tuple_literal (%T.ref, %Self.ref, %U.ref.loc6_37) +// CHECK:STDOUT: %.loc6_38.1: @F.loc6.%tuple.type.loc6_38.1 (%tuple.type.e59) = tuple_literal (%T.ref, %Self.ref, %U.ref.loc6_37) // CHECK:STDOUT: %Self.as_type.loc6_38.2: type = facet_access_type %Self.ref [symbolic = %Self.as_type.loc6_38.1 (constants.%Self.as_type.81d)] // CHECK:STDOUT: %.loc6_38.2: type = converted %Self.ref, %Self.as_type.loc6_38.2 [symbolic = %Self.as_type.loc6_38.1 (constants.%Self.as_type.81d)] // CHECK:STDOUT: %.loc6_38.3: type = converted %.loc6_38.1, constants.%tuple.type.bd2 [symbolic = %tuple.type.loc6_38.2 (constants.%tuple.type.bd2)] // CHECK:STDOUT: %U.loc6_8.2: type = bind_symbolic_name U, 2 [symbolic = %U.loc6_8.1 (constants.%U.2cb)] -// CHECK:STDOUT: %u.param: @F.1.%U.loc6_8.1 (%U.2cb) = value_param call_param0 +// CHECK:STDOUT: %u.param: @F.loc6.%U.loc6_8.1 (%U.2cb) = value_param call_param0 // CHECK:STDOUT: %U.ref.loc6_21: type = name_ref U, %U.loc6_8.2 [symbolic = %U.loc6_8.1 (constants.%U.2cb)] -// CHECK:STDOUT: %u: @F.1.%U.loc6_8.1 (%U.2cb) = bind_name u, %u.param -// CHECK:STDOUT: %return.param: ref @F.1.%tuple.type.loc6_38.2 (%tuple.type.bd2) = out_param call_param1 -// CHECK:STDOUT: %return: ref @F.1.%tuple.type.loc6_38.2 (%tuple.type.bd2) = return_slot %return.param +// CHECK:STDOUT: %u: @F.loc6.%U.loc6_8.1 (%U.2cb) = bind_name u, %u.param +// CHECK:STDOUT: %return.param: ref @F.loc6.%tuple.type.loc6_38.2 (%tuple.type.bd2) = out_param call_param1 +// CHECK:STDOUT: %return: ref @F.loc6.%tuple.type.loc6_38.2 (%tuple.type.bd2) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %assoc0.loc6_39.1: @A.%A.assoc_type (%A.assoc_type.ed3) = assoc_entity element0, %F.decl [symbolic = %assoc0.loc6_39.2 (constants.%assoc0.fcb)] // CHECK:STDOUT: @@ -827,16 +827,16 @@ fn CallIndirect() { // CHECK:STDOUT: %A.impl_witness: = impl_witness file.%A.impl_witness_table, @A.impl(%V1.loc14_14.2, %V2.loc14_25.2, %W.loc14_36.2) [symbolic = %A.impl_witness (constants.%A.impl_witness.f15)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %F.type: type = fn_type @F.2, @A.impl(%V1.loc14_14.2, %V2.loc14_25.2, %W.loc14_36.2) [symbolic = %F.type (constants.%F.type.b3e)] +// CHECK:STDOUT: %F.type: type = fn_type @F.loc17, @A.impl(%V1.loc14_14.2, %V2.loc14_25.2, %W.loc14_36.2) [symbolic = %F.type (constants.%F.type.b3e)] // CHECK:STDOUT: %F: @A.impl.%F.type (%F.type.b3e) = struct_value () [symbolic = %F (constants.%F.d79)] // CHECK:STDOUT: // CHECK:STDOUT: impl: %.loc14_53.2 as %A.type.loc14_61.1 { -// CHECK:STDOUT: %F.decl: @A.impl.%F.type (%F.type.b3e) = fn_decl @F.2 [symbolic = @A.impl.%F (constants.%F.d79)] { +// CHECK:STDOUT: %F.decl: @A.impl.%F.type (%F.type.b3e) = fn_decl @F.loc17 [symbolic = @A.impl.%F (constants.%F.d79)] { // CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 3 [concrete] -// CHECK:STDOUT: %u.patt: @F.2.%pattern_type.loc17_18 (%pattern_type.549) = binding_pattern u [concrete] -// CHECK:STDOUT: %u.param_patt: @F.2.%pattern_type.loc17_18 (%pattern_type.549) = value_param_pattern %u.patt, call_param0 [concrete] -// CHECK:STDOUT: %return.patt: @F.2.%pattern_type.loc17_24 (%pattern_type.d4a) = return_slot_pattern [concrete] -// CHECK:STDOUT: %return.param_patt: @F.2.%pattern_type.loc17_24 (%pattern_type.d4a) = out_param_pattern %return.patt, call_param1 [concrete] +// CHECK:STDOUT: %u.patt: @F.loc17.%pattern_type.loc17_18 (%pattern_type.549) = binding_pattern u [concrete] +// CHECK:STDOUT: %u.param_patt: @F.loc17.%pattern_type.loc17_18 (%pattern_type.549) = value_param_pattern %u.patt, call_param0 [concrete] +// CHECK:STDOUT: %return.patt: @F.loc17.%pattern_type.loc17_24 (%pattern_type.d4a) = return_slot_pattern [concrete] +// CHECK:STDOUT: %return.param_patt: @F.loc17.%pattern_type.loc17_24 (%pattern_type.d4a) = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %W.ref: type = name_ref W, @A.impl.%W.loc14_36.1 [symbolic = %W (constants.%W)] // CHECK:STDOUT: %V1.ref: type = name_ref V1, @A.impl.%V1.loc14_14.1 [symbolic = %V1 (constants.%V1)] @@ -847,11 +847,11 @@ fn CallIndirect() { // CHECK:STDOUT: %.loc17_42.2: type = converted %.loc17_38, constants.%tuple.type.30b [symbolic = %tuple.type.loc17_42.1 (constants.%tuple.type.30b)] // CHECK:STDOUT: %.loc17_42.3: type = converted %.loc17_42.1, constants.%tuple.type.8ae [symbolic = %tuple.type.loc17_42.2 (constants.%tuple.type.8ae)] // CHECK:STDOUT: %U.loc17_8.2: type = bind_symbolic_name U, 3 [symbolic = %U.loc17_8.1 (constants.%U.753)] -// CHECK:STDOUT: %u.param: @F.2.%U.loc17_8.1 (%U.753) = value_param call_param0 +// CHECK:STDOUT: %u.param: @F.loc17.%U.loc17_8.1 (%U.753) = value_param call_param0 // CHECK:STDOUT: %U.ref.loc17_21: type = name_ref U, %U.loc17_8.2 [symbolic = %U.loc17_8.1 (constants.%U.753)] -// CHECK:STDOUT: %u: @F.2.%U.loc17_8.1 (%U.753) = bind_name u, %u.param -// CHECK:STDOUT: %return.param: ref @F.2.%tuple.type.loc17_42.2 (%tuple.type.8ae) = out_param call_param1 -// CHECK:STDOUT: %return: ref @F.2.%tuple.type.loc17_42.2 (%tuple.type.8ae) = return_slot %return.param +// CHECK:STDOUT: %u: @F.loc17.%U.loc17_8.1 (%U.753) = bind_name u, %u.param +// CHECK:STDOUT: %return.param: ref @F.loc17.%tuple.type.loc17_42.2 (%tuple.type.8ae) = out_param call_param1 +// CHECK:STDOUT: %return: ref @F.loc17.%tuple.type.loc17_42.2 (%tuple.type.8ae) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -899,21 +899,21 @@ fn CallIndirect() { // CHECK:STDOUT: .Self = constants.%Z // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.1(@A.%T.loc5_13.1: type, @A.%Self.1: @A.%A.type (%A.type.75a), %U.loc6_8.2: type) { +// CHECK:STDOUT: generic fn @F.loc6(@A.%T.loc5_13.1: type, @A.%Self.1: @A.%A.type (%A.type.75a), %U.loc6_8.2: type) { // CHECK:STDOUT: %U.loc6_8.1: type = bind_symbolic_name U, 2 [symbolic = %U.loc6_8.1 (constants.%U.2cb)] // CHECK:STDOUT: %pattern_type.loc6_18: type = pattern_type %U.loc6_8.1 [symbolic = %pattern_type.loc6_18 (constants.%pattern_type.20f)] // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic = %T (constants.%T.8b3)] // CHECK:STDOUT: %A.type: type = facet_type <@A, @A(%T)> [symbolic = %A.type (constants.%A.type.75a)] -// CHECK:STDOUT: %Self: @F.1.%A.type (%A.type.75a) = bind_symbolic_name Self, 1 [symbolic = %Self (constants.%Self.753)] +// CHECK:STDOUT: %Self: @F.loc6.%A.type (%A.type.75a) = bind_symbolic_name Self, 1 [symbolic = %Self (constants.%Self.753)] // CHECK:STDOUT: %tuple.type.loc6_38.1: type = tuple_type (type, %A.type, type) [symbolic = %tuple.type.loc6_38.1 (constants.%tuple.type.e59)] // CHECK:STDOUT: %Self.as_type.loc6_38.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc6_38.1 (constants.%Self.as_type.81d)] // CHECK:STDOUT: %tuple.type.loc6_38.2: type = tuple_type (%T, %Self.as_type.loc6_38.1, %U.loc6_8.1) [symbolic = %tuple.type.loc6_38.2 (constants.%tuple.type.bd2)] // CHECK:STDOUT: %pattern_type.loc6_24: type = pattern_type %tuple.type.loc6_38.2 [symbolic = %pattern_type.loc6_24 (constants.%pattern_type.44c)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%u.param: @F.1.%U.loc6_8.1 (%U.2cb)) -> @F.1.%tuple.type.loc6_38.2 (%tuple.type.bd2); +// CHECK:STDOUT: fn(%u.param: @F.loc6.%U.loc6_8.1 (%U.2cb)) -> @F.loc6.%tuple.type.loc6_38.2 (%tuple.type.bd2); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.2(@A.impl.%V1.loc14_14.1: type, @A.impl.%V2.loc14_25.1: type, @A.impl.%W.loc14_36.1: type, %U.loc17_8.2: type) { +// CHECK:STDOUT: generic fn @F.loc17(@A.impl.%V1.loc14_14.1: type, @A.impl.%V2.loc14_25.1: type, @A.impl.%W.loc14_36.1: type, %U.loc17_8.2: type) { // CHECK:STDOUT: %U.loc17_8.1: type = bind_symbolic_name U, 3 [symbolic = %U.loc17_8.1 (constants.%U.753)] // CHECK:STDOUT: %pattern_type.loc17_18: type = pattern_type %U.loc17_8.1 [symbolic = %pattern_type.loc17_18 (constants.%pattern_type.549)] // CHECK:STDOUT: %W: type = bind_symbolic_name W, 2 [symbolic = %W (constants.%W)] @@ -926,31 +926,31 @@ fn CallIndirect() { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete.loc17_24.1: = require_complete_type %tuple.type.loc17_42.2 [symbolic = %require_complete.loc17_24.1 (constants.%require_complete.d4d)] // CHECK:STDOUT: %require_complete.loc17_19: = require_complete_type %U.loc17_8.1 [symbolic = %require_complete.loc17_19 (constants.%require_complete.ed4)] -// CHECK:STDOUT: %F.type: type = fn_type @F.2, @A.impl(%V1, %V2, %W) [symbolic = %F.type (constants.%F.type.b3e)] -// CHECK:STDOUT: %F: @F.2.%F.type (%F.type.b3e) = struct_value () [symbolic = %F (constants.%F.d79)] -// CHECK:STDOUT: %F.specific_fn.loc18_12.2: = specific_function %F, @F.2(%V1, %V2, %W, %U.loc17_8.1) [symbolic = %F.specific_fn.loc18_12.2 (constants.%F.specific_fn.7d9)] +// CHECK:STDOUT: %F.type: type = fn_type @F.loc17, @A.impl(%V1, %V2, %W) [symbolic = %F.type (constants.%F.type.b3e)] +// CHECK:STDOUT: %F: @F.loc17.%F.type (%F.type.b3e) = struct_value () [symbolic = %F (constants.%F.d79)] +// CHECK:STDOUT: %F.specific_fn.loc18_12.2: = specific_function %F, @F.loc17(%V1, %V2, %W, %U.loc17_8.1) [symbolic = %F.specific_fn.loc18_12.2 (constants.%F.specific_fn.7d9)] // CHECK:STDOUT: %Destroy.lookup_impl_witness: = lookup_impl_witness %tuple.type.loc17_42.2, @Destroy [symbolic = %Destroy.lookup_impl_witness (constants.%Destroy.lookup_impl_witness.0d1)] // CHECK:STDOUT: %Destroy.facet: %Destroy.type = facet_value %tuple.type.loc17_42.2, (%Destroy.lookup_impl_witness) [symbolic = %Destroy.facet (constants.%Destroy.facet.3f0)] // CHECK:STDOUT: %.loc17_24.3: type = fn_type_with_self_type constants.%Op.type.bae, %Destroy.facet [symbolic = %.loc17_24.3 (constants.%.a93)] -// CHECK:STDOUT: %impl.elem0.loc17_24.2: @F.2.%.loc17_24.3 (%.a93) = impl_witness_access %Destroy.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc17_24.2 (constants.%impl.elem0.9fc)] +// CHECK:STDOUT: %impl.elem0.loc17_24.2: @F.loc17.%.loc17_24.3 (%.a93) = impl_witness_access %Destroy.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc17_24.2 (constants.%impl.elem0.9fc)] // CHECK:STDOUT: %specific_impl_fn.loc17_24.2: = specific_impl_function %impl.elem0.loc17_24.2, @Op.1(%Destroy.facet) [symbolic = %specific_impl_fn.loc17_24.2 (constants.%specific_impl_fn.2c6)] // CHECK:STDOUT: %ptr: type = ptr_type %tuple.type.loc17_42.2 [symbolic = %ptr (constants.%ptr.ab5)] // CHECK:STDOUT: %require_complete.loc17_24.2: = require_complete_type %ptr [symbolic = %require_complete.loc17_24.2 (constants.%require_complete.293)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%u.param: @F.2.%U.loc17_8.1 (%U.753)) -> %return.param: @F.2.%tuple.type.loc17_42.2 (%tuple.type.8ae) { +// CHECK:STDOUT: fn(%u.param: @F.loc17.%U.loc17_8.1 (%U.753)) -> %return.param: @F.loc17.%tuple.type.loc17_42.2 (%tuple.type.8ae) { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %.loc18: @F.2.%F.type (%F.type.b3e) = specific_constant @A.impl.%F.decl, @A.impl(constants.%V1, constants.%V2, constants.%W) [symbolic = %F (constants.%F.d79)] -// CHECK:STDOUT: %F.ref: @F.2.%F.type (%F.type.b3e) = name_ref F, %.loc18 [symbolic = %F (constants.%F.d79)] +// CHECK:STDOUT: %.loc18: @F.loc17.%F.type (%F.type.b3e) = specific_constant @A.impl.%F.decl, @A.impl(constants.%V1, constants.%V2, constants.%W) [symbolic = %F (constants.%F.d79)] +// CHECK:STDOUT: %F.ref: @F.loc17.%F.type (%F.type.b3e) = name_ref F, %.loc18 [symbolic = %F (constants.%F.d79)] // CHECK:STDOUT: %U.ref.loc18: type = name_ref U, %U.loc17_8.2 [symbolic = %U.loc17_8.1 (constants.%U.753)] -// CHECK:STDOUT: %u.ref: @F.2.%U.loc17_8.1 (%U.753) = name_ref u, %u -// CHECK:STDOUT: %F.specific_fn.loc18_12.1: = specific_function %F.ref, @F.2(constants.%V1, constants.%V2, constants.%W, constants.%U.753) [symbolic = %F.specific_fn.loc18_12.2 (constants.%F.specific_fn.7d9)] -// CHECK:STDOUT: %.loc17_24.1: ref @F.2.%tuple.type.loc17_42.2 (%tuple.type.8ae) = splice_block %return {} -// CHECK:STDOUT: %F.call: init @F.2.%tuple.type.loc17_42.2 (%tuple.type.8ae) = call %F.specific_fn.loc18_12.1(%u.ref) to %.loc17_24.1 -// CHECK:STDOUT: %impl.elem0.loc17_24.1: @F.2.%.loc17_24.3 (%.a93) = impl_witness_access constants.%Destroy.lookup_impl_witness.0d1, element0 [symbolic = %impl.elem0.loc17_24.2 (constants.%impl.elem0.9fc)] +// CHECK:STDOUT: %u.ref: @F.loc17.%U.loc17_8.1 (%U.753) = name_ref u, %u +// CHECK:STDOUT: %F.specific_fn.loc18_12.1: = specific_function %F.ref, @F.loc17(constants.%V1, constants.%V2, constants.%W, constants.%U.753) [symbolic = %F.specific_fn.loc18_12.2 (constants.%F.specific_fn.7d9)] +// CHECK:STDOUT: %.loc17_24.1: ref @F.loc17.%tuple.type.loc17_42.2 (%tuple.type.8ae) = splice_block %return {} +// CHECK:STDOUT: %F.call: init @F.loc17.%tuple.type.loc17_42.2 (%tuple.type.8ae) = call %F.specific_fn.loc18_12.1(%u.ref) to %.loc17_24.1 +// CHECK:STDOUT: %impl.elem0.loc17_24.1: @F.loc17.%.loc17_24.3 (%.a93) = impl_witness_access constants.%Destroy.lookup_impl_witness.0d1, element0 [symbolic = %impl.elem0.loc17_24.2 (constants.%impl.elem0.9fc)] // CHECK:STDOUT: %bound_method.loc17_24.1: = bound_method %.loc17_24.1, %impl.elem0.loc17_24.1 // CHECK:STDOUT: %specific_impl_fn.loc17_24.1: = specific_impl_function %impl.elem0.loc17_24.1, @Op.1(constants.%Destroy.facet.3f0) [symbolic = %specific_impl_fn.loc17_24.2 (constants.%specific_impl_fn.2c6)] // CHECK:STDOUT: %bound_method.loc17_24.2: = bound_method %.loc17_24.1, %specific_impl_fn.loc17_24.1 -// CHECK:STDOUT: %addr: @F.2.%ptr (%ptr.ab5) = addr_of %.loc17_24.1 +// CHECK:STDOUT: %addr: @F.loc17.%ptr (%ptr.ab5) = addr_of %.loc17_24.1 // CHECK:STDOUT: %.loc17_24.2: init %empty_tuple.type = call %bound_method.loc17_24.2(%addr) // CHECK:STDOUT: return %F.call to %return // CHECK:STDOUT: } @@ -974,7 +974,7 @@ fn CallIndirect() { // CHECK:STDOUT: %impl.elem0: %.406 = impl_witness_access constants.%A.impl_witness.8ac, element0 [concrete = constants.%F.93b] // CHECK:STDOUT: %Z.ref: type = name_ref Z, file.%Z.decl [concrete = constants.%Z] // CHECK:STDOUT: %.loc24_38.1: %empty_struct_type = struct_literal () -// CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @F.2(constants.%Y1, constants.%Y2, constants.%X, constants.%Z) [concrete = constants.%F.specific_fn.79b] +// CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @F.loc17(constants.%Y1, constants.%Y2, constants.%X, constants.%Z) [concrete = constants.%F.specific_fn.79b] // CHECK:STDOUT: %.loc24_39.1: ref %tuple.type.415 = temporary_storage // CHECK:STDOUT: %.loc24_38.2: ref %Z = temporary_storage // CHECK:STDOUT: %.loc24_38.3: init %Z = class_init (), %.loc24_38.2 [concrete = constants.%Z.val] @@ -1005,7 +1005,7 @@ fn CallIndirect() { // CHECK:STDOUT: %A.facet: %A.type.91f = facet_value %T.as_type.loc28_4.2, (%A.lookup_impl_witness) [symbolic = %A.facet (constants.%A.facet.11f)] // CHECK:STDOUT: %.loc28_4.3: type = fn_type_with_self_type constants.%F.type.13d, %A.facet [symbolic = %.loc28_4.3 (constants.%.ffa)] // CHECK:STDOUT: %impl.elem0.loc28_4.2: @CallGeneric.%.loc28_4.3 (%.ffa) = impl_witness_access %A.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc28_4.2 (constants.%impl.elem0.0e5)] -// CHECK:STDOUT: %specific_impl_fn.loc28_4.2: = specific_impl_function %impl.elem0.loc28_4.2, @F.1(constants.%X, %A.facet, constants.%Z) [symbolic = %specific_impl_fn.loc28_4.2 (constants.%specific_impl_fn.e7e)] +// CHECK:STDOUT: %specific_impl_fn.loc28_4.2: = specific_impl_function %impl.elem0.loc28_4.2, @F.loc6(constants.%X, %A.facet, constants.%Z) [symbolic = %specific_impl_fn.loc28_4.2 (constants.%specific_impl_fn.e7e)] // CHECK:STDOUT: %tuple.type: type = tuple_type (constants.%X, %T.as_type.loc28_4.2, constants.%Z) [symbolic = %tuple.type (constants.%tuple.type.e28)] // CHECK:STDOUT: %require_complete.loc28_12.1: = require_complete_type %tuple.type [symbolic = %require_complete.loc28_12.1 (constants.%require_complete.500)] // CHECK:STDOUT: %Destroy.lookup_impl_witness: = lookup_impl_witness %tuple.type, @Destroy [symbolic = %Destroy.lookup_impl_witness (constants.%Destroy.lookup_impl_witness.1a2)] @@ -1026,7 +1026,7 @@ fn CallIndirect() { // CHECK:STDOUT: %impl.elem0.loc28_4.1: @CallGeneric.%.loc28_4.3 (%.ffa) = impl_witness_access constants.%A.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc28_4.2 (constants.%impl.elem0.0e5)] // CHECK:STDOUT: %Z.ref: type = name_ref Z, file.%Z.decl [concrete = constants.%Z] // CHECK:STDOUT: %.loc28_11.1: %empty_struct_type = struct_literal () -// CHECK:STDOUT: %specific_impl_fn.loc28_4.1: = specific_impl_function %impl.elem0.loc28_4.1, @F.1(constants.%X, constants.%A.facet.11f, constants.%Z) [symbolic = %specific_impl_fn.loc28_4.2 (constants.%specific_impl_fn.e7e)] +// CHECK:STDOUT: %specific_impl_fn.loc28_4.1: = specific_impl_function %impl.elem0.loc28_4.1, @F.loc6(constants.%X, constants.%A.facet.11f, constants.%Z) [symbolic = %specific_impl_fn.loc28_4.2 (constants.%specific_impl_fn.e7e)] // CHECK:STDOUT: %.loc28_12.1: ref @CallGeneric.%tuple.type (%tuple.type.e28) = temporary_storage // CHECK:STDOUT: %.loc28_11.2: ref %Z = temporary_storage // CHECK:STDOUT: %.loc28_11.3: init %Z = class_init (), %.loc28_11.2 [concrete = constants.%Z.val] @@ -1068,7 +1068,7 @@ fn CallIndirect() { // CHECK:STDOUT: %T.loc5_13.2 => constants.%T.8b3 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%T.8b3, constants.%Self.753, constants.%U.2cb) { +// CHECK:STDOUT: specific @F.loc6(constants.%T.8b3, constants.%Self.753, constants.%U.2cb) { // CHECK:STDOUT: %U.loc6_8.1 => constants.%U.2cb // CHECK:STDOUT: %pattern_type.loc6_18 => constants.%pattern_type.20f // CHECK:STDOUT: %T => constants.%T.8b3 @@ -1106,7 +1106,7 @@ fn CallIndirect() { // CHECK:STDOUT: %F => constants.%F.d79 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.2(constants.%V1, constants.%V2, constants.%W, constants.%U.753) { +// CHECK:STDOUT: specific @F.loc17(constants.%V1, constants.%V2, constants.%W, constants.%U.753) { // CHECK:STDOUT: %U.loc17_8.1 => constants.%U.753 // CHECK:STDOUT: %pattern_type.loc17_18 => constants.%pattern_type.549 // CHECK:STDOUT: %W => constants.%W @@ -1131,7 +1131,7 @@ fn CallIndirect() { // CHECK:STDOUT: %require_complete.loc17_24.2 => constants.%require_complete.293 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%W, constants.%A.facet.461, constants.%U.753) { +// CHECK:STDOUT: specific @F.loc6(constants.%W, constants.%A.facet.461, constants.%U.753) { // CHECK:STDOUT: %U.loc6_8.1 => constants.%U.753 // CHECK:STDOUT: %pattern_type.loc6_18 => constants.%pattern_type.549 // CHECK:STDOUT: %T => constants.%W @@ -1169,7 +1169,7 @@ fn CallIndirect() { // CHECK:STDOUT: %F => constants.%F.93b // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.2(constants.%Y1, constants.%Y2, constants.%X, constants.%Z) { +// CHECK:STDOUT: specific @F.loc17(constants.%Y1, constants.%Y2, constants.%X, constants.%Z) { // CHECK:STDOUT: %U.loc17_8.1 => constants.%Z // CHECK:STDOUT: %pattern_type.loc17_18 => constants.%pattern_type.8f9 // CHECK:STDOUT: %W => constants.%X @@ -1198,7 +1198,7 @@ fn CallIndirect() { // CHECK:STDOUT: %T.loc27_16.2 => constants.%T.9c2 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%X, constants.%A.facet.11f, constants.%Z) { +// CHECK:STDOUT: specific @F.loc6(constants.%X, constants.%A.facet.11f, constants.%Z) { // CHECK:STDOUT: %U.loc6_8.1 => constants.%Z // CHECK:STDOUT: %pattern_type.loc6_18 => constants.%pattern_type.8f9 // CHECK:STDOUT: %T => constants.%X @@ -1231,7 +1231,7 @@ fn CallIndirect() { // CHECK:STDOUT: %require_complete.loc28_12.2 => constants.%complete_type.e23 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%X, constants.%A.facet.414, constants.%Z) { +// CHECK:STDOUT: specific @F.loc6(constants.%X, constants.%A.facet.414, constants.%Z) { // CHECK:STDOUT: %U.loc6_8.1 => constants.%Z // CHECK:STDOUT: %pattern_type.loc6_18 => constants.%pattern_type.8f9 // CHECK:STDOUT: %T => constants.%X diff --git a/toolchain/check/testdata/interface/generic_vs_params.carbon b/toolchain/check/testdata/interface/generic_vs_params.carbon index 5ea17edb9e73..04e66d89aa4c 100644 --- a/toolchain/check/testdata/interface/generic_vs_params.carbon +++ b/toolchain/check/testdata/interface/generic_vs_params.carbon @@ -83,9 +83,9 @@ interface Bar[T:! type] {} // CHECK:STDOUT: %Self.43b: %NotGenericButParams.type.014 = bind_symbolic_name Self, 0 [symbolic] // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic] // CHECK:STDOUT: %pattern_type: type = pattern_type type [concrete] -// CHECK:STDOUT: %GenericAndParams.type.cde: type = generic_interface_type @GenericAndParams.1 [concrete] +// CHECK:STDOUT: %GenericAndParams.type.cde: type = generic_interface_type @GenericAndParams.loc6 [concrete] // CHECK:STDOUT: %GenericAndParams.generic.827: %GenericAndParams.type.cde = struct_value () [concrete] -// CHECK:STDOUT: %GenericAndParams.type.73e: type = facet_type <@GenericAndParams.1, @GenericAndParams.1(%T)> [symbolic] +// CHECK:STDOUT: %GenericAndParams.type.73e: type = facet_type <@GenericAndParams.loc6, @GenericAndParams.loc6(%T)> [symbolic] // CHECK:STDOUT: %Self.2f4: %GenericAndParams.type.73e = bind_symbolic_name Self, 1 [symbolic] // CHECK:STDOUT: %C.type: type = generic_class_type @C [concrete] // CHECK:STDOUT: %C.generic: %C.type = struct_value () [concrete] @@ -93,25 +93,25 @@ interface Bar[T:! type] {} // CHECK:STDOUT: %GenericNoParams.type.b79: type = facet_type <@GenericNoParams, @GenericNoParams(%T)> [symbolic] // CHECK:STDOUT: %Self.0f6: %GenericNoParams.type.b79 = bind_symbolic_name Self, 1 [symbolic] // CHECK:STDOUT: %U: type = bind_symbolic_name U, 1 [symbolic] -// CHECK:STDOUT: %GenericAndParams.type.597: type = generic_interface_type @GenericAndParams.2, @C(%T) [symbolic] +// CHECK:STDOUT: %GenericAndParams.type.597: type = generic_interface_type @GenericAndParams.loc10, @C(%T) [symbolic] // CHECK:STDOUT: %GenericAndParams.generic.2ec: %GenericAndParams.type.597 = struct_value () [symbolic] -// CHECK:STDOUT: %GenericAndParams.type.d96: type = facet_type <@GenericAndParams.2, @GenericAndParams.2(%T, %U)> [symbolic] +// CHECK:STDOUT: %GenericAndParams.type.d96: type = facet_type <@GenericAndParams.loc10, @GenericAndParams.loc10(%T, %U)> [symbolic] // CHECK:STDOUT: %Self.37a: %GenericAndParams.type.d96 = bind_symbolic_name Self, 2 [symbolic] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %X: type = class_type @X [concrete] // CHECK:STDOUT: %NotGenericNoParams.impl_witness: = impl_witness file.%NotGenericNoParams.impl_witness_table [concrete] // CHECK:STDOUT: %NotGenericButParams.impl_witness: = impl_witness file.%NotGenericButParams.impl_witness_table [concrete] -// CHECK:STDOUT: %GenericAndParams.type.4b6: type = facet_type <@GenericAndParams.1, @GenericAndParams.1(%X)> [concrete] +// CHECK:STDOUT: %GenericAndParams.type.4b6: type = facet_type <@GenericAndParams.loc6, @GenericAndParams.loc6(%X)> [concrete] // CHECK:STDOUT: %Self.2f7: %GenericAndParams.type.4b6 = bind_symbolic_name Self, 1 [symbolic] // CHECK:STDOUT: %GenericAndParams.impl_witness.c06: = impl_witness file.%GenericAndParams.impl_witness_table.loc16 [concrete] // CHECK:STDOUT: %C.fac: type = class_type @C, @C(%X) [concrete] // CHECK:STDOUT: %GenericNoParams.type.b7e: type = facet_type <@GenericNoParams, @GenericNoParams(%X)> [concrete] -// CHECK:STDOUT: %GenericAndParams.type.425: type = generic_interface_type @GenericAndParams.2, @C(%X) [concrete] +// CHECK:STDOUT: %GenericAndParams.type.425: type = generic_interface_type @GenericAndParams.loc10, @C(%X) [concrete] // CHECK:STDOUT: %GenericAndParams.generic.b50: %GenericAndParams.type.425 = struct_value () [concrete] // CHECK:STDOUT: %Self.108: %GenericNoParams.type.b7e = bind_symbolic_name Self, 1 [symbolic] // CHECK:STDOUT: %GenericNoParams.impl_witness: = impl_witness file.%GenericNoParams.impl_witness_table [concrete] -// CHECK:STDOUT: %GenericAndParams.type.79c: type = facet_type <@GenericAndParams.2, @GenericAndParams.2(%X, %X)> [concrete] +// CHECK:STDOUT: %GenericAndParams.type.79c: type = facet_type <@GenericAndParams.loc10, @GenericAndParams.loc10(%X, %X)> [concrete] // CHECK:STDOUT: %Self.f51: %GenericAndParams.type.79c = bind_symbolic_name Self, 2 [symbolic] // CHECK:STDOUT: %GenericAndParams.impl_witness.c9b: = impl_witness file.%GenericAndParams.impl_witness_table.loc18 [concrete] // CHECK:STDOUT: } @@ -126,7 +126,7 @@ interface Bar[T:! type] {} // CHECK:STDOUT: } // CHECK:STDOUT: %NotGenericNoParams.decl: type = interface_decl @NotGenericNoParams [concrete = constants.%NotGenericNoParams.type] {} {} // CHECK:STDOUT: %NotGenericButParams.decl: %NotGenericButParams.type.f26 = interface_decl @NotGenericButParams [concrete = constants.%NotGenericButParams.generic] {} {} -// CHECK:STDOUT: %GenericAndParams.decl: %GenericAndParams.type.cde = interface_decl @GenericAndParams.1 [concrete = constants.%GenericAndParams.generic.827] { +// CHECK:STDOUT: %GenericAndParams.decl: %GenericAndParams.type.cde = interface_decl @GenericAndParams.loc6 [concrete = constants.%GenericAndParams.generic.827] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.loc6_28.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc6_28.2 (constants.%T)] @@ -154,7 +154,7 @@ interface Bar[T:! type] {} // CHECK:STDOUT: %X.ref.loc16_6: type = name_ref X, file.%X.decl [concrete = constants.%X] // CHECK:STDOUT: %GenericAndParams.ref: %GenericAndParams.type.cde = name_ref GenericAndParams, file.%GenericAndParams.decl [concrete = constants.%GenericAndParams.generic.827] // CHECK:STDOUT: %X.ref.loc16_28: type = name_ref X, file.%X.decl [concrete = constants.%X] -// CHECK:STDOUT: %GenericAndParams.type: type = facet_type <@GenericAndParams.1, @GenericAndParams.1(constants.%X)> [concrete = constants.%GenericAndParams.type.4b6] +// CHECK:STDOUT: %GenericAndParams.type: type = facet_type <@GenericAndParams.loc6, @GenericAndParams.loc6(constants.%X)> [concrete = constants.%GenericAndParams.type.4b6] // CHECK:STDOUT: } // CHECK:STDOUT: %GenericAndParams.impl_witness_table.loc16 = impl_witness_table (), @GenericAndParams.impl.87f [concrete] // CHECK:STDOUT: %GenericAndParams.impl_witness.loc16: = impl_witness %GenericAndParams.impl_witness_table.loc16 [concrete = constants.%GenericAndParams.impl_witness.c06] @@ -176,7 +176,7 @@ interface Bar[T:! type] {} // CHECK:STDOUT: %.loc18: %GenericAndParams.type.425 = specific_constant @C.%GenericAndParams.decl, @C(constants.%X) [concrete = constants.%GenericAndParams.generic.b50] // CHECK:STDOUT: %GenericAndParams.ref: %GenericAndParams.type.425 = name_ref GenericAndParams, %.loc18 [concrete = constants.%GenericAndParams.generic.b50] // CHECK:STDOUT: %X.ref.loc18_33: type = name_ref X, file.%X.decl [concrete = constants.%X] -// CHECK:STDOUT: %GenericAndParams.type: type = facet_type <@GenericAndParams.2, @GenericAndParams.2(constants.%X, constants.%X)> [concrete = constants.%GenericAndParams.type.79c] +// CHECK:STDOUT: %GenericAndParams.type: type = facet_type <@GenericAndParams.loc10, @GenericAndParams.loc10(constants.%X, constants.%X)> [concrete = constants.%GenericAndParams.type.79c] // CHECK:STDOUT: } // CHECK:STDOUT: %GenericAndParams.impl_witness_table.loc18 = impl_witness_table (), @GenericAndParams.impl.15f [concrete] // CHECK:STDOUT: %GenericAndParams.impl_witness.loc18: = impl_witness %GenericAndParams.impl_witness_table.loc18 [concrete = constants.%GenericAndParams.impl_witness.c9b] @@ -198,15 +198,15 @@ interface Bar[T:! type] {} // CHECK:STDOUT: witness = () // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic interface @GenericAndParams.1(%T.loc6_28.1: type) { +// CHECK:STDOUT: generic interface @GenericAndParams.loc6(%T.loc6_28.1: type) { // CHECK:STDOUT: %T.loc6_28.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc6_28.2 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %GenericAndParams.type: type = facet_type <@GenericAndParams.1, @GenericAndParams.1(%T.loc6_28.2)> [symbolic = %GenericAndParams.type (constants.%GenericAndParams.type.73e)] -// CHECK:STDOUT: %Self.2: @GenericAndParams.1.%GenericAndParams.type (%GenericAndParams.type.73e) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.2f4)] +// CHECK:STDOUT: %GenericAndParams.type: type = facet_type <@GenericAndParams.loc6, @GenericAndParams.loc6(%T.loc6_28.2)> [symbolic = %GenericAndParams.type (constants.%GenericAndParams.type.73e)] +// CHECK:STDOUT: %Self.2: @GenericAndParams.loc6.%GenericAndParams.type (%GenericAndParams.type.73e) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.2f4)] // CHECK:STDOUT: // CHECK:STDOUT: interface { -// CHECK:STDOUT: %Self.1: @GenericAndParams.1.%GenericAndParams.type (%GenericAndParams.type.73e) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.2f4)] +// CHECK:STDOUT: %Self.1: @GenericAndParams.loc6.%GenericAndParams.type (%GenericAndParams.type.73e) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.2f4)] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .Self = %Self.1 @@ -229,16 +229,16 @@ interface Bar[T:! type] {} // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic interface @GenericAndParams.2(@C.%T.loc8_9.1: type, %U.loc10_30.1: type) { +// CHECK:STDOUT: generic interface @GenericAndParams.loc10(@C.%T.loc8_9.1: type, %U.loc10_30.1: type) { // CHECK:STDOUT: %U.loc10_30.2: type = bind_symbolic_name U, 1 [symbolic = %U.loc10_30.2 (constants.%U)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic = %T (constants.%T)] -// CHECK:STDOUT: %GenericAndParams.type: type = facet_type <@GenericAndParams.2, @GenericAndParams.2(%T, %U.loc10_30.2)> [symbolic = %GenericAndParams.type (constants.%GenericAndParams.type.d96)] -// CHECK:STDOUT: %Self.2: @GenericAndParams.2.%GenericAndParams.type (%GenericAndParams.type.d96) = bind_symbolic_name Self, 2 [symbolic = %Self.2 (constants.%Self.37a)] +// CHECK:STDOUT: %GenericAndParams.type: type = facet_type <@GenericAndParams.loc10, @GenericAndParams.loc10(%T, %U.loc10_30.2)> [symbolic = %GenericAndParams.type (constants.%GenericAndParams.type.d96)] +// CHECK:STDOUT: %Self.2: @GenericAndParams.loc10.%GenericAndParams.type (%GenericAndParams.type.d96) = bind_symbolic_name Self, 2 [symbolic = %Self.2 (constants.%Self.37a)] // CHECK:STDOUT: // CHECK:STDOUT: interface { -// CHECK:STDOUT: %Self.1: @GenericAndParams.2.%GenericAndParams.type (%GenericAndParams.type.d96) = bind_symbolic_name Self, 2 [symbolic = %Self.2 (constants.%Self.37a)] +// CHECK:STDOUT: %Self.1: @GenericAndParams.loc10.%GenericAndParams.type (%GenericAndParams.type.d96) = bind_symbolic_name Self, 2 [symbolic = %Self.2 (constants.%Self.37a)] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .Self = %Self.1 @@ -276,12 +276,12 @@ interface Bar[T:! type] {} // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %GenericNoParams.type: type = facet_type <@GenericNoParams, @GenericNoParams(%T.loc8_9.2)> [symbolic = %GenericNoParams.type (constants.%GenericNoParams.type.b79)] -// CHECK:STDOUT: %GenericAndParams.type: type = generic_interface_type @GenericAndParams.2, @C(%T.loc8_9.2) [symbolic = %GenericAndParams.type (constants.%GenericAndParams.type.597)] +// CHECK:STDOUT: %GenericAndParams.type: type = generic_interface_type @GenericAndParams.loc10, @C(%T.loc8_9.2) [symbolic = %GenericAndParams.type (constants.%GenericAndParams.type.597)] // CHECK:STDOUT: %GenericAndParams.generic: @C.%GenericAndParams.type (%GenericAndParams.type.597) = struct_value () [symbolic = %GenericAndParams.generic (constants.%GenericAndParams.generic.2ec)] // CHECK:STDOUT: // CHECK:STDOUT: class { // CHECK:STDOUT: %GenericNoParams.decl: type = interface_decl @GenericNoParams [symbolic = @C.%GenericNoParams.type (constants.%GenericNoParams.type.b79)] {} {} -// CHECK:STDOUT: %GenericAndParams.decl: @C.%GenericAndParams.type (%GenericAndParams.type.597) = interface_decl @GenericAndParams.2 [symbolic = @C.%GenericAndParams.generic (constants.%GenericAndParams.generic.2ec)] { +// CHECK:STDOUT: %GenericAndParams.decl: @C.%GenericAndParams.type (%GenericAndParams.type.597) = interface_decl @GenericAndParams.loc10 [symbolic = @C.%GenericAndParams.generic (constants.%GenericAndParams.generic.2ec)] { // CHECK:STDOUT: %U.patt: %pattern_type = symbolic_binding_pattern U, 1 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %U.loc10_30.1: type = bind_symbolic_name U, 1 [symbolic = %U.loc10_30.2 (constants.%U)] @@ -306,7 +306,7 @@ interface Bar[T:! type] {} // CHECK:STDOUT: .Self = constants.%X // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @GenericAndParams.1(constants.%T) { +// CHECK:STDOUT: specific @GenericAndParams.loc6(constants.%T) { // CHECK:STDOUT: %T.loc6_28.2 => constants.%T // CHECK:STDOUT: } // CHECK:STDOUT: @@ -316,11 +316,11 @@ interface Bar[T:! type] {} // CHECK:STDOUT: // CHECK:STDOUT: specific @GenericNoParams(constants.%T) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @GenericAndParams.2(constants.%T, constants.%U) { +// CHECK:STDOUT: specific @GenericAndParams.loc10(constants.%T, constants.%U) { // CHECK:STDOUT: %U.loc10_30.2 => constants.%U // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @GenericAndParams.1(constants.%X) { +// CHECK:STDOUT: specific @GenericAndParams.loc6(constants.%X) { // CHECK:STDOUT: %T.loc6_28.2 => constants.%X // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -344,7 +344,7 @@ interface Bar[T:! type] {} // CHECK:STDOUT: %Self.2 => constants.%Self.108 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @GenericAndParams.2(constants.%X, constants.%X) { +// CHECK:STDOUT: specific @GenericAndParams.loc10(constants.%X, constants.%X) { // CHECK:STDOUT: %U.loc10_30.2 => constants.%X // CHECK:STDOUT: // CHECK:STDOUT: !definition: diff --git a/toolchain/check/testdata/interface/import.carbon b/toolchain/check/testdata/interface/import.carbon index 316e8ad26008..31a948aee046 100644 --- a/toolchain/check/testdata/interface/import.carbon +++ b/toolchain/check/testdata/interface/import.carbon @@ -61,14 +61,14 @@ var f: ForwardDeclared* = &f_ref.f; // CHECK:STDOUT: %Self.1c7: %Basic.type = bind_symbolic_name Self, 0 [symbolic] // CHECK:STDOUT: %Basic.assoc_type: type = assoc_entity_type @Basic [concrete] // CHECK:STDOUT: %assoc0.0d9: %Basic.assoc_type = assoc_entity element0, @Basic.%T [concrete] -// CHECK:STDOUT: %F.type.320: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.320: type = fn_type @F.loc9 [concrete] // CHECK:STDOUT: %F.952: %F.type.320 = struct_value () [concrete] // CHECK:STDOUT: %assoc1.9b4: %Basic.assoc_type = assoc_entity element1, @Basic.%F.decl [concrete] // CHECK:STDOUT: %ForwardDeclared.type: type = facet_type <@ForwardDeclared> [concrete] // CHECK:STDOUT: %Self.efa: %ForwardDeclared.type = bind_symbolic_name Self, 0 [symbolic] // CHECK:STDOUT: %ForwardDeclared.assoc_type: type = assoc_entity_type @ForwardDeclared [concrete] // CHECK:STDOUT: %assoc0.27c: %ForwardDeclared.assoc_type = assoc_entity element0, @ForwardDeclared.%T [concrete] -// CHECK:STDOUT: %F.type.505: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.505: type = fn_type @F.loc17 [concrete] // CHECK:STDOUT: %F.eb5: %F.type.505 = struct_value () [concrete] // CHECK:STDOUT: %assoc1.c80: %ForwardDeclared.assoc_type = assoc_entity element1, @ForwardDeclared.%F.decl [concrete] // CHECK:STDOUT: %struct_type.f: type = struct_type {.f: %ForwardDeclared.type} [concrete] @@ -110,7 +110,7 @@ var f: ForwardDeclared* = &f_ref.f; // CHECK:STDOUT: %T: type = assoc_const_decl @T.loc8 [concrete] { // CHECK:STDOUT: %assoc0: %Basic.assoc_type = assoc_entity element0, @Basic.%T [concrete = constants.%assoc0.0d9] // CHECK:STDOUT: } -// CHECK:STDOUT: %F.decl: %F.type.320 = fn_decl @F.1 [concrete = constants.%F.952] {} {} +// CHECK:STDOUT: %F.decl: %F.type.320 = fn_decl @F.loc9 [concrete = constants.%F.952] {} {} // CHECK:STDOUT: %assoc1: %Basic.assoc_type = assoc_entity element1, %F.decl [concrete = constants.%assoc1.9b4] // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -125,7 +125,7 @@ var f: ForwardDeclared* = &f_ref.f; // CHECK:STDOUT: %T: type = assoc_const_decl @T.loc16 [concrete] { // CHECK:STDOUT: %assoc0: %ForwardDeclared.assoc_type = assoc_entity element0, @ForwardDeclared.%T [concrete = constants.%assoc0.27c] // CHECK:STDOUT: } -// CHECK:STDOUT: %F.decl: %F.type.505 = fn_decl @F.2 [concrete = constants.%F.eb5] {} {} +// CHECK:STDOUT: %F.decl: %F.type.505 = fn_decl @F.loc17 [concrete = constants.%F.eb5] {} {} // CHECK:STDOUT: %assoc1: %ForwardDeclared.assoc_type = assoc_entity element1, %F.decl [concrete = constants.%assoc1.c80] // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -143,21 +143,21 @@ var f: ForwardDeclared* = &f_ref.f; // CHECK:STDOUT: assoc_const T:! type; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.1(@Basic.%Self: %Basic.type) { +// CHECK:STDOUT: generic fn @F.loc9(@Basic.%Self: %Basic.type) { // CHECK:STDOUT: fn(); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.2(@ForwardDeclared.%Self: %ForwardDeclared.type) { +// CHECK:STDOUT: generic fn @F.loc17(@ForwardDeclared.%Self: %ForwardDeclared.type) { // CHECK:STDOUT: fn(); // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @T.loc8(constants.%Self.1c7) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.1(constants.%Self.1c7) {} +// CHECK:STDOUT: specific @F.loc9(constants.%Self.1c7) {} // CHECK:STDOUT: // CHECK:STDOUT: specific @T.loc16(constants.%Self.efa) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.2(constants.%Self.efa) {} +// CHECK:STDOUT: specific @F.loc17(constants.%Self.efa) {} // CHECK:STDOUT: // CHECK:STDOUT: --- b.carbon // CHECK:STDOUT: diff --git a/toolchain/check/testdata/interface/local.carbon b/toolchain/check/testdata/interface/local.carbon index 4790d1d6b2fd..b75f705a315e 100644 --- a/toolchain/check/testdata/interface/local.carbon +++ b/toolchain/check/testdata/interface/local.carbon @@ -32,13 +32,13 @@ fn F() { // CHECK:STDOUT: %Self: %I.type = bind_symbolic_name Self, 0 [symbolic] // CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self [symbolic] // CHECK:STDOUT: %pattern_type.744: type = pattern_type %Self.as_type [symbolic] -// CHECK:STDOUT: %G.type.bff: type = fn_type @G.1 [concrete] +// CHECK:STDOUT: %G.type.bff: type = fn_type @G.loc17 [concrete] // CHECK:STDOUT: %G.f0a: %G.type.bff = struct_value () [concrete] // CHECK:STDOUT: %I.assoc_type: type = assoc_entity_type @I [concrete] // CHECK:STDOUT: %assoc0: %I.assoc_type = assoc_entity element0, @I.%G.decl [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness @F.%I.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] -// CHECK:STDOUT: %G.type.c84: type = fn_type @G.2 [concrete] +// CHECK:STDOUT: %G.type.c84: type = fn_type @G.loc20 [concrete] // CHECK:STDOUT: %G.5a2: %G.type.c84 = struct_value () [concrete] // CHECK:STDOUT: %I.facet: %I.type = facet_value %empty_tuple.type, (%I.impl_witness) [concrete] // CHECK:STDOUT: %.ba5: type = fn_type_with_self_type %G.type.bff, %I.facet [concrete] @@ -54,17 +54,17 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: interface @I { // CHECK:STDOUT: %Self: %I.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self] -// CHECK:STDOUT: %G.decl: %G.type.bff = fn_decl @G.1 [concrete = constants.%G.f0a] { -// CHECK:STDOUT: %self.patt: @G.1.%pattern_type (%pattern_type.744) = binding_pattern self [concrete] -// CHECK:STDOUT: %self.param_patt: @G.1.%pattern_type (%pattern_type.744) = value_param_pattern %self.patt, call_param0 [concrete] +// CHECK:STDOUT: %G.decl: %G.type.bff = fn_decl @G.loc17 [concrete = constants.%G.f0a] { +// CHECK:STDOUT: %self.patt: @G.loc17.%pattern_type (%pattern_type.744) = binding_pattern self [concrete] +// CHECK:STDOUT: %self.param_patt: @G.loc17.%pattern_type (%pattern_type.744) = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %self.param: @G.1.%Self.as_type.loc17_16.1 (%Self.as_type) = value_param call_param0 +// CHECK:STDOUT: %self.param: @G.loc17.%Self.as_type.loc17_16.1 (%Self.as_type) = value_param call_param0 // CHECK:STDOUT: %.loc17_16.1: type = splice_block %.loc17_16.2 [symbolic = %Self.as_type.loc17_16.1 (constants.%Self.as_type)] { // CHECK:STDOUT: %Self.ref: %I.type = name_ref Self, @I.%Self [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %Self.as_type.loc17_16.2: type = facet_access_type %Self.ref [symbolic = %Self.as_type.loc17_16.1 (constants.%Self.as_type)] // CHECK:STDOUT: %.loc17_16.2: type = converted %Self.ref, %Self.as_type.loc17_16.2 [symbolic = %Self.as_type.loc17_16.1 (constants.%Self.as_type)] // CHECK:STDOUT: } -// CHECK:STDOUT: %self: @G.1.%Self.as_type.loc17_16.1 (%Self.as_type) = bind_name self, %self.param +// CHECK:STDOUT: %self: @G.loc17.%Self.as_type.loc17_16.1 (%Self.as_type) = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %assoc0: %I.assoc_type = assoc_entity element0, %G.decl [concrete = constants.%assoc0] // CHECK:STDOUT: @@ -75,7 +75,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @I.impl: %.loc19_9.2 as %I.ref { -// CHECK:STDOUT: %G.decl: %G.type.c84 = fn_decl @G.2 [concrete = constants.%G.5a2] { +// CHECK:STDOUT: %G.decl: %G.type.c84 = fn_decl @G.loc20 [concrete = constants.%G.5a2] { // CHECK:STDOUT: %self.patt: %pattern_type.cb1 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.cb1 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: } { @@ -110,26 +110,26 @@ fn F() { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @G.1(@I.%Self: %I.type) { +// CHECK:STDOUT: generic fn @G.loc17(@I.%Self: %I.type) { // CHECK:STDOUT: %Self: %I.type = bind_symbolic_name Self, 0 [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %Self.as_type.loc17_16.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc17_16.1 (constants.%Self.as_type)] // CHECK:STDOUT: %pattern_type: type = pattern_type %Self.as_type.loc17_16.1 [symbolic = %pattern_type (constants.%pattern_type.744)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%self.param: @G.1.%Self.as_type.loc17_16.1 (%Self.as_type)); +// CHECK:STDOUT: fn(%self.param: @G.loc17.%Self.as_type.loc17_16.1 (%Self.as_type)); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @G.2(%self.param: %empty_tuple.type) { +// CHECK:STDOUT: fn @G.loc20(%self.param: %empty_tuple.type) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @G.1(constants.%Self) { +// CHECK:STDOUT: specific @G.loc17(constants.%Self) { // CHECK:STDOUT: %Self => constants.%Self // CHECK:STDOUT: %Self.as_type.loc17_16.1 => constants.%Self.as_type // CHECK:STDOUT: %pattern_type => constants.%pattern_type.744 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @G.1(constants.%I.facet) { +// CHECK:STDOUT: specific @G.loc17(constants.%I.facet) { // CHECK:STDOUT: %Self => constants.%I.facet // CHECK:STDOUT: %Self.as_type.loc17_16.1 => constants.%empty_tuple.type // CHECK:STDOUT: %pattern_type => constants.%pattern_type.cb1 diff --git a/toolchain/check/testdata/interface/syntactic_merge.carbon b/toolchain/check/testdata/interface/syntactic_merge.carbon index ac1ddcaa4cb4..5794c7312fd8 100644 --- a/toolchain/check/testdata/interface/syntactic_merge.carbon +++ b/toolchain/check/testdata/interface/syntactic_merge.carbon @@ -364,11 +364,11 @@ interface Foo(a:! const (const C)) {} // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %a: %C = bind_symbolic_name a, 0 [symbolic] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] -// CHECK:STDOUT: %Foo.type.5380b8.1: type = generic_interface_type @Foo.1 [concrete] +// CHECK:STDOUT: %Foo.type.5380b8.1: type = generic_interface_type @Foo.loc6 [concrete] // CHECK:STDOUT: %Foo.generic.ec3175.1: %Foo.type.5380b8.1 = struct_value () [concrete] -// CHECK:STDOUT: %Foo.type.5380b8.2: type = generic_interface_type @Foo.2 [concrete] +// CHECK:STDOUT: %Foo.type.5380b8.2: type = generic_interface_type @Foo.loc14 [concrete] // CHECK:STDOUT: %Foo.generic.ec3175.2: %Foo.type.5380b8.2 = struct_value () [concrete] -// CHECK:STDOUT: %Foo.type.7d0: type = facet_type <@Foo.2, @Foo.2(%a)> [symbolic] +// CHECK:STDOUT: %Foo.type.7d0: type = facet_type <@Foo.loc14, @Foo.loc14(%a)> [symbolic] // CHECK:STDOUT: %Self: %Foo.type.7d0 = bind_symbolic_name Self, 1 [symbolic] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -378,13 +378,13 @@ interface Foo(a:! const (const C)) {} // CHECK:STDOUT: .Foo = %Foo.decl.loc6 // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} -// CHECK:STDOUT: %Foo.decl.loc6: %Foo.type.5380b8.1 = interface_decl @Foo.1 [concrete = constants.%Foo.generic.ec3175.1] { +// CHECK:STDOUT: %Foo.decl.loc6: %Foo.type.5380b8.1 = interface_decl @Foo.loc6 [concrete = constants.%Foo.generic.ec3175.1] { // CHECK:STDOUT: %a.patt: %pattern_type = symbolic_binding_pattern a, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %a.loc6_15.1: %C = bind_symbolic_name a, 0 [symbolic = %a.loc6_15.2 (constants.%a)] // CHECK:STDOUT: } -// CHECK:STDOUT: %Foo.decl.loc14: %Foo.type.5380b8.2 = interface_decl @Foo.2 [concrete = constants.%Foo.generic.ec3175.2] { +// CHECK:STDOUT: %Foo.decl.loc14: %Foo.type.5380b8.2 = interface_decl @Foo.loc14 [concrete = constants.%Foo.generic.ec3175.2] { // CHECK:STDOUT: %a.patt: %pattern_type = symbolic_binding_pattern a, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] @@ -392,21 +392,21 @@ interface Foo(a:! const (const C)) {} // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic interface @Foo.1(%a.loc6_15.1: %C) { +// CHECK:STDOUT: generic interface @Foo.loc6(%a.loc6_15.1: %C) { // CHECK:STDOUT: %a.loc6_15.2: %C = bind_symbolic_name a, 0 [symbolic = %a.loc6_15.2 (constants.%a)] // CHECK:STDOUT: // CHECK:STDOUT: interface; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic interface @Foo.2(%a.loc14_15.1: %C) { +// CHECK:STDOUT: generic interface @Foo.loc14(%a.loc14_15.1: %C) { // CHECK:STDOUT: %a.loc14_15.2: %C = bind_symbolic_name a, 0 [symbolic = %a.loc14_15.2 (constants.%a)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Foo.type: type = facet_type <@Foo.2, @Foo.2(%a.loc14_15.2)> [symbolic = %Foo.type (constants.%Foo.type.7d0)] -// CHECK:STDOUT: %Self.2: @Foo.2.%Foo.type (%Foo.type.7d0) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self)] +// CHECK:STDOUT: %Foo.type: type = facet_type <@Foo.loc14, @Foo.loc14(%a.loc14_15.2)> [symbolic = %Foo.type (constants.%Foo.type.7d0)] +// CHECK:STDOUT: %Self.2: @Foo.loc14.%Foo.type (%Foo.type.7d0) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self)] // CHECK:STDOUT: // CHECK:STDOUT: interface { -// CHECK:STDOUT: %Self.1: @Foo.2.%Foo.type (%Foo.type.7d0) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self)] +// CHECK:STDOUT: %Self.1: @Foo.loc14.%Foo.type (%Foo.type.7d0) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self)] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .Self = %Self.1 @@ -423,11 +423,11 @@ interface Foo(a:! const (const C)) {} // CHECK:STDOUT: .Self = constants.%C // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Foo.1(constants.%a) { +// CHECK:STDOUT: specific @Foo.loc6(constants.%a) { // CHECK:STDOUT: %a.loc6_15.2 => constants.%a // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Foo.2(constants.%a) { +// CHECK:STDOUT: specific @Foo.loc14(constants.%a) { // CHECK:STDOUT: %a.loc14_15.2 => constants.%a // CHECK:STDOUT: } // CHECK:STDOUT: @@ -571,15 +571,15 @@ interface Foo(a:! const (const C)) {} // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] // CHECK:STDOUT: %Foo.type.5380b8.1: type = generic_interface_type @Foo.1 [concrete] // CHECK:STDOUT: %Foo.generic.ec3175.1: %Foo.type.5380b8.1 = struct_value () [concrete] -// CHECK:STDOUT: %Foo.type.5380b8.2: type = generic_interface_type @Foo.2 [concrete] +// CHECK:STDOUT: %Foo.type.5380b8.2: type = generic_interface_type @Foo.loc12 [concrete] // CHECK:STDOUT: %Foo.generic.ec3175.2: %Foo.type.5380b8.2 = struct_value () [concrete] -// CHECK:STDOUT: %Foo.type.7d0: type = facet_type <@Foo.2, @Foo.2(%a)> [symbolic] +// CHECK:STDOUT: %Foo.type.7d0: type = facet_type <@Foo.loc12, @Foo.loc12(%a)> [symbolic] // CHECK:STDOUT: %Self.a71: %Foo.type.7d0 = bind_symbolic_name Self, 1 [symbolic] // CHECK:STDOUT: %Bar.type.982aac.1: type = generic_interface_type @Bar.1 [concrete] // CHECK:STDOUT: %Bar.generic.4bda5e.1: %Bar.type.982aac.1 = struct_value () [concrete] -// CHECK:STDOUT: %Bar.type.982aac.2: type = generic_interface_type @Bar.2 [concrete] +// CHECK:STDOUT: %Bar.type.982aac.2: type = generic_interface_type @Bar.loc21 [concrete] // CHECK:STDOUT: %Bar.generic.4bda5e.2: %Bar.type.982aac.2 = struct_value () [concrete] -// CHECK:STDOUT: %Bar.type.6a9: type = facet_type <@Bar.2, @Bar.2(%a)> [symbolic] +// CHECK:STDOUT: %Bar.type.6a9: type = facet_type <@Bar.loc21, @Bar.loc21(%a)> [symbolic] // CHECK:STDOUT: %Self.cec: %Bar.type.6a9 = bind_symbolic_name Self, 1 [symbolic] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -603,13 +603,13 @@ interface Foo(a:! const (const C)) {} // CHECK:STDOUT: } // CHECK:STDOUT: %default.import.loc2_24.1 = import // CHECK:STDOUT: %default.import.loc2_24.2 = import -// CHECK:STDOUT: %Foo.decl: %Foo.type.5380b8.2 = interface_decl @Foo.2 [concrete = constants.%Foo.generic.ec3175.2] { +// CHECK:STDOUT: %Foo.decl: %Foo.type.5380b8.2 = interface_decl @Foo.loc12 [concrete = constants.%Foo.generic.ec3175.2] { // CHECK:STDOUT: %a.patt: %pattern_type = symbolic_binding_pattern a, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, imports.%Main.C [concrete = constants.%C] // CHECK:STDOUT: %a.loc12_15.1: %C = bind_symbolic_name a, 0 [symbolic = %a.loc12_15.2 (constants.%a)] // CHECK:STDOUT: } -// CHECK:STDOUT: %Bar.decl: %Bar.type.982aac.2 = interface_decl @Bar.2 [concrete = constants.%Bar.generic.4bda5e.2] { +// CHECK:STDOUT: %Bar.decl: %Bar.type.982aac.2 = interface_decl @Bar.loc21 [concrete = constants.%Bar.generic.4bda5e.2] { // CHECK:STDOUT: %a.patt: %pattern_type = symbolic_binding_pattern a, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref: type = name_ref D, imports.%Main.D [concrete = constants.%C] @@ -623,15 +623,15 @@ interface Foo(a:! const (const C)) {} // CHECK:STDOUT: interface; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic interface @Foo.2(%a.loc12_15.1: %C) { +// CHECK:STDOUT: generic interface @Foo.loc12(%a.loc12_15.1: %C) { // CHECK:STDOUT: %a.loc12_15.2: %C = bind_symbolic_name a, 0 [symbolic = %a.loc12_15.2 (constants.%a)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Foo.type: type = facet_type <@Foo.2, @Foo.2(%a.loc12_15.2)> [symbolic = %Foo.type (constants.%Foo.type.7d0)] -// CHECK:STDOUT: %Self.2: @Foo.2.%Foo.type (%Foo.type.7d0) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.a71)] +// CHECK:STDOUT: %Foo.type: type = facet_type <@Foo.loc12, @Foo.loc12(%a.loc12_15.2)> [symbolic = %Foo.type (constants.%Foo.type.7d0)] +// CHECK:STDOUT: %Self.2: @Foo.loc12.%Foo.type (%Foo.type.7d0) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.a71)] // CHECK:STDOUT: // CHECK:STDOUT: interface { -// CHECK:STDOUT: %Self.1: @Foo.2.%Foo.type (%Foo.type.7d0) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.a71)] +// CHECK:STDOUT: %Self.1: @Foo.loc12.%Foo.type (%Foo.type.7d0) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.a71)] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .Self = %Self.1 @@ -645,15 +645,15 @@ interface Foo(a:! const (const C)) {} // CHECK:STDOUT: interface; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic interface @Bar.2(%a.loc21_15.1: %C) { +// CHECK:STDOUT: generic interface @Bar.loc21(%a.loc21_15.1: %C) { // CHECK:STDOUT: %a.loc21_15.2: %C = bind_symbolic_name a, 0 [symbolic = %a.loc21_15.2 (constants.%a)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Bar.type: type = facet_type <@Bar.2, @Bar.2(%a.loc21_15.2)> [symbolic = %Bar.type (constants.%Bar.type.6a9)] -// CHECK:STDOUT: %Self.2: @Bar.2.%Bar.type (%Bar.type.6a9) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.cec)] +// CHECK:STDOUT: %Bar.type: type = facet_type <@Bar.loc21, @Bar.loc21(%a.loc21_15.2)> [symbolic = %Bar.type (constants.%Bar.type.6a9)] +// CHECK:STDOUT: %Self.2: @Bar.loc21.%Bar.type (%Bar.type.6a9) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.cec)] // CHECK:STDOUT: // CHECK:STDOUT: interface { -// CHECK:STDOUT: %Self.1: @Bar.2.%Bar.type (%Bar.type.6a9) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.cec)] +// CHECK:STDOUT: %Self.1: @Bar.loc21.%Bar.type (%Bar.type.6a9) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.cec)] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .Self = %Self.1 @@ -672,7 +672,7 @@ interface Foo(a:! const (const C)) {} // CHECK:STDOUT: %a => constants.%a // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Foo.2(constants.%a) { +// CHECK:STDOUT: specific @Foo.loc12(constants.%a) { // CHECK:STDOUT: %a.loc12_15.2 => constants.%a // CHECK:STDOUT: } // CHECK:STDOUT: @@ -680,7 +680,7 @@ interface Foo(a:! const (const C)) {} // CHECK:STDOUT: %a => constants.%a // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Bar.2(constants.%a) { +// CHECK:STDOUT: specific @Bar.loc21(constants.%a) { // CHECK:STDOUT: %a.loc21_15.2 => constants.%a // CHECK:STDOUT: } // CHECK:STDOUT: @@ -692,12 +692,12 @@ interface Foo(a:! const (const C)) {} // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %a: %C = bind_symbolic_name a, 0 [symbolic] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] -// CHECK:STDOUT: %Foo.type.5380b8.1: type = generic_interface_type @Foo.1 [concrete] +// CHECK:STDOUT: %Foo.type.5380b8.1: type = generic_interface_type @Foo.loc7 [concrete] // CHECK:STDOUT: %Foo.generic.ec3175.1: %Foo.type.5380b8.1 = struct_value () [concrete] // CHECK:STDOUT: %b: %C = bind_symbolic_name b, 0 [symbolic] -// CHECK:STDOUT: %Foo.type.5380b8.2: type = generic_interface_type @Foo.2 [concrete] +// CHECK:STDOUT: %Foo.type.5380b8.2: type = generic_interface_type @Foo.loc15 [concrete] // CHECK:STDOUT: %Foo.generic.ec3175.2: %Foo.type.5380b8.2 = struct_value () [concrete] -// CHECK:STDOUT: %Foo.type.7d0: type = facet_type <@Foo.2, @Foo.2(%b)> [symbolic] +// CHECK:STDOUT: %Foo.type.7d0: type = facet_type <@Foo.loc15, @Foo.loc15(%b)> [symbolic] // CHECK:STDOUT: %Self: %Foo.type.7d0 = bind_symbolic_name Self, 1 [symbolic] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -710,13 +710,13 @@ interface Foo(a:! const (const C)) {} // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} // CHECK:STDOUT: %C.ref: type = name_ref C, %C.decl [concrete = constants.%C] // CHECK:STDOUT: %D: type = bind_alias D, %C.decl [concrete = constants.%C] -// CHECK:STDOUT: %Foo.decl.loc7: %Foo.type.5380b8.1 = interface_decl @Foo.1 [concrete = constants.%Foo.generic.ec3175.1] { +// CHECK:STDOUT: %Foo.decl.loc7: %Foo.type.5380b8.1 = interface_decl @Foo.loc7 [concrete = constants.%Foo.generic.ec3175.1] { // CHECK:STDOUT: %a.patt: %pattern_type = symbolic_binding_pattern a, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %a.loc7_15.1: %C = bind_symbolic_name a, 0 [symbolic = %a.loc7_15.2 (constants.%a)] // CHECK:STDOUT: } -// CHECK:STDOUT: %Foo.decl.loc15: %Foo.type.5380b8.2 = interface_decl @Foo.2 [concrete = constants.%Foo.generic.ec3175.2] { +// CHECK:STDOUT: %Foo.decl.loc15: %Foo.type.5380b8.2 = interface_decl @Foo.loc15 [concrete = constants.%Foo.generic.ec3175.2] { // CHECK:STDOUT: %b.patt: %pattern_type = symbolic_binding_pattern b, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D [concrete = constants.%C] @@ -724,21 +724,21 @@ interface Foo(a:! const (const C)) {} // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic interface @Foo.1(%a.loc7_15.1: %C) { +// CHECK:STDOUT: generic interface @Foo.loc7(%a.loc7_15.1: %C) { // CHECK:STDOUT: %a.loc7_15.2: %C = bind_symbolic_name a, 0 [symbolic = %a.loc7_15.2 (constants.%a)] // CHECK:STDOUT: // CHECK:STDOUT: interface; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic interface @Foo.2(%b.loc15_15.1: %C) { +// CHECK:STDOUT: generic interface @Foo.loc15(%b.loc15_15.1: %C) { // CHECK:STDOUT: %b.loc15_15.2: %C = bind_symbolic_name b, 0 [symbolic = %b.loc15_15.2 (constants.%b)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Foo.type: type = facet_type <@Foo.2, @Foo.2(%b.loc15_15.2)> [symbolic = %Foo.type (constants.%Foo.type.7d0)] -// CHECK:STDOUT: %Self.2: @Foo.2.%Foo.type (%Foo.type.7d0) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self)] +// CHECK:STDOUT: %Foo.type: type = facet_type <@Foo.loc15, @Foo.loc15(%b.loc15_15.2)> [symbolic = %Foo.type (constants.%Foo.type.7d0)] +// CHECK:STDOUT: %Self.2: @Foo.loc15.%Foo.type (%Foo.type.7d0) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self)] // CHECK:STDOUT: // CHECK:STDOUT: interface { -// CHECK:STDOUT: %Self.1: @Foo.2.%Foo.type (%Foo.type.7d0) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self)] +// CHECK:STDOUT: %Self.1: @Foo.loc15.%Foo.type (%Foo.type.7d0) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self)] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .Self = %Self.1 @@ -755,11 +755,11 @@ interface Foo(a:! const (const C)) {} // CHECK:STDOUT: .Self = constants.%C // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Foo.1(constants.%a) { +// CHECK:STDOUT: specific @Foo.loc7(constants.%a) { // CHECK:STDOUT: %a.loc7_15.2 => constants.%a // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Foo.2(constants.%b) { +// CHECK:STDOUT: specific @Foo.loc15(constants.%b) { // CHECK:STDOUT: %b.loc15_15.2 => constants.%b // CHECK:STDOUT: } // CHECK:STDOUT: @@ -771,11 +771,11 @@ interface Foo(a:! const (const C)) {} // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %a: %C = bind_symbolic_name a, 0 [symbolic] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] -// CHECK:STDOUT: %Foo.type.5380b8.1: type = generic_interface_type @Foo.1 [concrete] +// CHECK:STDOUT: %Foo.type.5380b8.1: type = generic_interface_type @Foo.loc7 [concrete] // CHECK:STDOUT: %Foo.generic.ec3175.1: %Foo.type.5380b8.1 = struct_value () [concrete] -// CHECK:STDOUT: %Foo.type.5380b8.2: type = generic_interface_type @Foo.2 [concrete] +// CHECK:STDOUT: %Foo.type.5380b8.2: type = generic_interface_type @Foo.loc15 [concrete] // CHECK:STDOUT: %Foo.generic.ec3175.2: %Foo.type.5380b8.2 = struct_value () [concrete] -// CHECK:STDOUT: %Foo.type.7d0: type = facet_type <@Foo.2, @Foo.2(%a)> [symbolic] +// CHECK:STDOUT: %Foo.type.7d0: type = facet_type <@Foo.loc15, @Foo.loc15(%a)> [symbolic] // CHECK:STDOUT: %Self: %Foo.type.7d0 = bind_symbolic_name Self, 1 [symbolic] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -788,13 +788,13 @@ interface Foo(a:! const (const C)) {} // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} // CHECK:STDOUT: %C.ref: type = name_ref C, %C.decl [concrete = constants.%C] // CHECK:STDOUT: %D: type = bind_alias D, %C.decl [concrete = constants.%C] -// CHECK:STDOUT: %Foo.decl.loc7: %Foo.type.5380b8.1 = interface_decl @Foo.1 [concrete = constants.%Foo.generic.ec3175.1] { +// CHECK:STDOUT: %Foo.decl.loc7: %Foo.type.5380b8.1 = interface_decl @Foo.loc7 [concrete = constants.%Foo.generic.ec3175.1] { // CHECK:STDOUT: %a.patt: %pattern_type = symbolic_binding_pattern a, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %a.loc7_15.1: %C = bind_symbolic_name a, 0 [symbolic = %a.loc7_15.2 (constants.%a)] // CHECK:STDOUT: } -// CHECK:STDOUT: %Foo.decl.loc15: %Foo.type.5380b8.2 = interface_decl @Foo.2 [concrete = constants.%Foo.generic.ec3175.2] { +// CHECK:STDOUT: %Foo.decl.loc15: %Foo.type.5380b8.2 = interface_decl @Foo.loc15 [concrete = constants.%Foo.generic.ec3175.2] { // CHECK:STDOUT: %a.patt: %pattern_type = symbolic_binding_pattern a, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D [concrete = constants.%C] @@ -802,21 +802,21 @@ interface Foo(a:! const (const C)) {} // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic interface @Foo.1(%a.loc7_15.1: %C) { +// CHECK:STDOUT: generic interface @Foo.loc7(%a.loc7_15.1: %C) { // CHECK:STDOUT: %a.loc7_15.2: %C = bind_symbolic_name a, 0 [symbolic = %a.loc7_15.2 (constants.%a)] // CHECK:STDOUT: // CHECK:STDOUT: interface; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic interface @Foo.2(%a.loc15_15.1: %C) { +// CHECK:STDOUT: generic interface @Foo.loc15(%a.loc15_15.1: %C) { // CHECK:STDOUT: %a.loc15_15.2: %C = bind_symbolic_name a, 0 [symbolic = %a.loc15_15.2 (constants.%a)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Foo.type: type = facet_type <@Foo.2, @Foo.2(%a.loc15_15.2)> [symbolic = %Foo.type (constants.%Foo.type.7d0)] -// CHECK:STDOUT: %Self.2: @Foo.2.%Foo.type (%Foo.type.7d0) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self)] +// CHECK:STDOUT: %Foo.type: type = facet_type <@Foo.loc15, @Foo.loc15(%a.loc15_15.2)> [symbolic = %Foo.type (constants.%Foo.type.7d0)] +// CHECK:STDOUT: %Self.2: @Foo.loc15.%Foo.type (%Foo.type.7d0) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self)] // CHECK:STDOUT: // CHECK:STDOUT: interface { -// CHECK:STDOUT: %Self.1: @Foo.2.%Foo.type (%Foo.type.7d0) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self)] +// CHECK:STDOUT: %Self.1: @Foo.loc15.%Foo.type (%Foo.type.7d0) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self)] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .Self = %Self.1 @@ -833,11 +833,11 @@ interface Foo(a:! const (const C)) {} // CHECK:STDOUT: .Self = constants.%C // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Foo.1(constants.%a) { +// CHECK:STDOUT: specific @Foo.loc7(constants.%a) { // CHECK:STDOUT: %a.loc7_15.2 => constants.%a // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Foo.2(constants.%a) { +// CHECK:STDOUT: specific @Foo.loc15(constants.%a) { // CHECK:STDOUT: %a.loc15_15.2 => constants.%a // CHECK:STDOUT: } // CHECK:STDOUT: @@ -849,11 +849,11 @@ interface Foo(a:! const (const C)) {} // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %a: %C = bind_symbolic_name a, 0 [symbolic] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] -// CHECK:STDOUT: %Foo.type.5380b8.1: type = generic_interface_type @Foo.1 [concrete] +// CHECK:STDOUT: %Foo.type.5380b8.1: type = generic_interface_type @Foo.loc7 [concrete] // CHECK:STDOUT: %Foo.generic.ec3175.1: %Foo.type.5380b8.1 = struct_value () [concrete] -// CHECK:STDOUT: %Foo.type.5380b8.2: type = generic_interface_type @Foo.2 [concrete] +// CHECK:STDOUT: %Foo.type.5380b8.2: type = generic_interface_type @Foo.loc15 [concrete] // CHECK:STDOUT: %Foo.generic.ec3175.2: %Foo.type.5380b8.2 = struct_value () [concrete] -// CHECK:STDOUT: %Foo.type.7d0: type = facet_type <@Foo.2, @Foo.2(%a)> [symbolic] +// CHECK:STDOUT: %Foo.type.7d0: type = facet_type <@Foo.loc15, @Foo.loc15(%a)> [symbolic] // CHECK:STDOUT: %Self: %Foo.type.7d0 = bind_symbolic_name Self, 1 [symbolic] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -866,13 +866,13 @@ interface Foo(a:! const (const C)) {} // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} // CHECK:STDOUT: %C.ref: type = name_ref C, %C.decl [concrete = constants.%C] // CHECK:STDOUT: %D: type = bind_alias D, %C.decl [concrete = constants.%C] -// CHECK:STDOUT: %Foo.decl.loc7: %Foo.type.5380b8.1 = interface_decl @Foo.1 [concrete = constants.%Foo.generic.ec3175.1] { +// CHECK:STDOUT: %Foo.decl.loc7: %Foo.type.5380b8.1 = interface_decl @Foo.loc7 [concrete = constants.%Foo.generic.ec3175.1] { // CHECK:STDOUT: %a.patt: %pattern_type = symbolic_binding_pattern a, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %a.loc7_15.1: %C = bind_symbolic_name a, 0 [symbolic = %a.loc7_15.2 (constants.%a)] // CHECK:STDOUT: } -// CHECK:STDOUT: %Foo.decl.loc15: %Foo.type.5380b8.2 = interface_decl @Foo.2 [concrete = constants.%Foo.generic.ec3175.2] { +// CHECK:STDOUT: %Foo.decl.loc15: %Foo.type.5380b8.2 = interface_decl @Foo.loc15 [concrete = constants.%Foo.generic.ec3175.2] { // CHECK:STDOUT: %a.patt: %pattern_type = symbolic_binding_pattern a, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D [concrete = constants.%C] @@ -880,21 +880,21 @@ interface Foo(a:! const (const C)) {} // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic interface @Foo.1(%a.loc7_15.1: %C) { +// CHECK:STDOUT: generic interface @Foo.loc7(%a.loc7_15.1: %C) { // CHECK:STDOUT: %a.loc7_15.2: %C = bind_symbolic_name a, 0 [symbolic = %a.loc7_15.2 (constants.%a)] // CHECK:STDOUT: // CHECK:STDOUT: interface; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic interface @Foo.2(%a.loc15_15.1: %C) { +// CHECK:STDOUT: generic interface @Foo.loc15(%a.loc15_15.1: %C) { // CHECK:STDOUT: %a.loc15_15.2: %C = bind_symbolic_name a, 0 [symbolic = %a.loc15_15.2 (constants.%a)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Foo.type: type = facet_type <@Foo.2, @Foo.2(%a.loc15_15.2)> [symbolic = %Foo.type (constants.%Foo.type.7d0)] -// CHECK:STDOUT: %Self.2: @Foo.2.%Foo.type (%Foo.type.7d0) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self)] +// CHECK:STDOUT: %Foo.type: type = facet_type <@Foo.loc15, @Foo.loc15(%a.loc15_15.2)> [symbolic = %Foo.type (constants.%Foo.type.7d0)] +// CHECK:STDOUT: %Self.2: @Foo.loc15.%Foo.type (%Foo.type.7d0) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self)] // CHECK:STDOUT: // CHECK:STDOUT: interface { -// CHECK:STDOUT: %Self.1: @Foo.2.%Foo.type (%Foo.type.7d0) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self)] +// CHECK:STDOUT: %Self.1: @Foo.loc15.%Foo.type (%Foo.type.7d0) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self)] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .Self = %Self.1 @@ -911,11 +911,11 @@ interface Foo(a:! const (const C)) {} // CHECK:STDOUT: .Self = constants.%C // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Foo.1(constants.%a) { +// CHECK:STDOUT: specific @Foo.loc7(constants.%a) { // CHECK:STDOUT: %a.loc7_15.2 => constants.%a // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Foo.2(constants.%a) { +// CHECK:STDOUT: specific @Foo.loc15(constants.%a) { // CHECK:STDOUT: %a.loc15_15.2 => constants.%a // CHECK:STDOUT: } // CHECK:STDOUT: @@ -974,9 +974,9 @@ interface Foo(a:! const (const C)) {} // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] // CHECK:STDOUT: %Foo.type.5380b8.1: type = generic_interface_type @Foo.1 [concrete] // CHECK:STDOUT: %Foo.generic.ec3175.1: %Foo.type.5380b8.1 = struct_value () [concrete] -// CHECK:STDOUT: %Foo.type.5380b8.2: type = generic_interface_type @Foo.2 [concrete] +// CHECK:STDOUT: %Foo.type.5380b8.2: type = generic_interface_type @Foo.loc17 [concrete] // CHECK:STDOUT: %Foo.generic.ec3175.2: %Foo.type.5380b8.2 = struct_value () [concrete] -// CHECK:STDOUT: %Foo.type.7d0: type = facet_type <@Foo.2, @Foo.2(%a)> [symbolic] +// CHECK:STDOUT: %Foo.type.7d0: type = facet_type <@Foo.loc17, @Foo.loc17(%a)> [symbolic] // CHECK:STDOUT: %Self: %Foo.type.7d0 = bind_symbolic_name Self, 1 [symbolic] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -998,7 +998,7 @@ interface Foo(a:! const (const C)) {} // CHECK:STDOUT: %default.import.loc2_30.2 = import // CHECK:STDOUT: %C.ref: type = name_ref C, imports.%Main.C [concrete = constants.%C] // CHECK:STDOUT: %D: type = bind_alias D, imports.%Main.C [concrete = constants.%C] -// CHECK:STDOUT: %Foo.decl: %Foo.type.5380b8.2 = interface_decl @Foo.2 [concrete = constants.%Foo.generic.ec3175.2] { +// CHECK:STDOUT: %Foo.decl: %Foo.type.5380b8.2 = interface_decl @Foo.loc17 [concrete = constants.%Foo.generic.ec3175.2] { // CHECK:STDOUT: %a.patt: %pattern_type = symbolic_binding_pattern a, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D [concrete = constants.%C] @@ -1012,15 +1012,15 @@ interface Foo(a:! const (const C)) {} // CHECK:STDOUT: interface; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic interface @Foo.2(%a.loc17_15.1: %C) { +// CHECK:STDOUT: generic interface @Foo.loc17(%a.loc17_15.1: %C) { // CHECK:STDOUT: %a.loc17_15.2: %C = bind_symbolic_name a, 0 [symbolic = %a.loc17_15.2 (constants.%a)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Foo.type: type = facet_type <@Foo.2, @Foo.2(%a.loc17_15.2)> [symbolic = %Foo.type (constants.%Foo.type.7d0)] -// CHECK:STDOUT: %Self.2: @Foo.2.%Foo.type (%Foo.type.7d0) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self)] +// CHECK:STDOUT: %Foo.type: type = facet_type <@Foo.loc17, @Foo.loc17(%a.loc17_15.2)> [symbolic = %Foo.type (constants.%Foo.type.7d0)] +// CHECK:STDOUT: %Self.2: @Foo.loc17.%Foo.type (%Foo.type.7d0) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self)] // CHECK:STDOUT: // CHECK:STDOUT: interface { -// CHECK:STDOUT: %Self.1: @Foo.2.%Foo.type (%Foo.type.7d0) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self)] +// CHECK:STDOUT: %Self.1: @Foo.loc17.%Foo.type (%Foo.type.7d0) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self)] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .Self = %Self.1 @@ -1039,7 +1039,7 @@ interface Foo(a:! const (const C)) {} // CHECK:STDOUT: %a => constants.%a // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Foo.2(constants.%a) { +// CHECK:STDOUT: specific @Foo.loc17(constants.%a) { // CHECK:STDOUT: %a.loc17_15.2 => constants.%a // CHECK:STDOUT: } // CHECK:STDOUT: @@ -1052,11 +1052,11 @@ interface Foo(a:! const (const C)) {} // CHECK:STDOUT: %const: type = const_type %C [concrete] // CHECK:STDOUT: %a: %const = bind_symbolic_name a, 0 [symbolic] // CHECK:STDOUT: %pattern_type: type = pattern_type %const [concrete] -// CHECK:STDOUT: %Foo.type.5380b8.1: type = generic_interface_type @Foo.1 [concrete] +// CHECK:STDOUT: %Foo.type.5380b8.1: type = generic_interface_type @Foo.loc6 [concrete] // CHECK:STDOUT: %Foo.generic.ec3175.1: %Foo.type.5380b8.1 = struct_value () [concrete] -// CHECK:STDOUT: %Foo.type.5380b8.2: type = generic_interface_type @Foo.2 [concrete] +// CHECK:STDOUT: %Foo.type.5380b8.2: type = generic_interface_type @Foo.loc18 [concrete] // CHECK:STDOUT: %Foo.generic.ec3175.2: %Foo.type.5380b8.2 = struct_value () [concrete] -// CHECK:STDOUT: %Foo.type.924: type = facet_type <@Foo.2, @Foo.2(%a)> [symbolic] +// CHECK:STDOUT: %Foo.type.924: type = facet_type <@Foo.loc18, @Foo.loc18(%a)> [symbolic] // CHECK:STDOUT: %Self: %Foo.type.924 = bind_symbolic_name Self, 1 [symbolic] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -1066,7 +1066,7 @@ interface Foo(a:! const (const C)) {} // CHECK:STDOUT: .Foo = %Foo.decl.loc6 // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} -// CHECK:STDOUT: %Foo.decl.loc6: %Foo.type.5380b8.1 = interface_decl @Foo.1 [concrete = constants.%Foo.generic.ec3175.1] { +// CHECK:STDOUT: %Foo.decl.loc6: %Foo.type.5380b8.1 = interface_decl @Foo.loc6 [concrete = constants.%Foo.generic.ec3175.1] { // CHECK:STDOUT: %a.patt: %pattern_type = symbolic_binding_pattern a, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc6: type = splice_block %const [concrete = constants.%const] { @@ -1075,7 +1075,7 @@ interface Foo(a:! const (const C)) {} // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc6_15.1: %const = bind_symbolic_name a, 0 [symbolic = %a.loc6_15.2 (constants.%a)] // CHECK:STDOUT: } -// CHECK:STDOUT: %Foo.decl.loc18: %Foo.type.5380b8.2 = interface_decl @Foo.2 [concrete = constants.%Foo.generic.ec3175.2] { +// CHECK:STDOUT: %Foo.decl.loc18: %Foo.type.5380b8.2 = interface_decl @Foo.loc18 [concrete = constants.%Foo.generic.ec3175.2] { // CHECK:STDOUT: %a.patt: %pattern_type = symbolic_binding_pattern a, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc18: type = splice_block %const.loc18_19 [concrete = constants.%const] { @@ -1087,21 +1087,21 @@ interface Foo(a:! const (const C)) {} // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic interface @Foo.1(%a.loc6_15.1: %const) { +// CHECK:STDOUT: generic interface @Foo.loc6(%a.loc6_15.1: %const) { // CHECK:STDOUT: %a.loc6_15.2: %const = bind_symbolic_name a, 0 [symbolic = %a.loc6_15.2 (constants.%a)] // CHECK:STDOUT: // CHECK:STDOUT: interface; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic interface @Foo.2(%a.loc18_15.1: %const) { +// CHECK:STDOUT: generic interface @Foo.loc18(%a.loc18_15.1: %const) { // CHECK:STDOUT: %a.loc18_15.2: %const = bind_symbolic_name a, 0 [symbolic = %a.loc18_15.2 (constants.%a)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Foo.type: type = facet_type <@Foo.2, @Foo.2(%a.loc18_15.2)> [symbolic = %Foo.type (constants.%Foo.type.924)] -// CHECK:STDOUT: %Self.2: @Foo.2.%Foo.type (%Foo.type.924) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self)] +// CHECK:STDOUT: %Foo.type: type = facet_type <@Foo.loc18, @Foo.loc18(%a.loc18_15.2)> [symbolic = %Foo.type (constants.%Foo.type.924)] +// CHECK:STDOUT: %Self.2: @Foo.loc18.%Foo.type (%Foo.type.924) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self)] // CHECK:STDOUT: // CHECK:STDOUT: interface { -// CHECK:STDOUT: %Self.1: @Foo.2.%Foo.type (%Foo.type.924) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self)] +// CHECK:STDOUT: %Self.1: @Foo.loc18.%Foo.type (%Foo.type.924) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self)] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .Self = %Self.1 @@ -1118,11 +1118,11 @@ interface Foo(a:! const (const C)) {} // CHECK:STDOUT: .Self = constants.%C // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Foo.1(constants.%a) { +// CHECK:STDOUT: specific @Foo.loc6(constants.%a) { // CHECK:STDOUT: %a.loc6_15.2 => constants.%a // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Foo.2(constants.%a) { +// CHECK:STDOUT: specific @Foo.loc18(constants.%a) { // CHECK:STDOUT: %a.loc18_15.2 => constants.%a // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/namespace/fail_conflict_after_merge.carbon b/toolchain/check/testdata/namespace/fail_conflict_after_merge.carbon index 11f13b32e0a3..9c1c6a92a783 100644 --- a/toolchain/check/testdata/namespace/fail_conflict_after_merge.carbon +++ b/toolchain/check/testdata/namespace/fail_conflict_after_merge.carbon @@ -73,9 +73,9 @@ fn NS(); // CHECK:STDOUT: --- fail_conflict.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %NS.type.1cad4d.1: type = fn_type @NS.1 [concrete] +// CHECK:STDOUT: %NS.type.1cad4d.1: type = fn_type @NS.loc18 [concrete] // CHECK:STDOUT: %NS.b2e2ce.1: %NS.type.1cad4d.1 = struct_value () [concrete] -// CHECK:STDOUT: %NS.type.1cad4d.2: type = fn_type @NS.2 [concrete] +// CHECK:STDOUT: %NS.type.1cad4d.2: type = fn_type @NS.loc32 [concrete] // CHECK:STDOUT: %NS.b2e2ce.2: %NS.type.1cad4d.2 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -96,12 +96,12 @@ fn NS(); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: %NS.loc8: = namespace [concrete] {} -// CHECK:STDOUT: %NS.decl.loc18: %NS.type.1cad4d.1 = fn_decl @NS.1 [concrete = constants.%NS.b2e2ce.1] {} {} +// CHECK:STDOUT: %NS.decl.loc18: %NS.type.1cad4d.1 = fn_decl @NS.loc18 [concrete = constants.%NS.b2e2ce.1] {} {} // CHECK:STDOUT: %NS.loc22: = namespace [concrete] {} -// CHECK:STDOUT: %NS.decl.loc32: %NS.type.1cad4d.2 = fn_decl @NS.2 [concrete = constants.%NS.b2e2ce.2] {} {} +// CHECK:STDOUT: %NS.decl.loc32: %NS.type.1cad4d.2 = fn_decl @NS.loc32 [concrete = constants.%NS.b2e2ce.2] {} {} // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @NS.1(); +// CHECK:STDOUT: fn @NS.loc18(); // CHECK:STDOUT: -// CHECK:STDOUT: fn @NS.2(); +// CHECK:STDOUT: fn @NS.loc32(); // CHECK:STDOUT: diff --git a/toolchain/check/testdata/namespace/fail_duplicate.carbon b/toolchain/check/testdata/namespace/fail_duplicate.carbon index 7f1b69503330..cfbebf173ba2 100644 --- a/toolchain/check/testdata/namespace/fail_duplicate.carbon +++ b/toolchain/check/testdata/namespace/fail_duplicate.carbon @@ -30,9 +30,9 @@ fn Foo.Baz() { // CHECK:STDOUT: --- fail_duplicate.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %Baz.type.8987ba.1: type = fn_type @Baz.1 [concrete] +// CHECK:STDOUT: %Baz.type.8987ba.1: type = fn_type @Baz.loc17 [concrete] // CHECK:STDOUT: %Baz.eb4c34.1: %Baz.type.8987ba.1 = struct_value () [concrete] -// CHECK:STDOUT: %Baz.type.8987ba.2: type = fn_type @Baz.2 [concrete] +// CHECK:STDOUT: %Baz.type.8987ba.2: type = fn_type @Baz.loc27 [concrete] // CHECK:STDOUT: %Baz.eb4c34.2: %Baz.type.8987ba.2 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -52,16 +52,16 @@ fn Foo.Baz() { // CHECK:STDOUT: %Foo: = namespace [concrete] { // CHECK:STDOUT: .Baz = %Baz.decl.loc17 // CHECK:STDOUT: } -// CHECK:STDOUT: %Baz.decl.loc17: %Baz.type.8987ba.1 = fn_decl @Baz.1 [concrete = constants.%Baz.eb4c34.1] {} {} -// CHECK:STDOUT: %Baz.decl.loc27: %Baz.type.8987ba.2 = fn_decl @Baz.2 [concrete = constants.%Baz.eb4c34.2] {} {} +// CHECK:STDOUT: %Baz.decl.loc17: %Baz.type.8987ba.1 = fn_decl @Baz.loc17 [concrete = constants.%Baz.eb4c34.1] {} {} +// CHECK:STDOUT: %Baz.decl.loc27: %Baz.type.8987ba.2 = fn_decl @Baz.loc27 [concrete = constants.%Baz.eb4c34.2] {} {} // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Baz.1() { +// CHECK:STDOUT: fn @Baz.loc17() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Baz.2() { +// CHECK:STDOUT: fn @Baz.loc27() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/namespace/fail_not_top_level.carbon b/toolchain/check/testdata/namespace/fail_not_top_level.carbon index 9bcb2b40d1dc..c7638308deb3 100644 --- a/toolchain/check/testdata/namespace/fail_not_top_level.carbon +++ b/toolchain/check/testdata/namespace/fail_not_top_level.carbon @@ -42,18 +42,18 @@ interface I { // CHECK:STDOUT: --- fail_not_top_level.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %F.type.b25: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.b25: type = fn_type @F.loc15 [concrete] // CHECK:STDOUT: %F.c41: %F.type.b25 = struct_value () [concrete] -// CHECK:STDOUT: %F.type.bee: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.bee: type = fn_type @F.loc21 [concrete] // CHECK:STDOUT: %F.39e: %F.type.bee = struct_value () [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] -// CHECK:STDOUT: %F.type.1cc: type = fn_type @F.3 [concrete] +// CHECK:STDOUT: %F.type.1cc: type = fn_type @F.loc30 [concrete] // CHECK:STDOUT: %F.f49: %F.type.1cc = struct_value () [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] -// CHECK:STDOUT: %I.type.733: type = facet_type <@I.2> [concrete] +// CHECK:STDOUT: %I.type.733: type = facet_type <@I.loc33> [concrete] // CHECK:STDOUT: %Self: %I.type.733 = bind_symbolic_name Self, 0 [symbolic] -// CHECK:STDOUT: %I.type.d37: type = fn_type @I.1 [concrete] +// CHECK:STDOUT: %I.type.d37: type = fn_type @I.loc39 [concrete] // CHECK:STDOUT: %I: %I.type.d37 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -72,17 +72,17 @@ interface I { // CHECK:STDOUT: .I = %I.decl // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core -// CHECK:STDOUT: %F.decl: %F.type.b25 = fn_decl @F.1 [concrete = constants.%F.c41] {} {} +// CHECK:STDOUT: %F.decl: %F.type.b25 = fn_decl @F.loc15 [concrete = constants.%F.c41] {} {} // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} -// CHECK:STDOUT: %I.decl: type = interface_decl @I.2 [concrete = constants.%I.type.733] {} {} +// CHECK:STDOUT: %I.decl: type = interface_decl @I.loc33 [concrete = constants.%I.type.733] {} {} // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: interface @I.2 { +// CHECK:STDOUT: interface @I.loc33 { // CHECK:STDOUT: %Self: %I.type.733 = bind_symbolic_name Self, 0 [symbolic = constants.%Self] // CHECK:STDOUT: %N: = namespace [concrete] { // CHECK:STDOUT: .I = %I.decl // CHECK:STDOUT: } -// CHECK:STDOUT: %I.decl: %I.type.d37 = fn_decl @I.1 [concrete = constants.%I] {} {} +// CHECK:STDOUT: %I.decl: %I.type.d37 = fn_decl @I.loc39 [concrete = constants.%I] {} {} // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .Self = %Self @@ -94,7 +94,7 @@ interface I { // CHECK:STDOUT: %N: = namespace [concrete] { // CHECK:STDOUT: .F = %F.decl // CHECK:STDOUT: } -// CHECK:STDOUT: %F.decl: %F.type.1cc = fn_decl @F.3 [concrete = constants.%F.f49] {} {} +// CHECK:STDOUT: %F.decl: %F.type.1cc = fn_decl @F.loc30 [concrete = constants.%F.f49] {} {} // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete = constants.%empty_struct_type] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete = constants.%complete_type] // CHECK:STDOUT: complete_type_witness = %complete_type @@ -104,26 +104,26 @@ interface I { // CHECK:STDOUT: .N = %N // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.1() { +// CHECK:STDOUT: fn @F.loc15() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %N: = namespace [concrete] { // CHECK:STDOUT: .F = %F.decl // CHECK:STDOUT: } -// CHECK:STDOUT: %F.decl: %F.type.bee = fn_decl @F.2 [concrete = constants.%F.39e] {} {} +// CHECK:STDOUT: %F.decl: %F.type.bee = fn_decl @F.loc21 [concrete = constants.%F.39e] {} {} // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2() { +// CHECK:STDOUT: fn @F.loc21() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.3() { +// CHECK:STDOUT: fn @F.loc30() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @I.1(@I.2.%Self: %I.type.733) { +// CHECK:STDOUT: generic fn @I.loc39(@I.loc33.%Self: %I.type.733) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: // CHECK:STDOUT: fn() { @@ -132,5 +132,5 @@ interface I { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @I.1(constants.%Self) {} +// CHECK:STDOUT: specific @I.loc39(constants.%Self) {} // CHECK:STDOUT: diff --git a/toolchain/check/testdata/namespace/fail_params.carbon b/toolchain/check/testdata/namespace/fail_params.carbon index 41a0e7554feb..ceece00f76af 100644 --- a/toolchain/check/testdata/namespace/fail_params.carbon +++ b/toolchain/check/testdata/namespace/fail_params.carbon @@ -50,11 +50,11 @@ fn D(T:! type).F() {} // CHECK:STDOUT: --- fail_params.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %F.type.bd7: type = fn_type @F.1 [concrete] +// CHECK:STDOUT: %F.type.bd7: type = fn_type @F.loc22 [concrete] // CHECK:STDOUT: %F.199: %F.type.bd7 = struct_value () [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic] -// CHECK:STDOUT: %F.type.b25: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.b25: type = fn_type @F.loc48 [concrete] // CHECK:STDOUT: %F.c41: %F.type.b25 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -78,7 +78,7 @@ fn D(T:! type).F() {} // CHECK:STDOUT: %A: = namespace [concrete] { // CHECK:STDOUT: .F = %F.decl.loc22 // CHECK:STDOUT: } -// CHECK:STDOUT: %F.decl.loc22: %F.type.bd7 = fn_decl @F.1 [concrete = constants.%F.199] {} {} +// CHECK:STDOUT: %F.decl.loc22: %F.type.bd7 = fn_decl @F.loc22 [concrete = constants.%F.199] {} {} // CHECK:STDOUT: %n.param: = value_param call_param0 // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %n: = bind_name n, %n.param @@ -89,17 +89,17 @@ fn D(T:! type).F() {} // CHECK:STDOUT: %x: %T = bind_name x, %x.param // CHECK:STDOUT: %C: = namespace [concrete] {} // CHECK:STDOUT: %D: = namespace [concrete] {} -// CHECK:STDOUT: %F.decl.loc48: %F.type.b25 = fn_decl @F.2 [concrete = constants.%F.c41] {} { +// CHECK:STDOUT: %F.decl.loc48: %F.type.b25 = fn_decl @F.loc48 [concrete = constants.%F.c41] {} { // CHECK:STDOUT: %T.loc48_6.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc48_6.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.1() { +// CHECK:STDOUT: fn @F.loc22() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.2(%T.loc48_6.1: type) { +// CHECK:STDOUT: generic fn @F.loc48(%T.loc48_6.1: type) { // CHECK:STDOUT: %T.loc48_6.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc48_6.2 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -110,7 +110,7 @@ fn D(T:! type).F() {} // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F.2(constants.%T) { +// CHECK:STDOUT: specific @F.loc48(constants.%T) { // CHECK:STDOUT: %T.loc48_6.2 => constants.%T // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/namespace/function.carbon b/toolchain/check/testdata/namespace/function.carbon index 8dda5109f442..ddb7bd01afc1 100644 --- a/toolchain/check/testdata/namespace/function.carbon +++ b/toolchain/check/testdata/namespace/function.carbon @@ -28,10 +28,10 @@ fn Bar() { // CHECK:STDOUT: --- function.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %Baz.type.03f: type = fn_type @Baz.1 [concrete] +// CHECK:STDOUT: %Baz.type.03f: type = fn_type @Baz.loc18 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Baz.5ea: %Baz.type.03f = struct_value () [concrete] -// CHECK:STDOUT: %Baz.type.898: type = fn_type @Baz.2 [concrete] +// CHECK:STDOUT: %Baz.type.898: type = fn_type @Baz.loc21 [concrete] // CHECK:STDOUT: %Baz.eb4: %Baz.type.898 = struct_value () [concrete] // CHECK:STDOUT: %Bar.type: type = fn_type @Bar [concrete] // CHECK:STDOUT: %Bar: %Bar.type = struct_value () [concrete] @@ -55,17 +55,17 @@ fn Bar() { // CHECK:STDOUT: %Foo: = namespace [concrete] { // CHECK:STDOUT: .Baz = %Baz.decl.loc21 // CHECK:STDOUT: } -// CHECK:STDOUT: %Baz.decl.loc18: %Baz.type.03f = fn_decl @Baz.1 [concrete = constants.%Baz.5ea] {} {} -// CHECK:STDOUT: %Baz.decl.loc21: %Baz.type.898 = fn_decl @Baz.2 [concrete = constants.%Baz.eb4] {} {} +// CHECK:STDOUT: %Baz.decl.loc18: %Baz.type.03f = fn_decl @Baz.loc18 [concrete = constants.%Baz.5ea] {} {} +// CHECK:STDOUT: %Baz.decl.loc21: %Baz.type.898 = fn_decl @Baz.loc21 [concrete = constants.%Baz.eb4] {} {} // CHECK:STDOUT: %Bar.decl: %Bar.type = fn_decl @Bar [concrete = constants.%Bar] {} {} // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Baz.1() { +// CHECK:STDOUT: fn @Baz.loc18() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Baz.2() { +// CHECK:STDOUT: fn @Baz.loc21() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/namespace/shadow.carbon b/toolchain/check/testdata/namespace/shadow.carbon index 58da3dca2f69..29a76c1599b9 100644 --- a/toolchain/check/testdata/namespace/shadow.carbon +++ b/toolchain/check/testdata/namespace/shadow.carbon @@ -34,10 +34,10 @@ fn N.M.B() -> i32 { // CHECK:STDOUT: --- shadow.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %A.type.00d: type = fn_type @A.1 [concrete] +// CHECK:STDOUT: %A.type.00d: type = fn_type @A.loc15 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %A.1db: %A.type.00d = struct_value () [concrete] -// CHECK:STDOUT: %A.type.0e8: type = fn_type @A.2 [concrete] +// CHECK:STDOUT: %A.type.0e8: type = fn_type @A.loc18 [concrete] // CHECK:STDOUT: %A.281: %A.type.0e8 = struct_value () [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] @@ -93,12 +93,12 @@ fn N.M.B() -> i32 { // CHECK:STDOUT: .N = %N // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core -// CHECK:STDOUT: %A.decl.loc15: %A.type.00d = fn_decl @A.1 [concrete = constants.%A.1db] {} {} +// CHECK:STDOUT: %A.decl.loc15: %A.type.00d = fn_decl @A.loc15 [concrete = constants.%A.1db] {} {} // CHECK:STDOUT: %N: = namespace [concrete] { // CHECK:STDOUT: .A = %A.decl.loc18 // CHECK:STDOUT: .M = %M // CHECK:STDOUT: } -// CHECK:STDOUT: %A.decl.loc18: %A.type.0e8 = fn_decl @A.2 [concrete = constants.%A.281] {} {} +// CHECK:STDOUT: %A.decl.loc18: %A.type.0e8 = fn_decl @A.loc18 [concrete = constants.%A.281] {} {} // CHECK:STDOUT: %M: = namespace [concrete] { // CHECK:STDOUT: .B = %B.decl // CHECK:STDOUT: .A = @@ -114,9 +114,9 @@ fn N.M.B() -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @A.1(); +// CHECK:STDOUT: fn @A.loc15(); // CHECK:STDOUT: -// CHECK:STDOUT: fn @A.2(); +// CHECK:STDOUT: fn @A.loc18(); // CHECK:STDOUT: // CHECK:STDOUT: fn @B() -> %i32 { // CHECK:STDOUT: !entry: diff --git a/toolchain/check/testdata/operators/overloaded/add.carbon b/toolchain/check/testdata/operators/overloaded/add.carbon index 9ec967c01298..e0d4cc175715 100644 --- a/toolchain/check/testdata/operators/overloaded/add.carbon +++ b/toolchain/check/testdata/operators/overloaded/add.carbon @@ -46,14 +46,14 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: %AddWith.type.ffb: type = facet_type <@AddWith, @AddWith(%C)> [concrete] // CHECK:STDOUT: %Op.type.45e: type = fn_type @Op.1, @AddWith(%C) [concrete] // CHECK:STDOUT: %AddWith.impl_witness: = impl_witness file.%AddWith.impl_witness_table [concrete] -// CHECK:STDOUT: %Op.type.638: type = fn_type @Op.6 [concrete] +// CHECK:STDOUT: %Op.type.638: type = fn_type @Op.loc21 [concrete] // CHECK:STDOUT: %Op.276: %Op.type.638 = struct_value () [concrete] // CHECK:STDOUT: %AddWith.facet.3ef: %AddWith.type.ffb = facet_value %C, (%AddWith.impl_witness) [concrete] // CHECK:STDOUT: %AddAssignWith.type.393: type = facet_type <@AddAssignWith, @AddAssignWith(%C)> [concrete] -// CHECK:STDOUT: %Op.type.5af: type = fn_type @Op.7, @AddAssignWith(%C) [concrete] +// CHECK:STDOUT: %Op.type.5af: type = fn_type @Op.6, @AddAssignWith(%C) [concrete] // CHECK:STDOUT: %AddAssignWith.impl_witness: = impl_witness file.%AddAssignWith.impl_witness_table [concrete] // CHECK:STDOUT: %ptr.019: type = ptr_type %C [concrete] -// CHECK:STDOUT: %Op.type.0d7: type = fn_type @Op.8 [concrete] +// CHECK:STDOUT: %Op.type.0d7: type = fn_type @Op.loc26 [concrete] // CHECK:STDOUT: %Op.572: %Op.type.0d7 = struct_value () [concrete] // CHECK:STDOUT: %AddAssignWith.facet: %AddAssignWith.type.393 = facet_value %C, (%AddAssignWith.impl_witness) [concrete] // CHECK:STDOUT: %.268: type = fn_type_with_self_type %Op.type.45e, %AddWith.facet.3ef [concrete] diff --git a/toolchain/check/testdata/operators/overloaded/bit_and.carbon b/toolchain/check/testdata/operators/overloaded/bit_and.carbon index 7b61d7b3e546..22504e0dca63 100644 --- a/toolchain/check/testdata/operators/overloaded/bit_and.carbon +++ b/toolchain/check/testdata/operators/overloaded/bit_and.carbon @@ -46,14 +46,14 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: %BitAndWith.type.e40: type = facet_type <@BitAndWith, @BitAndWith(%C)> [concrete] // CHECK:STDOUT: %Op.type.914: type = fn_type @Op.1, @BitAndWith(%C) [concrete] // CHECK:STDOUT: %BitAndWith.impl_witness: = impl_witness file.%BitAndWith.impl_witness_table [concrete] -// CHECK:STDOUT: %Op.type.bcc: type = fn_type @Op.6 [concrete] +// CHECK:STDOUT: %Op.type.bcc: type = fn_type @Op.loc21 [concrete] // CHECK:STDOUT: %Op.c46: %Op.type.bcc = struct_value () [concrete] // CHECK:STDOUT: %BitAndWith.facet.783: %BitAndWith.type.e40 = facet_value %C, (%BitAndWith.impl_witness) [concrete] // CHECK:STDOUT: %BitAndAssignWith.type.e85: type = facet_type <@BitAndAssignWith, @BitAndAssignWith(%C)> [concrete] -// CHECK:STDOUT: %Op.type.73d: type = fn_type @Op.7, @BitAndAssignWith(%C) [concrete] +// CHECK:STDOUT: %Op.type.73d: type = fn_type @Op.6, @BitAndAssignWith(%C) [concrete] // CHECK:STDOUT: %BitAndAssignWith.impl_witness: = impl_witness file.%BitAndAssignWith.impl_witness_table [concrete] // CHECK:STDOUT: %ptr.019: type = ptr_type %C [concrete] -// CHECK:STDOUT: %Op.type.115: type = fn_type @Op.8 [concrete] +// CHECK:STDOUT: %Op.type.115: type = fn_type @Op.loc26 [concrete] // CHECK:STDOUT: %Op.270: %Op.type.115 = struct_value () [concrete] // CHECK:STDOUT: %BitAndAssignWith.facet: %BitAndAssignWith.type.e85 = facet_value %C, (%BitAndAssignWith.impl_witness) [concrete] // CHECK:STDOUT: %.04a: type = fn_type_with_self_type %Op.type.914, %BitAndWith.facet.783 [concrete] diff --git a/toolchain/check/testdata/operators/overloaded/bit_complement.carbon b/toolchain/check/testdata/operators/overloaded/bit_complement.carbon index 2f272ca46738..b9c06cd9ef1a 100644 --- a/toolchain/check/testdata/operators/overloaded/bit_complement.carbon +++ b/toolchain/check/testdata/operators/overloaded/bit_complement.carbon @@ -36,7 +36,7 @@ fn TestOp(a: C) -> C { // CHECK:STDOUT: %BitComplement.type: type = facet_type <@BitComplement> [concrete] // CHECK:STDOUT: %Op.type.f25: type = fn_type @Op.6 [concrete] // CHECK:STDOUT: %BitComplement.impl_witness: = impl_witness file.%BitComplement.impl_witness_table [concrete] -// CHECK:STDOUT: %Op.type.e57: type = fn_type @Op.7 [concrete] +// CHECK:STDOUT: %Op.type.e57: type = fn_type @Op.loc21 [concrete] // CHECK:STDOUT: %Op.d4b: %Op.type.e57 = struct_value () [concrete] // CHECK:STDOUT: %BitComplement.facet.c4c: %BitComplement.type = facet_value %C, (%BitComplement.impl_witness) [concrete] // CHECK:STDOUT: %.18b: type = fn_type_with_self_type %Op.type.f25, %BitComplement.facet.c4c [concrete] diff --git a/toolchain/check/testdata/operators/overloaded/bit_or.carbon b/toolchain/check/testdata/operators/overloaded/bit_or.carbon index 87da5def0f37..f841c2a56f91 100644 --- a/toolchain/check/testdata/operators/overloaded/bit_or.carbon +++ b/toolchain/check/testdata/operators/overloaded/bit_or.carbon @@ -46,14 +46,14 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: %BitOrWith.type.502: type = facet_type <@BitOrWith, @BitOrWith(%C)> [concrete] // CHECK:STDOUT: %Op.type.501: type = fn_type @Op.1, @BitOrWith(%C) [concrete] // CHECK:STDOUT: %BitOrWith.impl_witness: = impl_witness file.%BitOrWith.impl_witness_table [concrete] -// CHECK:STDOUT: %Op.type.cc7: type = fn_type @Op.6 [concrete] +// CHECK:STDOUT: %Op.type.cc7: type = fn_type @Op.loc21 [concrete] // CHECK:STDOUT: %Op.3e9: %Op.type.cc7 = struct_value () [concrete] // CHECK:STDOUT: %BitOrWith.facet.f19: %BitOrWith.type.502 = facet_value %C, (%BitOrWith.impl_witness) [concrete] // CHECK:STDOUT: %BitOrAssignWith.type.3e6: type = facet_type <@BitOrAssignWith, @BitOrAssignWith(%C)> [concrete] -// CHECK:STDOUT: %Op.type.efc: type = fn_type @Op.7, @BitOrAssignWith(%C) [concrete] +// CHECK:STDOUT: %Op.type.efc: type = fn_type @Op.6, @BitOrAssignWith(%C) [concrete] // CHECK:STDOUT: %BitOrAssignWith.impl_witness: = impl_witness file.%BitOrAssignWith.impl_witness_table [concrete] // CHECK:STDOUT: %ptr.019: type = ptr_type %C [concrete] -// CHECK:STDOUT: %Op.type.4ee: type = fn_type @Op.8 [concrete] +// CHECK:STDOUT: %Op.type.4ee: type = fn_type @Op.loc26 [concrete] // CHECK:STDOUT: %Op.afa: %Op.type.4ee = struct_value () [concrete] // CHECK:STDOUT: %BitOrAssignWith.facet: %BitOrAssignWith.type.3e6 = facet_value %C, (%BitOrAssignWith.impl_witness) [concrete] // CHECK:STDOUT: %.b8d: type = fn_type_with_self_type %Op.type.501, %BitOrWith.facet.f19 [concrete] diff --git a/toolchain/check/testdata/operators/overloaded/bit_xor.carbon b/toolchain/check/testdata/operators/overloaded/bit_xor.carbon index 65eb84fbdd31..f44b62d88864 100644 --- a/toolchain/check/testdata/operators/overloaded/bit_xor.carbon +++ b/toolchain/check/testdata/operators/overloaded/bit_xor.carbon @@ -46,14 +46,14 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: %BitXorWith.type.f9b: type = facet_type <@BitXorWith, @BitXorWith(%C)> [concrete] // CHECK:STDOUT: %Op.type.502: type = fn_type @Op.1, @BitXorWith(%C) [concrete] // CHECK:STDOUT: %BitXorWith.impl_witness: = impl_witness file.%BitXorWith.impl_witness_table [concrete] -// CHECK:STDOUT: %Op.type.5e4: type = fn_type @Op.6 [concrete] +// CHECK:STDOUT: %Op.type.5e4: type = fn_type @Op.loc21 [concrete] // CHECK:STDOUT: %Op.ef1: %Op.type.5e4 = struct_value () [concrete] // CHECK:STDOUT: %BitXorWith.facet.d57: %BitXorWith.type.f9b = facet_value %C, (%BitXorWith.impl_witness) [concrete] // CHECK:STDOUT: %BitXorAssignWith.type.57a: type = facet_type <@BitXorAssignWith, @BitXorAssignWith(%C)> [concrete] -// CHECK:STDOUT: %Op.type.ad0: type = fn_type @Op.7, @BitXorAssignWith(%C) [concrete] +// CHECK:STDOUT: %Op.type.ad0: type = fn_type @Op.6, @BitXorAssignWith(%C) [concrete] // CHECK:STDOUT: %BitXorAssignWith.impl_witness: = impl_witness file.%BitXorAssignWith.impl_witness_table [concrete] // CHECK:STDOUT: %ptr.019: type = ptr_type %C [concrete] -// CHECK:STDOUT: %Op.type.d64: type = fn_type @Op.8 [concrete] +// CHECK:STDOUT: %Op.type.d64: type = fn_type @Op.loc26 [concrete] // CHECK:STDOUT: %Op.5e5: %Op.type.d64 = struct_value () [concrete] // CHECK:STDOUT: %BitXorAssignWith.facet: %BitXorAssignWith.type.57a = facet_value %C, (%BitXorAssignWith.impl_witness) [concrete] // CHECK:STDOUT: %.c60: type = fn_type_with_self_type %Op.type.502, %BitXorWith.facet.d57 [concrete] diff --git a/toolchain/check/testdata/operators/overloaded/dec.carbon b/toolchain/check/testdata/operators/overloaded/dec.carbon index 81345790ad08..1ed767498882 100644 --- a/toolchain/check/testdata/operators/overloaded/dec.carbon +++ b/toolchain/check/testdata/operators/overloaded/dec.carbon @@ -37,7 +37,7 @@ fn TestOp() { // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Dec.impl_witness: = impl_witness file.%Dec.impl_witness_table [concrete] // CHECK:STDOUT: %ptr.019: type = ptr_type %C [concrete] -// CHECK:STDOUT: %Op.type.9e0: type = fn_type @Op.2 [concrete] +// CHECK:STDOUT: %Op.type.9e0: type = fn_type @Op.loc21 [concrete] // CHECK:STDOUT: %Op.cf9: %Op.type.9e0 = struct_value () [concrete] // CHECK:STDOUT: %Dec.facet: %Dec.type = facet_value %C, (%Dec.impl_witness) [concrete] // CHECK:STDOUT: %.859: type = fn_type_with_self_type %Op.type.633, %Dec.facet [concrete] diff --git a/toolchain/check/testdata/operators/overloaded/div.carbon b/toolchain/check/testdata/operators/overloaded/div.carbon index 41453d4ebb09..08c211b87876 100644 --- a/toolchain/check/testdata/operators/overloaded/div.carbon +++ b/toolchain/check/testdata/operators/overloaded/div.carbon @@ -46,14 +46,14 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: %DivWith.type.ead: type = facet_type <@DivWith, @DivWith(%C)> [concrete] // CHECK:STDOUT: %Op.type.c4b: type = fn_type @Op.1, @DivWith(%C) [concrete] // CHECK:STDOUT: %DivWith.impl_witness: = impl_witness file.%DivWith.impl_witness_table [concrete] -// CHECK:STDOUT: %Op.type.a37: type = fn_type @Op.6 [concrete] +// CHECK:STDOUT: %Op.type.a37: type = fn_type @Op.loc21 [concrete] // CHECK:STDOUT: %Op.5b4: %Op.type.a37 = struct_value () [concrete] // CHECK:STDOUT: %DivWith.facet.f3b: %DivWith.type.ead = facet_value %C, (%DivWith.impl_witness) [concrete] // CHECK:STDOUT: %DivAssignWith.type.08b: type = facet_type <@DivAssignWith, @DivAssignWith(%C)> [concrete] -// CHECK:STDOUT: %Op.type.629: type = fn_type @Op.7, @DivAssignWith(%C) [concrete] +// CHECK:STDOUT: %Op.type.629: type = fn_type @Op.6, @DivAssignWith(%C) [concrete] // CHECK:STDOUT: %DivAssignWith.impl_witness: = impl_witness file.%DivAssignWith.impl_witness_table [concrete] // CHECK:STDOUT: %ptr.019: type = ptr_type %C [concrete] -// CHECK:STDOUT: %Op.type.1b1: type = fn_type @Op.8 [concrete] +// CHECK:STDOUT: %Op.type.1b1: type = fn_type @Op.loc26 [concrete] // CHECK:STDOUT: %Op.27f: %Op.type.1b1 = struct_value () [concrete] // CHECK:STDOUT: %DivAssignWith.facet: %DivAssignWith.type.08b = facet_value %C, (%DivAssignWith.impl_witness) [concrete] // CHECK:STDOUT: %.bb6: type = fn_type_with_self_type %Op.type.c4b, %DivWith.facet.f3b [concrete] diff --git a/toolchain/check/testdata/operators/overloaded/eq.carbon b/toolchain/check/testdata/operators/overloaded/eq.carbon index b31fd3eebe4c..08af5dec3f43 100644 --- a/toolchain/check/testdata/operators/overloaded/eq.carbon +++ b/toolchain/check/testdata/operators/overloaded/eq.carbon @@ -96,9 +96,9 @@ fn TestLhsBad(a: D, b: C) -> bool { // CHECK:STDOUT: %pattern_type.c48: type = pattern_type %C [concrete] // CHECK:STDOUT: %Bool.type: type = fn_type @Bool [concrete] // CHECK:STDOUT: %Bool: %Bool.type = struct_value () [concrete] -// CHECK:STDOUT: %Equal.type.86d: type = fn_type @Equal.2 [concrete] +// CHECK:STDOUT: %Equal.type.86d: type = fn_type @Equal.loc7 [concrete] // CHECK:STDOUT: %Equal.fdb: %Equal.type.86d = struct_value () [concrete] -// CHECK:STDOUT: %NotEqual.type.0f4: type = fn_type @NotEqual.2 [concrete] +// CHECK:STDOUT: %NotEqual.type.0f4: type = fn_type @NotEqual.loc8 [concrete] // CHECK:STDOUT: %NotEqual.133: %NotEqual.type.0f4 = struct_value () [concrete] // CHECK:STDOUT: %EqWith.facet: %EqWith.type.04e = facet_value %C, (%EqWith.impl_witness) [concrete] // CHECK:STDOUT: %TestEqual.type: type = fn_type @TestEqual [concrete] @@ -181,7 +181,7 @@ fn TestLhsBad(a: D, b: C) -> bool { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @EqWith.impl.cac: %C.ref.loc6_6 as %EqWith.type { -// CHECK:STDOUT: %Equal.decl: %Equal.type.86d = fn_decl @Equal.2 [concrete = constants.%Equal.fdb] { +// CHECK:STDOUT: %Equal.decl: %Equal.type.86d = fn_decl @Equal.loc7 [concrete = constants.%Equal.fdb] { // CHECK:STDOUT: %self.patt: %pattern_type.c48 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.c48 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %other.patt: %pattern_type.c48 = binding_pattern other [concrete] @@ -201,7 +201,7 @@ fn TestLhsBad(a: D, b: C) -> bool { // CHECK:STDOUT: %return.param: ref bool = out_param call_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %NotEqual.decl: %NotEqual.type.0f4 = fn_decl @NotEqual.2 [concrete = constants.%NotEqual.133] { +// CHECK:STDOUT: %NotEqual.decl: %NotEqual.type.0f4 = fn_decl @NotEqual.loc8 [concrete = constants.%NotEqual.133] { // CHECK:STDOUT: %self.patt: %pattern_type.c48 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.c48 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %other.patt: %pattern_type.c48 = binding_pattern other [concrete] @@ -238,9 +238,9 @@ fn TestLhsBad(a: D, b: C) -> bool { // CHECK:STDOUT: .Self = constants.%C // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Equal.2(%self.param: %C, %other.param: %C) -> bool; +// CHECK:STDOUT: fn @Equal.loc7(%self.param: %C, %other.param: %C) -> bool; // CHECK:STDOUT: -// CHECK:STDOUT: fn @NotEqual.2(%self.param: %C, %other.param: %C) -> bool; +// CHECK:STDOUT: fn @NotEqual.loc8(%self.param: %C, %other.param: %C) -> bool; // CHECK:STDOUT: // CHECK:STDOUT: fn @TestEqual(%a.param: %C, %b.param: %C) -> bool { // CHECK:STDOUT: !entry: @@ -384,9 +384,9 @@ fn TestLhsBad(a: D, b: C) -> bool { // CHECK:STDOUT: %pattern_type.c48: type = pattern_type %C [concrete] // CHECK:STDOUT: %Bool.type: type = fn_type @Bool [concrete] // CHECK:STDOUT: %Bool: %Bool.type = struct_value () [concrete] -// CHECK:STDOUT: %Equal.type.86d: type = fn_type @Equal.2 [concrete] +// CHECK:STDOUT: %Equal.type.86d: type = fn_type @Equal.loc8 [concrete] // CHECK:STDOUT: %Equal.fdb: %Equal.type.86d = struct_value () [concrete] -// CHECK:STDOUT: %NotEqual.type.0f4: type = fn_type @NotEqual.2 [concrete] +// CHECK:STDOUT: %NotEqual.type.0f4: type = fn_type @NotEqual.loc9 [concrete] // CHECK:STDOUT: %NotEqual.133: %NotEqual.type.0f4 = struct_value () [concrete] // CHECK:STDOUT: %pattern_type.510: type = pattern_type %D [concrete] // CHECK:STDOUT: %TestRhsBad.type: type = fn_type @TestRhsBad [concrete] @@ -469,7 +469,7 @@ fn TestLhsBad(a: D, b: C) -> bool { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @EqWith.impl.cac: %C.ref.loc7_6 as %EqWith.type { -// CHECK:STDOUT: %Equal.decl: %Equal.type.86d = fn_decl @Equal.2 [concrete = constants.%Equal.fdb] { +// CHECK:STDOUT: %Equal.decl: %Equal.type.86d = fn_decl @Equal.loc8 [concrete = constants.%Equal.fdb] { // CHECK:STDOUT: %self.patt: %pattern_type.c48 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.c48 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %other.patt: %pattern_type.c48 = binding_pattern other [concrete] @@ -489,7 +489,7 @@ fn TestLhsBad(a: D, b: C) -> bool { // CHECK:STDOUT: %return.param: ref bool = out_param call_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %NotEqual.decl: %NotEqual.type.0f4 = fn_decl @NotEqual.2 [concrete = constants.%NotEqual.133] { +// CHECK:STDOUT: %NotEqual.decl: %NotEqual.type.0f4 = fn_decl @NotEqual.loc9 [concrete = constants.%NotEqual.133] { // CHECK:STDOUT: %self.patt: %pattern_type.c48 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.c48 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %other.patt: %pattern_type.c48 = binding_pattern other [concrete] @@ -535,9 +535,9 @@ fn TestLhsBad(a: D, b: C) -> bool { // CHECK:STDOUT: .Self = constants.%D // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Equal.2(%self.param: %C, %other.param: %C) -> bool; +// CHECK:STDOUT: fn @Equal.loc8(%self.param: %C, %other.param: %C) -> bool; // CHECK:STDOUT: -// CHECK:STDOUT: fn @NotEqual.2(%self.param: %C, %other.param: %C) -> bool; +// CHECK:STDOUT: fn @NotEqual.loc9(%self.param: %C, %other.param: %C) -> bool; // CHECK:STDOUT: // CHECK:STDOUT: fn @TestRhsBad(%a.param: %C, %b.param: %D) -> bool { // CHECK:STDOUT: !entry: diff --git a/toolchain/check/testdata/operators/overloaded/fail_assign_non_ref.carbon b/toolchain/check/testdata/operators/overloaded/fail_assign_non_ref.carbon index 2fe28b498d01..209c7bbccf8d 100644 --- a/toolchain/check/testdata/operators/overloaded/fail_assign_non_ref.carbon +++ b/toolchain/check/testdata/operators/overloaded/fail_assign_non_ref.carbon @@ -57,25 +57,25 @@ fn TestAddAssignNonRef(a: C, b: C) { // CHECK:STDOUT: %Inc.impl_witness: = impl_witness file.%Inc.impl_witness_table [concrete] // CHECK:STDOUT: %ptr.019: type = ptr_type %C [concrete] // CHECK:STDOUT: %pattern_type.44a: type = pattern_type %ptr.019 [concrete] -// CHECK:STDOUT: %Op.type.73a: type = fn_type @Op.2 [concrete] +// CHECK:STDOUT: %Op.type.73a: type = fn_type @Op.loc19 [concrete] // CHECK:STDOUT: %Op.0c9: %Op.type.73a = struct_value () [concrete] // CHECK:STDOUT: %Inc.facet: %Inc.type = facet_value %C, (%Inc.impl_witness) [concrete] // CHECK:STDOUT: %AddAssignWith.type.fc6: type = generic_interface_type @AddAssignWith [concrete] // CHECK:STDOUT: %AddAssignWith.generic: %AddAssignWith.type.fc6 = struct_value () [concrete] // CHECK:STDOUT: %AddAssignWith.type.393: type = facet_type <@AddAssignWith, @AddAssignWith(%C)> [concrete] -// CHECK:STDOUT: %Op.type.5af: type = fn_type @Op.3, @AddAssignWith(%C) [concrete] +// CHECK:STDOUT: %Op.type.5af: type = fn_type @Op.2, @AddAssignWith(%C) [concrete] // CHECK:STDOUT: %AddAssignWith.impl_witness: = impl_witness file.%AddAssignWith.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.c48: type = pattern_type %C [concrete] -// CHECK:STDOUT: %Op.type.0d7: type = fn_type @Op.4 [concrete] +// CHECK:STDOUT: %Op.type.0d7: type = fn_type @Op.loc22 [concrete] // CHECK:STDOUT: %Op.572: %Op.type.0d7 = struct_value () [concrete] // CHECK:STDOUT: %AddAssignWith.facet: %AddAssignWith.type.393 = facet_value %C, (%AddAssignWith.impl_witness) [concrete] // CHECK:STDOUT: %TestIncNonRef.type: type = fn_type @TestIncNonRef [concrete] // CHECK:STDOUT: %TestIncNonRef: %TestIncNonRef.type = struct_value () [concrete] // CHECK:STDOUT: %.bc7: type = fn_type_with_self_type %Op.type.e3a, %Inc.facet [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.153: type = fn_type @Op.11, @Destroy.impl(%C) [concrete] +// CHECK:STDOUT: %Op.type.153: type = fn_type @Op.9, @Destroy.impl(%C) [concrete] // CHECK:STDOUT: %Op.5d7: %Op.type.153 = struct_value () [concrete] -// CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.5d7, @Op.11(%C) [concrete] +// CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.5d7, @Op.9(%C) [concrete] // CHECK:STDOUT: %TestAddAssignNonRef.type: type = fn_type @TestAddAssignNonRef [concrete] // CHECK:STDOUT: %TestAddAssignNonRef: %TestAddAssignNonRef.type = struct_value () [concrete] // CHECK:STDOUT: %.e2d: type = fn_type_with_self_type %Op.type.5af, %AddAssignWith.facet [concrete] @@ -143,7 +143,7 @@ fn TestAddAssignNonRef(a: C, b: C) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @Inc.impl: %C.ref as %Inc.ref { -// CHECK:STDOUT: %Op.decl: %Op.type.73a = fn_decl @Op.2 [concrete = constants.%Op.0c9] { +// CHECK:STDOUT: %Op.decl: %Op.type.73a = fn_decl @Op.loc19 [concrete = constants.%Op.0c9] { // CHECK:STDOUT: %self.patt: %pattern_type.44a = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.44a = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %.loc19_9: %pattern_type.f6d = addr_pattern %self.param_patt [concrete] @@ -163,7 +163,7 @@ fn TestAddAssignNonRef(a: C, b: C) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @AddAssignWith.impl: %C.ref.loc21_6 as %AddAssignWith.type { -// CHECK:STDOUT: %Op.decl: %Op.type.0d7 = fn_decl @Op.4 [concrete = constants.%Op.572] { +// CHECK:STDOUT: %Op.decl: %Op.type.0d7 = fn_decl @Op.loc22 [concrete = constants.%Op.572] { // CHECK:STDOUT: %self.patt: %pattern_type.44a = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.44a = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %.loc22_9: %pattern_type.f6d = addr_pattern %self.param_patt [concrete] @@ -196,9 +196,9 @@ fn TestAddAssignNonRef(a: C, b: C) { // CHECK:STDOUT: .Self = constants.%C // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Op.2(%self.param: %ptr.019); +// CHECK:STDOUT: fn @Op.loc19(%self.param: %ptr.019); // CHECK:STDOUT: -// CHECK:STDOUT: fn @Op.4(%self.param: %ptr.019, %other.param: %C); +// CHECK:STDOUT: fn @Op.loc22(%self.param: %ptr.019, %other.param: %C); // CHECK:STDOUT: // CHECK:STDOUT: fn @TestIncNonRef(%a.param: %C) { // CHECK:STDOUT: !entry: @@ -209,7 +209,7 @@ fn TestAddAssignNonRef(a: C, b: C) { // CHECK:STDOUT: %addr.loc33_5.1: %ptr.019 = addr_of %.loc33 // CHECK:STDOUT: %Op.call: init %empty_tuple.type = call %bound_method.loc33_3(%addr.loc33_5.1) // CHECK:STDOUT: %Op.bound: = bound_method %.loc33, constants.%Op.5d7 -// CHECK:STDOUT: %Op.specific_fn: = specific_function constants.%Op.5d7, @Op.11(constants.%C) [concrete = constants.%Op.specific_fn] +// CHECK:STDOUT: %Op.specific_fn: = specific_function constants.%Op.5d7, @Op.9(constants.%C) [concrete = constants.%Op.specific_fn] // CHECK:STDOUT: %bound_method.loc33_5: = bound_method %.loc33, %Op.specific_fn // CHECK:STDOUT: %addr.loc33_5.2: %ptr.019 = addr_of %.loc33 // CHECK:STDOUT: %no_op: init %empty_tuple.type = call %bound_method.loc33_5(%addr.loc33_5.2) @@ -226,7 +226,7 @@ fn TestAddAssignNonRef(a: C, b: C) { // CHECK:STDOUT: %addr.loc44_3.1: %ptr.019 = addr_of %.loc44 // CHECK:STDOUT: %Op.call: init %empty_tuple.type = call %bound_method.loc44_5(%addr.loc44_3.1, %b.ref) // CHECK:STDOUT: %Op.bound: = bound_method %.loc44, constants.%Op.5d7 -// CHECK:STDOUT: %Op.specific_fn: = specific_function constants.%Op.5d7, @Op.11(constants.%C) [concrete = constants.%Op.specific_fn] +// CHECK:STDOUT: %Op.specific_fn: = specific_function constants.%Op.5d7, @Op.9(constants.%C) [concrete = constants.%Op.specific_fn] // CHECK:STDOUT: %bound_method.loc44_3: = bound_method %.loc44, %Op.specific_fn // CHECK:STDOUT: %addr.loc44_3.2: %ptr.019 = addr_of %.loc44 // CHECK:STDOUT: %no_op: init %empty_tuple.type = call %bound_method.loc44_3(%addr.loc44_3.2) diff --git a/toolchain/check/testdata/operators/overloaded/implicit_as.carbon b/toolchain/check/testdata/operators/overloaded/implicit_as.carbon index e6b276c619e1..5be7e8359be3 100644 --- a/toolchain/check/testdata/operators/overloaded/implicit_as.carbon +++ b/toolchain/check/testdata/operators/overloaded/implicit_as.carbon @@ -57,13 +57,13 @@ fn Test() { // CHECK:STDOUT: %ImplicitAs.impl_witness.aa3: = impl_witness file.%ImplicitAs.impl_witness_table.loc19 [concrete] // CHECK:STDOUT: %pattern_type.7ce: type = pattern_type %i32 [concrete] // CHECK:STDOUT: %pattern_type.019: type = pattern_type %X [concrete] -// CHECK:STDOUT: %Convert.type.853: type = fn_type @Convert.2 [concrete] +// CHECK:STDOUT: %Convert.type.853: type = fn_type @Convert.loc20 [concrete] // CHECK:STDOUT: %Convert.08a: %Convert.type.853 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.d80: %ImplicitAs.type.ac8 = facet_value %i32, (%ImplicitAs.impl_witness.aa3) [concrete] // CHECK:STDOUT: %ImplicitAs.type.205: type = facet_type <@ImplicitAs, @ImplicitAs(%i32)> [concrete] // CHECK:STDOUT: %Convert.type.1b6: type = fn_type @Convert.1, @ImplicitAs(%i32) [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness.b30: = impl_witness file.%ImplicitAs.impl_witness_table.loc23 [concrete] -// CHECK:STDOUT: %Convert.type.8a1: type = fn_type @Convert.3 [concrete] +// CHECK:STDOUT: %Convert.type.8a1: type = fn_type @Convert.loc24 [concrete] // CHECK:STDOUT: %Convert.c7a: %Convert.type.8a1 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.bf9: %ImplicitAs.type.205 = facet_value %X, (%ImplicitAs.impl_witness.b30) [concrete] // CHECK:STDOUT: %Sink_i32.type: type = fn_type @Sink_i32 [concrete] @@ -166,7 +166,7 @@ fn Test() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @ImplicitAs.impl.8f9: %i32 as %ImplicitAs.type { -// CHECK:STDOUT: %Convert.decl: %Convert.type.853 = fn_decl @Convert.2 [concrete = constants.%Convert.08a] { +// CHECK:STDOUT: %Convert.decl: %Convert.type.853 = fn_decl @Convert.loc20 [concrete = constants.%Convert.08a] { // CHECK:STDOUT: %self.patt: %pattern_type.7ce = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.7ce = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %return.patt: %pattern_type.019 = return_slot_pattern [concrete] @@ -190,7 +190,7 @@ fn Test() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @ImplicitAs.impl.c94: %X.ref as %ImplicitAs.type { -// CHECK:STDOUT: %Convert.decl: %Convert.type.8a1 = fn_decl @Convert.3 [concrete = constants.%Convert.c7a] { +// CHECK:STDOUT: %Convert.decl: %Convert.type.8a1 = fn_decl @Convert.loc24 [concrete = constants.%Convert.c7a] { // CHECK:STDOUT: %self.patt: %pattern_type.019 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.019 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] @@ -224,7 +224,7 @@ fn Test() { // CHECK:STDOUT: .n = %.loc16 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Convert.2(%self.param: %i32) -> %return.param: %X { +// CHECK:STDOUT: fn @Convert.loc20(%self.param: %i32) -> %return.param: %X { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %self.ref: %i32 = name_ref self, %self // CHECK:STDOUT: %.loc20_51.1: %struct_type.n = struct_literal (%self.ref) @@ -235,7 +235,7 @@ fn Test() { // CHECK:STDOUT: return %.loc20_52 to %return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Convert.3(%self.param: %X) -> %i32 { +// CHECK:STDOUT: fn @Convert.loc24(%self.param: %X) -> %i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %self.ref: %X = name_ref self, %self // CHECK:STDOUT: %n.ref: %X.elem = name_ref n, @X.%.loc16 [concrete = @X.%.loc16] diff --git a/toolchain/check/testdata/operators/overloaded/inc.carbon b/toolchain/check/testdata/operators/overloaded/inc.carbon index b13c490d9d67..e308bda596c6 100644 --- a/toolchain/check/testdata/operators/overloaded/inc.carbon +++ b/toolchain/check/testdata/operators/overloaded/inc.carbon @@ -37,7 +37,7 @@ fn TestOp() { // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Inc.impl_witness: = impl_witness file.%Inc.impl_witness_table [concrete] // CHECK:STDOUT: %ptr.019: type = ptr_type %C [concrete] -// CHECK:STDOUT: %Op.type.73a: type = fn_type @Op.2 [concrete] +// CHECK:STDOUT: %Op.type.73a: type = fn_type @Op.loc21 [concrete] // CHECK:STDOUT: %Op.0c9: %Op.type.73a = struct_value () [concrete] // CHECK:STDOUT: %Inc.facet: %Inc.type = facet_value %C, (%Inc.impl_witness) [concrete] // CHECK:STDOUT: %.bc7: type = fn_type_with_self_type %Op.type.e3a, %Inc.facet [concrete] diff --git a/toolchain/check/testdata/operators/overloaded/index.carbon b/toolchain/check/testdata/operators/overloaded/index.carbon index a24d0d356b6c..08d396d8fc7a 100644 --- a/toolchain/check/testdata/operators/overloaded/index.carbon +++ b/toolchain/check/testdata/operators/overloaded/index.carbon @@ -284,7 +284,7 @@ fn F() { ()[()]; } // CHECK:STDOUT: %IndexWith.assoc_type.3d4: type = assoc_entity_type @IndexWith, @IndexWith(%empty_tuple.type) [concrete] // CHECK:STDOUT: %assoc0.21b: %IndexWith.assoc_type.3d4 = assoc_entity element0, imports.%Core.import_ref.e99 [concrete] // CHECK:STDOUT: %IndexWith.impl_witness: = impl_witness file.%IndexWith.impl_witness_table [concrete] -// CHECK:STDOUT: %At.type.486: type = fn_type @At.2 [concrete] +// CHECK:STDOUT: %At.type.486: type = fn_type @At.loc7 [concrete] // CHECK:STDOUT: %At.7c4: %At.type.486 = struct_value () [concrete] // CHECK:STDOUT: %IndexWith.facet: %IndexWith.type.a51 = facet_value %empty_tuple.type, (%IndexWith.impl_witness) [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] @@ -351,7 +351,7 @@ fn F() { ()[()]; } // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @IndexWith.impl: %.loc6_7.2 as %IndexWith.type { -// CHECK:STDOUT: %At.decl: %At.type.486 = fn_decl @At.2 [concrete = constants.%At.7c4] { +// CHECK:STDOUT: %At.decl: %At.type.486 = fn_decl @At.loc7 [concrete = constants.%At.7c4] { // CHECK:STDOUT: %self.patt: %pattern_type.cb1 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.cb1 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %subscript.patt: %pattern_type.cb1 = binding_pattern subscript [concrete] @@ -390,7 +390,7 @@ fn F() { ()[()]; } // CHECK:STDOUT: fn; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @At.2(%self.param: %empty_tuple.type, %subscript.param: %empty_tuple.type) -> %empty_tuple.type { +// CHECK:STDOUT: fn @At.loc7(%self.param: %empty_tuple.type, %subscript.param: %empty_tuple.type) -> %empty_tuple.type { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc8_13: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete = constants.%empty_tuple] diff --git a/toolchain/check/testdata/operators/overloaded/index_with_prelude.carbon b/toolchain/check/testdata/operators/overloaded/index_with_prelude.carbon index 747c91bda926..433cce7a5b5e 100644 --- a/toolchain/check/testdata/operators/overloaded/index_with_prelude.carbon +++ b/toolchain/check/testdata/operators/overloaded/index_with_prelude.carbon @@ -96,7 +96,7 @@ let x: i32 = c[0]; // CHECK:STDOUT: %pattern_type.c48: type = pattern_type %C [concrete] // CHECK:STDOUT: %pattern_type.df7: type = pattern_type %SubscriptType.8ee [concrete] // CHECK:STDOUT: %pattern_type.c39: type = pattern_type %ElementType.e6b [concrete] -// CHECK:STDOUT: %At.type.178: type = fn_type @At.2 [concrete] +// CHECK:STDOUT: %At.type.178: type = fn_type @At.loc9 [concrete] // CHECK:STDOUT: %At.d43: %At.type.178 = struct_value () [concrete] // CHECK:STDOUT: %IndexWith.facet: %IndexWith.type.e80 = facet_value %C, (%IndexWith.impl_witness) [concrete] // CHECK:STDOUT: %ElementType.val: %ElementType.e6b = struct_value () [concrete] @@ -168,7 +168,7 @@ let x: i32 = c[0]; // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @IndexWith.impl: %C.ref as %IndexWith.type { -// CHECK:STDOUT: %At.decl: %At.type.178 = fn_decl @At.2 [concrete = constants.%At.d43] { +// CHECK:STDOUT: %At.decl: %At.type.178 = fn_decl @At.loc9 [concrete = constants.%At.d43] { // CHECK:STDOUT: %self.patt: %pattern_type.c48 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.c48 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %subscript.patt: %pattern_type.df7 = binding_pattern subscript [concrete] @@ -221,7 +221,7 @@ let x: i32 = c[0]; // CHECK:STDOUT: .Self = constants.%SubscriptType.8ee // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @At.2(%self.param: %C, %subscript.param: %SubscriptType.8ee) -> %return.param: %ElementType.e6b { +// CHECK:STDOUT: fn @At.loc9(%self.param: %C, %subscript.param: %SubscriptType.8ee) -> %return.param: %ElementType.e6b { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc10_13.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc10_13.2: init %ElementType.e6b = class_init (), %return [concrete = constants.%ElementType.val] @@ -258,7 +258,7 @@ let x: i32 = c[0]; // CHECK:STDOUT: %IndexWith.impl_witness: = impl_witness file.%IndexWith.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.511: type = pattern_type %tuple.type.d07 [concrete] // CHECK:STDOUT: %pattern_type.7ce: type = pattern_type %i32 [concrete] -// CHECK:STDOUT: %At.type.9ac: type = fn_type @At.2 [concrete] +// CHECK:STDOUT: %At.type.9ac: type = fn_type @At.loc5 [concrete] // CHECK:STDOUT: %At.642: %At.type.9ac = struct_value () [concrete] // CHECK:STDOUT: %IndexWith.facet: %IndexWith.type.917 = facet_value %tuple.type.d07, (%IndexWith.impl_witness) [concrete] // CHECK:STDOUT: %int_0.5c6: Core.IntLiteral = int_value 0 [concrete] @@ -371,7 +371,7 @@ let x: i32 = c[0]; // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @IndexWith.impl: %.loc4_15.2 as %IndexWith.type { -// CHECK:STDOUT: %At.decl: %At.type.9ac = fn_decl @At.2 [concrete = constants.%At.642] { +// CHECK:STDOUT: %At.decl: %At.type.9ac = fn_decl @At.loc5 [concrete = constants.%At.642] { // CHECK:STDOUT: %self.patt: %pattern_type.511 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.511 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %subscript.patt: %pattern_type.7ce = binding_pattern subscript [concrete] @@ -399,7 +399,7 @@ let x: i32 = c[0]; // CHECK:STDOUT: witness = file.%IndexWith.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @At.2(%self.param: %tuple.type.d07, %subscript.param: %i32) -> %i32 { +// CHECK:STDOUT: fn @At.loc5(%self.param: %tuple.type.d07, %subscript.param: %i32) -> %i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %self.ref: %tuple.type.d07 = name_ref self, %self // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] @@ -443,7 +443,7 @@ let x: i32 = c[0]; // CHECK:STDOUT: %pattern_type.c48: type = pattern_type %C [concrete] // CHECK:STDOUT: %pattern_type.df7: type = pattern_type %SubscriptType.8ee [concrete] // CHECK:STDOUT: %pattern_type.c39: type = pattern_type %ElementType.e6b [concrete] -// CHECK:STDOUT: %At.type.178: type = fn_type @At.2 [concrete] +// CHECK:STDOUT: %At.type.178: type = fn_type @At.loc9 [concrete] // CHECK:STDOUT: %At.d43: %At.type.178 = struct_value () [concrete] // CHECK:STDOUT: %IndexWith.facet: %IndexWith.type.e80 = facet_value %C, (%IndexWith.impl_witness) [concrete] // CHECK:STDOUT: %ElementType.val: %ElementType.e6b = struct_value () [concrete] @@ -508,7 +508,7 @@ let x: i32 = c[0]; // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @IndexWith.impl: %C.ref as %IndexWith.type { -// CHECK:STDOUT: %At.decl: %At.type.178 = fn_decl @At.2 [concrete = constants.%At.d43] { +// CHECK:STDOUT: %At.decl: %At.type.178 = fn_decl @At.loc9 [concrete = constants.%At.d43] { // CHECK:STDOUT: %self.patt: %pattern_type.c48 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.c48 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %subscript.patt: %pattern_type.df7 = binding_pattern subscript [concrete] @@ -561,7 +561,7 @@ let x: i32 = c[0]; // CHECK:STDOUT: .Self = constants.%SubscriptType.8ee // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @At.2(%self.param: %C, %subscript.param: %SubscriptType.8ee) -> %return.param: %ElementType.e6b { +// CHECK:STDOUT: fn @At.loc9(%self.param: %C, %subscript.param: %SubscriptType.8ee) -> %return.param: %ElementType.e6b { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc10_13.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc10_13.2: init %ElementType.e6b = class_init (), %return [concrete = constants.%ElementType.val] diff --git a/toolchain/check/testdata/operators/overloaded/left_shift.carbon b/toolchain/check/testdata/operators/overloaded/left_shift.carbon index 99c8bd22a14f..6c6264d7ad2d 100644 --- a/toolchain/check/testdata/operators/overloaded/left_shift.carbon +++ b/toolchain/check/testdata/operators/overloaded/left_shift.carbon @@ -46,14 +46,14 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: %LeftShiftWith.type.f92: type = facet_type <@LeftShiftWith, @LeftShiftWith(%C)> [concrete] // CHECK:STDOUT: %Op.type.097: type = fn_type @Op.1, @LeftShiftWith(%C) [concrete] // CHECK:STDOUT: %LeftShiftWith.impl_witness: = impl_witness file.%LeftShiftWith.impl_witness_table [concrete] -// CHECK:STDOUT: %Op.type.be6: type = fn_type @Op.6 [concrete] +// CHECK:STDOUT: %Op.type.be6: type = fn_type @Op.loc21 [concrete] // CHECK:STDOUT: %Op.4d9: %Op.type.be6 = struct_value () [concrete] // CHECK:STDOUT: %LeftShiftWith.facet.662: %LeftShiftWith.type.f92 = facet_value %C, (%LeftShiftWith.impl_witness) [concrete] // CHECK:STDOUT: %LeftShiftAssignWith.type.56d: type = facet_type <@LeftShiftAssignWith, @LeftShiftAssignWith(%C)> [concrete] -// CHECK:STDOUT: %Op.type.30f: type = fn_type @Op.7, @LeftShiftAssignWith(%C) [concrete] +// CHECK:STDOUT: %Op.type.30f: type = fn_type @Op.6, @LeftShiftAssignWith(%C) [concrete] // CHECK:STDOUT: %LeftShiftAssignWith.impl_witness: = impl_witness file.%LeftShiftAssignWith.impl_witness_table [concrete] // CHECK:STDOUT: %ptr.019: type = ptr_type %C [concrete] -// CHECK:STDOUT: %Op.type.b1b6: type = fn_type @Op.8 [concrete] +// CHECK:STDOUT: %Op.type.b1b6: type = fn_type @Op.loc26 [concrete] // CHECK:STDOUT: %Op.07c: %Op.type.b1b6 = struct_value () [concrete] // CHECK:STDOUT: %LeftShiftAssignWith.facet: %LeftShiftAssignWith.type.56d = facet_value %C, (%LeftShiftAssignWith.impl_witness) [concrete] // CHECK:STDOUT: %.cd9: type = fn_type_with_self_type %Op.type.097, %LeftShiftWith.facet.662 [concrete] diff --git a/toolchain/check/testdata/operators/overloaded/mod.carbon b/toolchain/check/testdata/operators/overloaded/mod.carbon index 98a50f9aba1a..cbcd1aec2c03 100644 --- a/toolchain/check/testdata/operators/overloaded/mod.carbon +++ b/toolchain/check/testdata/operators/overloaded/mod.carbon @@ -46,14 +46,14 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: %ModWith.type.4d0: type = facet_type <@ModWith, @ModWith(%C)> [concrete] // CHECK:STDOUT: %Op.type.140: type = fn_type @Op.1, @ModWith(%C) [concrete] // CHECK:STDOUT: %ModWith.impl_witness: = impl_witness file.%ModWith.impl_witness_table [concrete] -// CHECK:STDOUT: %Op.type.0ad: type = fn_type @Op.6 [concrete] +// CHECK:STDOUT: %Op.type.0ad: type = fn_type @Op.loc21 [concrete] // CHECK:STDOUT: %Op.d57: %Op.type.0ad = struct_value () [concrete] // CHECK:STDOUT: %ModWith.facet.517: %ModWith.type.4d0 = facet_value %C, (%ModWith.impl_witness) [concrete] // CHECK:STDOUT: %ModAssignWith.type.8eb: type = facet_type <@ModAssignWith, @ModAssignWith(%C)> [concrete] -// CHECK:STDOUT: %Op.type.dd0: type = fn_type @Op.7, @ModAssignWith(%C) [concrete] +// CHECK:STDOUT: %Op.type.dd0: type = fn_type @Op.6, @ModAssignWith(%C) [concrete] // CHECK:STDOUT: %ModAssignWith.impl_witness: = impl_witness file.%ModAssignWith.impl_witness_table [concrete] // CHECK:STDOUT: %ptr.019: type = ptr_type %C [concrete] -// CHECK:STDOUT: %Op.type.4dd: type = fn_type @Op.8 [concrete] +// CHECK:STDOUT: %Op.type.4dd: type = fn_type @Op.loc26 [concrete] // CHECK:STDOUT: %Op.4f0: %Op.type.4dd = struct_value () [concrete] // CHECK:STDOUT: %ModAssignWith.facet: %ModAssignWith.type.8eb = facet_value %C, (%ModAssignWith.impl_witness) [concrete] // CHECK:STDOUT: %.f08: type = fn_type_with_self_type %Op.type.140, %ModWith.facet.517 [concrete] diff --git a/toolchain/check/testdata/operators/overloaded/mul.carbon b/toolchain/check/testdata/operators/overloaded/mul.carbon index bf2290487554..3d756c206fa2 100644 --- a/toolchain/check/testdata/operators/overloaded/mul.carbon +++ b/toolchain/check/testdata/operators/overloaded/mul.carbon @@ -46,14 +46,14 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: %MulWith.type.3ed: type = facet_type <@MulWith, @MulWith(%C)> [concrete] // CHECK:STDOUT: %Op.type.2c9: type = fn_type @Op.1, @MulWith(%C) [concrete] // CHECK:STDOUT: %MulWith.impl_witness: = impl_witness file.%MulWith.impl_witness_table [concrete] -// CHECK:STDOUT: %Op.type.304: type = fn_type @Op.6 [concrete] +// CHECK:STDOUT: %Op.type.304: type = fn_type @Op.loc21 [concrete] // CHECK:STDOUT: %Op.7af: %Op.type.304 = struct_value () [concrete] // CHECK:STDOUT: %MulWith.facet.6c2: %MulWith.type.3ed = facet_value %C, (%MulWith.impl_witness) [concrete] // CHECK:STDOUT: %MulAssignWith.type.a15: type = facet_type <@MulAssignWith, @MulAssignWith(%C)> [concrete] -// CHECK:STDOUT: %Op.type.5c8: type = fn_type @Op.7, @MulAssignWith(%C) [concrete] +// CHECK:STDOUT: %Op.type.5c8: type = fn_type @Op.6, @MulAssignWith(%C) [concrete] // CHECK:STDOUT: %MulAssignWith.impl_witness: = impl_witness file.%MulAssignWith.impl_witness_table [concrete] // CHECK:STDOUT: %ptr.019: type = ptr_type %C [concrete] -// CHECK:STDOUT: %Op.type.e9a: type = fn_type @Op.8 [concrete] +// CHECK:STDOUT: %Op.type.e9a: type = fn_type @Op.loc26 [concrete] // CHECK:STDOUT: %Op.d43: %Op.type.e9a = struct_value () [concrete] // CHECK:STDOUT: %MulAssignWith.facet: %MulAssignWith.type.a15 = facet_value %C, (%MulAssignWith.impl_witness) [concrete] // CHECK:STDOUT: %.6ce: type = fn_type_with_self_type %Op.type.2c9, %MulWith.facet.6c2 [concrete] diff --git a/toolchain/check/testdata/operators/overloaded/negate.carbon b/toolchain/check/testdata/operators/overloaded/negate.carbon index 4a5a0f11778b..4669d3d6da74 100644 --- a/toolchain/check/testdata/operators/overloaded/negate.carbon +++ b/toolchain/check/testdata/operators/overloaded/negate.carbon @@ -37,7 +37,7 @@ fn TestOp(a: C) -> C { // CHECK:STDOUT: %Negate.type: type = facet_type <@Negate> [concrete] // CHECK:STDOUT: %Op.type.e42: type = fn_type @Op.1 [concrete] // CHECK:STDOUT: %Negate.impl_witness: = impl_witness file.%Negate.impl_witness_table [concrete] -// CHECK:STDOUT: %Op.type.def: type = fn_type @Op.2 [concrete] +// CHECK:STDOUT: %Op.type.def: type = fn_type @Op.loc22 [concrete] // CHECK:STDOUT: %Op.045: %Op.type.def = struct_value () [concrete] // CHECK:STDOUT: %Negate.facet.b50: %Negate.type = facet_value %C, (%Negate.impl_witness) [concrete] // CHECK:STDOUT: %.26d: type = fn_type_with_self_type %Op.type.e42, %Negate.facet.b50 [concrete] diff --git a/toolchain/check/testdata/operators/overloaded/ordered.carbon b/toolchain/check/testdata/operators/overloaded/ordered.carbon index c3058a983414..941e5a5b16af 100644 --- a/toolchain/check/testdata/operators/overloaded/ordered.carbon +++ b/toolchain/check/testdata/operators/overloaded/ordered.carbon @@ -96,13 +96,13 @@ fn TestGreaterEqual(a: D, b: D) -> bool { // CHECK:STDOUT: %pattern_type.c48: type = pattern_type %C [concrete] // CHECK:STDOUT: %Bool.type: type = fn_type @Bool [concrete] // CHECK:STDOUT: %Bool: %Bool.type = struct_value () [concrete] -// CHECK:STDOUT: %Less.type.e31: type = fn_type @Less.2 [concrete] +// CHECK:STDOUT: %Less.type.e31: type = fn_type @Less.loc7 [concrete] // CHECK:STDOUT: %Less.076: %Less.type.e31 = struct_value () [concrete] -// CHECK:STDOUT: %LessOrEquivalent.type.873: type = fn_type @LessOrEquivalent.2 [concrete] +// CHECK:STDOUT: %LessOrEquivalent.type.873: type = fn_type @LessOrEquivalent.loc8 [concrete] // CHECK:STDOUT: %LessOrEquivalent.4d6: %LessOrEquivalent.type.873 = struct_value () [concrete] -// CHECK:STDOUT: %Greater.type.54b: type = fn_type @Greater.2 [concrete] +// CHECK:STDOUT: %Greater.type.54b: type = fn_type @Greater.loc9 [concrete] // CHECK:STDOUT: %Greater.548: %Greater.type.54b = struct_value () [concrete] -// CHECK:STDOUT: %GreaterOrEquivalent.type.311: type = fn_type @GreaterOrEquivalent.2 [concrete] +// CHECK:STDOUT: %GreaterOrEquivalent.type.311: type = fn_type @GreaterOrEquivalent.loc10 [concrete] // CHECK:STDOUT: %GreaterOrEquivalent.1b2: %GreaterOrEquivalent.type.311 = struct_value () [concrete] // CHECK:STDOUT: %OrderedWith.facet: %OrderedWith.type.914 = facet_value %C, (%OrderedWith.impl_witness) [concrete] // CHECK:STDOUT: %TestLess.type: type = fn_type @TestLess [concrete] @@ -233,7 +233,7 @@ fn TestGreaterEqual(a: D, b: D) -> bool { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @OrderedWith.impl.ecd: %C.ref.loc6_6 as %OrderedWith.type { -// CHECK:STDOUT: %Less.decl: %Less.type.e31 = fn_decl @Less.2 [concrete = constants.%Less.076] { +// CHECK:STDOUT: %Less.decl: %Less.type.e31 = fn_decl @Less.loc7 [concrete = constants.%Less.076] { // CHECK:STDOUT: %self.patt: %pattern_type.c48 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.c48 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %other.patt: %pattern_type.c48 = binding_pattern other [concrete] @@ -253,7 +253,7 @@ fn TestGreaterEqual(a: D, b: D) -> bool { // CHECK:STDOUT: %return.param: ref bool = out_param call_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %LessOrEquivalent.decl: %LessOrEquivalent.type.873 = fn_decl @LessOrEquivalent.2 [concrete = constants.%LessOrEquivalent.4d6] { +// CHECK:STDOUT: %LessOrEquivalent.decl: %LessOrEquivalent.type.873 = fn_decl @LessOrEquivalent.loc8 [concrete = constants.%LessOrEquivalent.4d6] { // CHECK:STDOUT: %self.patt: %pattern_type.c48 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.c48 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %other.patt: %pattern_type.c48 = binding_pattern other [concrete] @@ -273,7 +273,7 @@ fn TestGreaterEqual(a: D, b: D) -> bool { // CHECK:STDOUT: %return.param: ref bool = out_param call_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %Greater.decl: %Greater.type.54b = fn_decl @Greater.2 [concrete = constants.%Greater.548] { +// CHECK:STDOUT: %Greater.decl: %Greater.type.54b = fn_decl @Greater.loc9 [concrete = constants.%Greater.548] { // CHECK:STDOUT: %self.patt: %pattern_type.c48 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.c48 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %other.patt: %pattern_type.c48 = binding_pattern other [concrete] @@ -293,7 +293,7 @@ fn TestGreaterEqual(a: D, b: D) -> bool { // CHECK:STDOUT: %return.param: ref bool = out_param call_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %GreaterOrEquivalent.decl: %GreaterOrEquivalent.type.311 = fn_decl @GreaterOrEquivalent.2 [concrete = constants.%GreaterOrEquivalent.1b2] { +// CHECK:STDOUT: %GreaterOrEquivalent.decl: %GreaterOrEquivalent.type.311 = fn_decl @GreaterOrEquivalent.loc10 [concrete = constants.%GreaterOrEquivalent.1b2] { // CHECK:STDOUT: %self.patt: %pattern_type.c48 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.c48 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %other.patt: %pattern_type.c48 = binding_pattern other [concrete] @@ -332,13 +332,13 @@ fn TestGreaterEqual(a: D, b: D) -> bool { // CHECK:STDOUT: .Self = constants.%C // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Less.2(%self.param: %C, %other.param: %C) -> bool; +// CHECK:STDOUT: fn @Less.loc7(%self.param: %C, %other.param: %C) -> bool; // CHECK:STDOUT: -// CHECK:STDOUT: fn @LessOrEquivalent.2(%self.param: %C, %other.param: %C) -> bool; +// CHECK:STDOUT: fn @LessOrEquivalent.loc8(%self.param: %C, %other.param: %C) -> bool; // CHECK:STDOUT: -// CHECK:STDOUT: fn @Greater.2(%self.param: %C, %other.param: %C) -> bool; +// CHECK:STDOUT: fn @Greater.loc9(%self.param: %C, %other.param: %C) -> bool; // CHECK:STDOUT: -// CHECK:STDOUT: fn @GreaterOrEquivalent.2(%self.param: %C, %other.param: %C) -> bool; +// CHECK:STDOUT: fn @GreaterOrEquivalent.loc10(%self.param: %C, %other.param: %C) -> bool; // CHECK:STDOUT: // CHECK:STDOUT: fn @TestLess(%a.param: %C, %b.param: %C) -> bool { // CHECK:STDOUT: !entry: diff --git a/toolchain/check/testdata/operators/overloaded/right_shift.carbon b/toolchain/check/testdata/operators/overloaded/right_shift.carbon index 48976602d81e..6ecd6fa42d84 100644 --- a/toolchain/check/testdata/operators/overloaded/right_shift.carbon +++ b/toolchain/check/testdata/operators/overloaded/right_shift.carbon @@ -46,14 +46,14 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: %RightShiftWith.type.bd6: type = facet_type <@RightShiftWith, @RightShiftWith(%C)> [concrete] // CHECK:STDOUT: %Op.type.19b: type = fn_type @Op.1, @RightShiftWith(%C) [concrete] // CHECK:STDOUT: %RightShiftWith.impl_witness: = impl_witness file.%RightShiftWith.impl_witness_table [concrete] -// CHECK:STDOUT: %Op.type.873: type = fn_type @Op.6 [concrete] +// CHECK:STDOUT: %Op.type.873: type = fn_type @Op.loc21 [concrete] // CHECK:STDOUT: %Op.909: %Op.type.873 = struct_value () [concrete] // CHECK:STDOUT: %RightShiftWith.facet.fb0: %RightShiftWith.type.bd6 = facet_value %C, (%RightShiftWith.impl_witness) [concrete] // CHECK:STDOUT: %RightShiftAssignWith.type.cd0: type = facet_type <@RightShiftAssignWith, @RightShiftAssignWith(%C)> [concrete] -// CHECK:STDOUT: %Op.type.ae9: type = fn_type @Op.7, @RightShiftAssignWith(%C) [concrete] +// CHECK:STDOUT: %Op.type.ae9: type = fn_type @Op.6, @RightShiftAssignWith(%C) [concrete] // CHECK:STDOUT: %RightShiftAssignWith.impl_witness: = impl_witness file.%RightShiftAssignWith.impl_witness_table [concrete] // CHECK:STDOUT: %ptr.019: type = ptr_type %C [concrete] -// CHECK:STDOUT: %Op.type.e0c: type = fn_type @Op.8 [concrete] +// CHECK:STDOUT: %Op.type.e0c: type = fn_type @Op.loc26 [concrete] // CHECK:STDOUT: %Op.6a2: %Op.type.e0c = struct_value () [concrete] // CHECK:STDOUT: %RightShiftAssignWith.facet: %RightShiftAssignWith.type.cd0 = facet_value %C, (%RightShiftAssignWith.impl_witness) [concrete] // CHECK:STDOUT: %.982: type = fn_type_with_self_type %Op.type.19b, %RightShiftWith.facet.fb0 [concrete] diff --git a/toolchain/check/testdata/operators/overloaded/sub.carbon b/toolchain/check/testdata/operators/overloaded/sub.carbon index 99b072f045b0..225aa4369281 100644 --- a/toolchain/check/testdata/operators/overloaded/sub.carbon +++ b/toolchain/check/testdata/operators/overloaded/sub.carbon @@ -46,14 +46,14 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: %SubWith.type.d29: type = facet_type <@SubWith, @SubWith(%C)> [concrete] // CHECK:STDOUT: %Op.type.fc0: type = fn_type @Op.1, @SubWith(%C) [concrete] // CHECK:STDOUT: %SubWith.impl_witness: = impl_witness file.%SubWith.impl_witness_table [concrete] -// CHECK:STDOUT: %Op.type.3fa: type = fn_type @Op.6 [concrete] +// CHECK:STDOUT: %Op.type.3fa: type = fn_type @Op.loc21 [concrete] // CHECK:STDOUT: %Op.5e4: %Op.type.3fa = struct_value () [concrete] // CHECK:STDOUT: %SubWith.facet.0b6: %SubWith.type.d29 = facet_value %C, (%SubWith.impl_witness) [concrete] // CHECK:STDOUT: %SubAssignWith.type.df6: type = facet_type <@SubAssignWith, @SubAssignWith(%C)> [concrete] -// CHECK:STDOUT: %Op.type.ffe: type = fn_type @Op.7, @SubAssignWith(%C) [concrete] +// CHECK:STDOUT: %Op.type.ffe: type = fn_type @Op.6, @SubAssignWith(%C) [concrete] // CHECK:STDOUT: %SubAssignWith.impl_witness: = impl_witness file.%SubAssignWith.impl_witness_table [concrete] // CHECK:STDOUT: %ptr.019: type = ptr_type %C [concrete] -// CHECK:STDOUT: %Op.type.26d: type = fn_type @Op.8 [concrete] +// CHECK:STDOUT: %Op.type.26d: type = fn_type @Op.loc26 [concrete] // CHECK:STDOUT: %Op.f7d: %Op.type.26d = struct_value () [concrete] // CHECK:STDOUT: %SubAssignWith.facet: %SubAssignWith.type.df6 = facet_value %C, (%SubAssignWith.impl_witness) [concrete] // CHECK:STDOUT: %.71c: type = fn_type_with_self_type %Op.type.fc0, %SubWith.facet.0b6 [concrete] diff --git a/toolchain/check/testdata/packages/cross_package_import.carbon b/toolchain/check/testdata/packages/cross_package_import.carbon index 24d3813b416c..7ec6110c40e5 100644 --- a/toolchain/check/testdata/packages/cross_package_import.carbon +++ b/toolchain/check/testdata/packages/cross_package_import.carbon @@ -481,7 +481,7 @@ fn UseF() { Other.F(); } // CHECK:STDOUT: constants { // CHECK:STDOUT: %F.type.700976.1: type = fn_type @F.1 [concrete] // CHECK:STDOUT: %F.7e9a3e.1: %F.type.700976.1 = struct_value () [concrete] -// CHECK:STDOUT: %F.type.700976.2: type = fn_type @F.2 [concrete] +// CHECK:STDOUT: %F.type.700976.2: type = fn_type @F.loc23 [concrete] // CHECK:STDOUT: %F.7e9a3e.2: %F.type.700976.2 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -500,12 +500,12 @@ fn UseF() { Other.F(); } // CHECK:STDOUT: } // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: %Other.import = import Other -// CHECK:STDOUT: %F.decl: %F.type.700976.2 = fn_decl @F.2 [concrete = constants.%F.7e9a3e.2] {} {} +// CHECK:STDOUT: %F.decl: %F.type.700976.2 = fn_decl @F.loc23 [concrete = constants.%F.7e9a3e.2] {} {} // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F.1 [from "other_fn.carbon"]; // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2() { +// CHECK:STDOUT: fn @F.loc23() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/return/import_convert_function.carbon b/toolchain/check/testdata/return/import_convert_function.carbon index 863e75313118..7a87e9fab668 100644 --- a/toolchain/check/testdata/return/import_convert_function.carbon +++ b/toolchain/check/testdata/return/import_convert_function.carbon @@ -92,7 +92,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: %ImplicitAs.type.94e: type = facet_type <@ImplicitAs, @ImplicitAs(%D)> [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness.00c: = impl_witness file.%ImplicitAs.impl_witness_table.loc8 [concrete] // CHECK:STDOUT: %pattern_type.f33: type = pattern_type %C.c8d [concrete] -// CHECK:STDOUT: %Convert.type.cd0: type = fn_type @Convert.7 [concrete] +// CHECK:STDOUT: %Convert.type.cd0: type = fn_type @Convert.loc8 [concrete] // CHECK:STDOUT: %Convert.b95: %Convert.type.cd0 = struct_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %Op.type.548: type = fn_type @Op.3, @Destroy.impl(%D) [concrete] @@ -106,7 +106,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: %C.c02: type = class_type @C, @C(%int_1.5d2) [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness.c66: = impl_witness file.%ImplicitAs.impl_witness_table.loc9 [concrete] // CHECK:STDOUT: %pattern_type.07c: type = pattern_type %C.c02 [concrete] -// CHECK:STDOUT: %Convert.type.af9: type = fn_type @Convert.8 [concrete] +// CHECK:STDOUT: %Convert.type.af9: type = fn_type @Convert.loc9 [concrete] // CHECK:STDOUT: %Convert.9a4: %Convert.type.af9 = struct_value () [concrete] // CHECK:STDOUT: %int_2.ecc: Core.IntLiteral = int_value 2 [concrete] // CHECK:STDOUT: %Convert.bound.ef9: = bound_method %int_2.ecc, %Convert.956 [concrete] @@ -115,7 +115,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: %C.70b: type = class_type @C, @C(%int_2.ef8) [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness.f9c: = impl_witness file.%ImplicitAs.impl_witness_table.loc10 [concrete] // CHECK:STDOUT: %pattern_type.538: type = pattern_type %C.70b [concrete] -// CHECK:STDOUT: %Convert.type.5f9: type = fn_type @Convert.9 [concrete] +// CHECK:STDOUT: %Convert.type.5f9: type = fn_type @Convert.loc10 [concrete] // CHECK:STDOUT: %Convert.aad: %Convert.type.5f9 = struct_value () [concrete] // CHECK:STDOUT: %int_3.1ba: Core.IntLiteral = int_value 3 [concrete] // CHECK:STDOUT: %Convert.bound.b30: = bound_method %int_3.1ba, %Convert.956 [concrete] @@ -124,7 +124,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: %C.8cb: type = class_type @C, @C(%int_3.822) [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness.c1f: = impl_witness file.%ImplicitAs.impl_witness_table.loc11 [concrete] // CHECK:STDOUT: %pattern_type.232: type = pattern_type %C.8cb [concrete] -// CHECK:STDOUT: %Convert.type.d96: type = fn_type @Convert.10 [concrete] +// CHECK:STDOUT: %Convert.type.d96: type = fn_type @Convert.loc11 [concrete] // CHECK:STDOUT: %Convert.9b7: %Convert.type.d96 = struct_value () [concrete] // CHECK:STDOUT: %int_4.0c1: Core.IntLiteral = int_value 4 [concrete] // CHECK:STDOUT: %Convert.bound.ac3: = bound_method %int_4.0c1, %Convert.956 [concrete] @@ -133,7 +133,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: %C.ba2: type = class_type @C, @C(%int_4.940) [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness.097: = impl_witness file.%ImplicitAs.impl_witness_table.loc12 [concrete] // CHECK:STDOUT: %pattern_type.fe0: type = pattern_type %C.ba2 [concrete] -// CHECK:STDOUT: %Convert.type.33c: type = fn_type @Convert.11 [concrete] +// CHECK:STDOUT: %Convert.type.33c: type = fn_type @Convert.loc12 [concrete] // CHECK:STDOUT: %Convert.b7b: %Convert.type.33c = struct_value () [concrete] // CHECK:STDOUT: %int_5.64b: Core.IntLiteral = int_value 5 [concrete] // CHECK:STDOUT: %Convert.bound.4e6: = bound_method %int_5.64b, %Convert.956 [concrete] @@ -142,7 +142,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: %C.fcd: type = class_type @C, @C(%int_5.0f6) [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness.03f: = impl_witness file.%ImplicitAs.impl_witness_table.loc13 [concrete] // CHECK:STDOUT: %pattern_type.e96: type = pattern_type %C.fcd [concrete] -// CHECK:STDOUT: %Convert.type.193: type = fn_type @Convert.12 [concrete] +// CHECK:STDOUT: %Convert.type.193: type = fn_type @Convert.loc13 [concrete] // CHECK:STDOUT: %Convert.a6f: %Convert.type.193 = struct_value () [concrete] // CHECK:STDOUT: %int_6.462: Core.IntLiteral = int_value 6 [concrete] // CHECK:STDOUT: %Convert.bound.ce9: = bound_method %int_6.462, %Convert.956 [concrete] @@ -151,7 +151,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: %C.675: type = class_type @C, @C(%int_6.e56) [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness.89c: = impl_witness file.%ImplicitAs.impl_witness_table.loc14 [concrete] // CHECK:STDOUT: %pattern_type.bc0: type = pattern_type %C.675 [concrete] -// CHECK:STDOUT: %Convert.type.7d3: type = fn_type @Convert.13 [concrete] +// CHECK:STDOUT: %Convert.type.7d3: type = fn_type @Convert.loc14 [concrete] // CHECK:STDOUT: %Convert.f7f: %Convert.type.7d3 = struct_value () [concrete] // CHECK:STDOUT: %int_7.29f: Core.IntLiteral = int_value 7 [concrete] // CHECK:STDOUT: %Convert.bound.208: = bound_method %int_7.29f, %Convert.956 [concrete] @@ -160,7 +160,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: %C.884: type = class_type @C, @C(%int_7.0b1) [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness.217: = impl_witness file.%ImplicitAs.impl_witness_table.loc15 [concrete] // CHECK:STDOUT: %pattern_type.c15: type = pattern_type %C.884 [concrete] -// CHECK:STDOUT: %Convert.type.167: type = fn_type @Convert.14 [concrete] +// CHECK:STDOUT: %Convert.type.167: type = fn_type @Convert.loc15 [concrete] // CHECK:STDOUT: %Convert.e51: %Convert.type.167 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -352,7 +352,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @ImplicitAs.impl.6d8: %C as %ImplicitAs.type { -// CHECK:STDOUT: %Convert.decl: %Convert.type.cd0 = fn_decl @Convert.7 [concrete = constants.%Convert.b95] { +// CHECK:STDOUT: %Convert.decl: %Convert.type.cd0 = fn_decl @Convert.loc8 [concrete = constants.%Convert.b95] { // CHECK:STDOUT: %self.patt: %pattern_type.f33 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.f33 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %return.patt: %pattern_type.510 = return_slot_pattern [concrete] @@ -374,7 +374,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @ImplicitAs.impl.b66: %C as %ImplicitAs.type { -// CHECK:STDOUT: %Convert.decl: %Convert.type.af9 = fn_decl @Convert.8 [concrete = constants.%Convert.9a4] { +// CHECK:STDOUT: %Convert.decl: %Convert.type.af9 = fn_decl @Convert.loc9 [concrete = constants.%Convert.9a4] { // CHECK:STDOUT: %self.patt: %pattern_type.07c = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.07c = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %return.patt: %pattern_type.510 = return_slot_pattern [concrete] @@ -396,7 +396,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @ImplicitAs.impl.9de: %C as %ImplicitAs.type { -// CHECK:STDOUT: %Convert.decl: %Convert.type.5f9 = fn_decl @Convert.9 [concrete = constants.%Convert.aad] { +// CHECK:STDOUT: %Convert.decl: %Convert.type.5f9 = fn_decl @Convert.loc10 [concrete = constants.%Convert.aad] { // CHECK:STDOUT: %self.patt: %pattern_type.538 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.538 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %return.patt: %pattern_type.510 = return_slot_pattern [concrete] @@ -418,7 +418,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @ImplicitAs.impl.649: %C as %ImplicitAs.type { -// CHECK:STDOUT: %Convert.decl: %Convert.type.d96 = fn_decl @Convert.10 [concrete = constants.%Convert.9b7] { +// CHECK:STDOUT: %Convert.decl: %Convert.type.d96 = fn_decl @Convert.loc11 [concrete = constants.%Convert.9b7] { // CHECK:STDOUT: %self.patt: %pattern_type.232 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.232 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %return.patt: %pattern_type.510 = return_slot_pattern [concrete] @@ -440,7 +440,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @ImplicitAs.impl.49b: %C as %ImplicitAs.type { -// CHECK:STDOUT: %Convert.decl: %Convert.type.33c = fn_decl @Convert.11 [concrete = constants.%Convert.b7b] { +// CHECK:STDOUT: %Convert.decl: %Convert.type.33c = fn_decl @Convert.loc12 [concrete = constants.%Convert.b7b] { // CHECK:STDOUT: %self.patt: %pattern_type.fe0 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.fe0 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %return.patt: %pattern_type.510 = return_slot_pattern [concrete] @@ -462,7 +462,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @ImplicitAs.impl.75f: %C as %ImplicitAs.type { -// CHECK:STDOUT: %Convert.decl: %Convert.type.193 = fn_decl @Convert.12 [concrete = constants.%Convert.a6f] { +// CHECK:STDOUT: %Convert.decl: %Convert.type.193 = fn_decl @Convert.loc13 [concrete = constants.%Convert.a6f] { // CHECK:STDOUT: %self.patt: %pattern_type.e96 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.e96 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %return.patt: %pattern_type.510 = return_slot_pattern [concrete] @@ -484,7 +484,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @ImplicitAs.impl.98f: %C as %ImplicitAs.type { -// CHECK:STDOUT: %Convert.decl: %Convert.type.7d3 = fn_decl @Convert.13 [concrete = constants.%Convert.f7f] { +// CHECK:STDOUT: %Convert.decl: %Convert.type.7d3 = fn_decl @Convert.loc14 [concrete = constants.%Convert.f7f] { // CHECK:STDOUT: %self.patt: %pattern_type.bc0 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.bc0 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %return.patt: %pattern_type.510 = return_slot_pattern [concrete] @@ -506,7 +506,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @ImplicitAs.impl.9fd: %C as %ImplicitAs.type { -// CHECK:STDOUT: %Convert.decl: %Convert.type.167 = fn_decl @Convert.14 [concrete = constants.%Convert.e51] { +// CHECK:STDOUT: %Convert.decl: %Convert.type.167 = fn_decl @Convert.loc15 [concrete = constants.%Convert.e51] { // CHECK:STDOUT: %self.patt: %pattern_type.c15 = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.c15 = value_param_pattern %self.patt, call_param0 [concrete] // CHECK:STDOUT: %return.patt: %pattern_type.510 = return_slot_pattern [concrete] @@ -585,7 +585,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: return %.loc6_41 to %return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Convert.7(%self.param: %C.c8d) -> %return.param: %D { +// CHECK:STDOUT: fn @Convert.loc8(%self.param: %C.c8d) -> %return.param: %D { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %Make.ref: %Make.type = name_ref Make, file.%Make.decl [concrete = constants.%Make] // CHECK:STDOUT: %.loc8: ref %D = splice_block %return {} @@ -598,7 +598,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: return %Make.call to %return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Convert.8(%self.param: %C.c02) -> %return.param: %D { +// CHECK:STDOUT: fn @Convert.loc9(%self.param: %C.c02) -> %return.param: %D { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %Make.ref: %Make.type = name_ref Make, file.%Make.decl [concrete = constants.%Make] // CHECK:STDOUT: %.loc9: ref %D = splice_block %return {} @@ -611,7 +611,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: return %Make.call to %return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Convert.9(%self.param: %C.70b) -> %return.param: %D { +// CHECK:STDOUT: fn @Convert.loc10(%self.param: %C.70b) -> %return.param: %D { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %Make.ref: %Make.type = name_ref Make, file.%Make.decl [concrete = constants.%Make] // CHECK:STDOUT: %.loc10: ref %D = splice_block %return {} @@ -624,7 +624,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: return %Make.call to %return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Convert.10(%self.param: %C.8cb) -> %return.param: %D { +// CHECK:STDOUT: fn @Convert.loc11(%self.param: %C.8cb) -> %return.param: %D { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %Make.ref: %Make.type = name_ref Make, file.%Make.decl [concrete = constants.%Make] // CHECK:STDOUT: %.loc11: ref %D = splice_block %return {} @@ -637,7 +637,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: return %Make.call to %return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Convert.11(%self.param: %C.ba2) -> %return.param: %D { +// CHECK:STDOUT: fn @Convert.loc12(%self.param: %C.ba2) -> %return.param: %D { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %Make.ref: %Make.type = name_ref Make, file.%Make.decl [concrete = constants.%Make] // CHECK:STDOUT: %.loc12: ref %D = splice_block %return {} @@ -650,7 +650,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: return %Make.call to %return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Convert.12(%self.param: %C.fcd) -> %return.param: %D { +// CHECK:STDOUT: fn @Convert.loc13(%self.param: %C.fcd) -> %return.param: %D { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %Make.ref: %Make.type = name_ref Make, file.%Make.decl [concrete = constants.%Make] // CHECK:STDOUT: %.loc13: ref %D = splice_block %return {} @@ -663,7 +663,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: return %Make.call to %return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Convert.13(%self.param: %C.675) -> %return.param: %D { +// CHECK:STDOUT: fn @Convert.loc14(%self.param: %C.675) -> %return.param: %D { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %Make.ref: %Make.type = name_ref Make, file.%Make.decl [concrete = constants.%Make] // CHECK:STDOUT: %.loc14: ref %D = splice_block %return {} @@ -676,7 +676,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: return %Make.call to %return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Convert.14(%self.param: %C.884) -> %return.param: %D { +// CHECK:STDOUT: fn @Convert.loc15(%self.param: %C.884) -> %return.param: %D { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %Make.ref: %Make.type = name_ref Make, file.%Make.decl [concrete = constants.%Make] // CHECK:STDOUT: %.loc15: ref %D = splice_block %return {} diff --git a/toolchain/sem_ir/inst_namer.cpp b/toolchain/sem_ir/inst_namer.cpp index e5eb6d494f16..4dddab587237 100644 --- a/toolchain/sem_ir/inst_namer.cpp +++ b/toolchain/sem_ir/inst_namer.cpp @@ -96,9 +96,7 @@ InstNamer::InstNamer(const File* sem_ir) : sem_ir_(sem_ir) { // Build each function scope. for (auto [fn_id, fn] : sem_ir->functions().enumerate()) { auto fn_scope = GetScopeFor(fn_id); - // TODO: Provide a location for the function for use as a - // disambiguator. - auto fn_loc = Parse::NodeId::None; + LocId fn_loc(fn.latest_decl_id()); GetScopeInfo(fn_scope).name = globals_.AllocateName( *this, fn_loc, sem_ir->names().GetIRBaseName(fn.name_id).str()); CollectNamesInBlock(fn_scope, fn.call_params_id); @@ -118,8 +116,7 @@ InstNamer::InstNamer(const File* sem_ir) : sem_ir_(sem_ir) { // Build each class scope. for (auto [class_id, class_info] : sem_ir->classes().enumerate()) { auto class_scope = GetScopeFor(class_id); - // TODO: Provide a location for the class for use as a disambiguator. - auto class_loc = Parse::NodeId::None; + LocId class_loc(class_info.latest_decl_id()); GetScopeInfo(class_scope).name = globals_.AllocateName( *this, class_loc, sem_ir->names().GetIRBaseName(class_info.name_id).str()); @@ -132,9 +129,8 @@ InstNamer::InstNamer(const File* sem_ir) : sem_ir_(sem_ir) { // Build each vtable scope. for (auto [vtable_id, vtable_info] : sem_ir->vtables().enumerate()) { auto vtable_scope = GetScopeFor(vtable_id); - // TODO: Provide a location for the vtable for use as a disambiguator. - auto vtable_loc = Parse::NodeId::None; auto class_info = sem_ir->classes().Get(vtable_info.class_id); + LocId vtable_loc(class_info.latest_decl_id()); GetScopeInfo(vtable_scope).name = globals_.AllocateName( *this, vtable_loc, sem_ir->names().GetIRBaseName(class_info.name_id).str() + ".vtable"); @@ -145,8 +141,7 @@ InstNamer::InstNamer(const File* sem_ir) : sem_ir_(sem_ir) { // Build each interface scope. for (auto [interface_id, interface_info] : sem_ir->interfaces().enumerate()) { auto interface_scope = GetScopeFor(interface_id); - // TODO: Provide a location for the interface for use as a disambiguator. - auto interface_loc = Parse::NodeId::None; + LocId interface_loc(interface_info.latest_decl_id()); GetScopeInfo(interface_scope).name = globals_.AllocateName( *this, interface_loc, sem_ir->names().GetIRBaseName(interface_info.name_id).str());