diff --git a/toolchain/check/testdata/array/basics.carbon b/toolchain/check/testdata/array/basics.carbon index 615a9334623a..cb123917ba55 100644 --- a/toolchain/check/testdata/array/basics.carbon +++ b/toolchain/check/testdata/array/basics.carbon @@ -181,10 +181,10 @@ var a: array(1, 1); // CHECK:STDOUT: %tuple.type.14a: type = tuple_type (%tuple.type.734, %tuple.type.734) [concrete] // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete] -// CHECK:STDOUT: %Op.type.fe9: type = fn_type @Op.2, @impl(%tuple.type.734) [concrete] +// CHECK:STDOUT: %Op.type.fe9: type = fn_type @Op.2, @Destroy.impl(%tuple.type.734) [concrete] // CHECK:STDOUT: %Op.ae1: %Op.type.fe9 = struct_value () [concrete] // CHECK:STDOUT: %ptr.dbe: type = ptr_type %tuple.type.734 [concrete] -// CHECK:STDOUT: %Op.type.280: type = fn_type @Op.2, @impl(%array_type) [concrete] +// CHECK:STDOUT: %Op.type.280: type = fn_type @Op.2, @Destroy.impl(%array_type) [concrete] // CHECK:STDOUT: %Op.d4f: %Op.type.280 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -253,9 +253,9 @@ var a: array(1, 1); // CHECK:STDOUT: %tuple.type: type = tuple_type (%empty_tuple.type, %empty_tuple.type, %empty_tuple.type) [concrete] // CHECK:STDOUT: %ptr.7fe: type = ptr_type %tuple.type [concrete] // CHECK:STDOUT: %pattern_type.8c1: type = pattern_type %tuple.type [concrete] -// CHECK:STDOUT: %Op.type.073: type = fn_type @Op.2, @impl(%tuple.type) [concrete] +// CHECK:STDOUT: %Op.type.073: type = fn_type @Op.2, @Destroy.impl(%tuple.type) [concrete] // CHECK:STDOUT: %Op.dce: %Op.type.073 = struct_value () [concrete] -// CHECK:STDOUT: %Op.type.c60: type = fn_type @Op.2, @impl(%array_type) [concrete] +// CHECK:STDOUT: %Op.type.c60: type = fn_type @Op.2, @Destroy.impl(%array_type) [concrete] // CHECK:STDOUT: %Op.f81: %Op.type.c60 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -319,10 +319,10 @@ var a: array(1, 1); // CHECK:STDOUT: %pattern_type.fe8: type = pattern_type %array_type [concrete] // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete] // CHECK:STDOUT: %array: %array_type = tuple_value (%empty_tuple) [concrete] -// CHECK:STDOUT: %Op.type.23e: type = fn_type @Op.2, @impl(%tuple.type) [concrete] +// CHECK:STDOUT: %Op.type.23e: type = fn_type @Op.2, @Destroy.impl(%tuple.type) [concrete] // CHECK:STDOUT: %Op.f19: %Op.type.23e = struct_value () [concrete] // CHECK:STDOUT: %ptr.652: type = ptr_type %tuple.type [concrete] -// CHECK:STDOUT: %Op.type.471: type = fn_type @Op.2, @impl(%array_type) [concrete] +// CHECK:STDOUT: %Op.type.471: type = fn_type @Op.2, @Destroy.impl(%array_type) [concrete] // CHECK:STDOUT: %Op.688: %Op.type.471 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/array/bound_values.carbon b/toolchain/check/testdata/array/bound_values.carbon index fdb96864e08d..b4a1f177b4f7 100644 --- a/toolchain/check/testdata/array/bound_values.carbon +++ b/toolchain/check/testdata/array/bound_values.carbon @@ -85,7 +85,7 @@ var b: array(1, 39999999999999999993); // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.abd9 = import_ref Core//prelude/operators/arithmetic, loc95_57, unloaded // CHECK:STDOUT: %Core.import_ref.d10: %Op.type.b60 = import_ref Core//prelude/operators/arithmetic, loc96_42, loaded [concrete = constants.%Op.14b] -// CHECK:STDOUT: %AddWith.impl_witness_table.255 = impl_witness_table (%Core.import_ref.abd9, %Core.import_ref.d10), @impl.013 [concrete] +// CHECK:STDOUT: %AddWith.impl_witness_table.255 = impl_witness_table (%Core.import_ref.abd9, %Core.import_ref.d10), @AddWith.impl.013 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -120,13 +120,13 @@ var b: array(1, 39999999999999999993); // CHECK:STDOUT: %To.c80: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] // CHECK:STDOUT: %ImplicitAs.type.2fd: type = facet_type <@ImplicitAs, @ImplicitAs(Core.IntLiteral)> [concrete] // CHECK:STDOUT: %From: Core.IntLiteral = bind_symbolic_name From, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.002: type = fn_type @Convert.5, @impl.750(%From) [symbolic] +// CHECK:STDOUT: %Convert.type.002: type = fn_type @Convert.5, @ImplicitAs.impl.750(%From) [symbolic] // CHECK:STDOUT: %Convert.819: %Convert.type.002 = struct_value () [symbolic] // CHECK:STDOUT: %Convert.type.71e: type = fn_type @Convert.2, @ImplicitAs(Core.IntLiteral) [concrete] -// CHECK:STDOUT: %Convert.type.792: type = fn_type @Convert.6, @impl.2f2(%To.c80) [symbolic] +// CHECK:STDOUT: %Convert.type.792: type = fn_type @Convert.6, @As.impl.2f2(%To.c80) [symbolic] // CHECK:STDOUT: %Convert.c02: %Convert.type.792 = struct_value () [symbolic] -// CHECK:STDOUT: %As.impl_witness.d2d: = impl_witness imports.%As.impl_witness_table.afe, @impl.2f2(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.70b: type = fn_type @Convert.6, @impl.2f2(%int_32) [concrete] +// CHECK:STDOUT: %As.impl_witness.d2d: = impl_witness imports.%As.impl_witness_table.afe, @As.impl.2f2(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.70b: type = fn_type @Convert.6, @As.impl.2f2(%int_32) [concrete] // CHECK:STDOUT: %Convert.92a: %Convert.type.70b = struct_value () [concrete] // CHECK:STDOUT: %As.facet: %As.type.ce0 = facet_value Core.IntLiteral, (%As.impl_witness.d2d) [concrete] // CHECK:STDOUT: %.68c: type = fn_type_with_self_type %Convert.type.b94, %As.facet [concrete] @@ -134,8 +134,8 @@ var b: array(1, 39999999999999999993); // CHECK:STDOUT: %Convert.specific_fn.4cf: = specific_function %Convert.92a, @Convert.6(%int_32) [concrete] // CHECK:STDOUT: %bound_method.94d: = bound_method %int_3.1ba, %Convert.specific_fn.4cf [concrete] // CHECK:STDOUT: %int_3.d14: %u32 = int_value 3 [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a11: = impl_witness imports.%ImplicitAs.impl_witness_table.6ad, @impl.750(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.e06: type = fn_type @Convert.5, @impl.750(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a11: = impl_witness imports.%ImplicitAs.impl_witness_table.6ad, @ImplicitAs.impl.750(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.e06: type = fn_type @Convert.5, @ImplicitAs.impl.750(%int_32) [concrete] // CHECK:STDOUT: %Convert.47f: %Convert.type.e06 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.84e: %ImplicitAs.type.2fd = facet_value %u32, (%ImplicitAs.impl_witness.a11) [concrete] // CHECK:STDOUT: %.268: type = fn_type_with_self_type %Convert.type.71e, %ImplicitAs.facet.84e [concrete] @@ -146,10 +146,10 @@ var b: array(1, 39999999999999999993); // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { -// CHECK:STDOUT: %Core.import_ref.823: @impl.750.%Convert.type (%Convert.type.002) = import_ref Core//prelude/types/uint, loc24_44, loaded [symbolic = @impl.750.%Convert (constants.%Convert.819)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.6ad = impl_witness_table (%Core.import_ref.823), @impl.750 [concrete] -// CHECK:STDOUT: %Core.import_ref.aef: @impl.2f2.%Convert.type (%Convert.type.792) = import_ref Core//prelude/types/uint, loc29_40, loaded [symbolic = @impl.2f2.%Convert (constants.%Convert.c02)] -// CHECK:STDOUT: %As.impl_witness_table.afe = impl_witness_table (%Core.import_ref.aef), @impl.2f2 [concrete] +// CHECK:STDOUT: %Core.import_ref.823: @ImplicitAs.impl.750.%Convert.type (%Convert.type.002) = import_ref Core//prelude/types/uint, loc24_44, loaded [symbolic = @ImplicitAs.impl.750.%Convert (constants.%Convert.819)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.6ad = impl_witness_table (%Core.import_ref.823), @ImplicitAs.impl.750 [concrete] +// CHECK:STDOUT: %Core.import_ref.aef: @As.impl.2f2.%Convert.type (%Convert.type.792) = import_ref Core//prelude/types/uint, loc29_40, loaded [symbolic = @As.impl.2f2.%Convert (constants.%Convert.c02)] +// CHECK:STDOUT: %As.impl_witness_table.afe = impl_witness_table (%Core.import_ref.aef), @As.impl.2f2 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/array/import.carbon b/toolchain/check/testdata/array/import.carbon index 1450a6f7c7d7..afa9ce78c0c1 100644 --- a/toolchain/check/testdata/array/import.carbon +++ b/toolchain/check/testdata/array/import.carbon @@ -37,7 +37,7 @@ fn G(n: i32) -> i32 { // CHECK:STDOUT: %int_42: Core.IntLiteral = int_value 42 [concrete] // CHECK:STDOUT: %array_type: type = array_type %int_42, %i32 [concrete] // CHECK:STDOUT: %ptr.830: type = ptr_type %array_type [concrete] -// CHECK:STDOUT: %Op.type.b8c: type = fn_type @Op.3, @impl.49c(%array_type) [concrete] +// CHECK:STDOUT: %Op.type.b8c: type = fn_type @Op.3, @Destroy.impl(%array_type) [concrete] // CHECK:STDOUT: %Op.552: %Op.type.b8c = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/array/index_not_literal.carbon b/toolchain/check/testdata/array/index_not_literal.carbon index 632c4e46da99..59195cb25da6 100644 --- a/toolchain/check/testdata/array/index_not_literal.carbon +++ b/toolchain/check/testdata/array/index_not_literal.carbon @@ -64,10 +64,10 @@ fn F(a: array({}, 3)) -> {} { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -82,13 +82,13 @@ fn F(a: array({}, 3)) -> {} { // CHECK:STDOUT: %bound_method.047: = bound_method %int_3.1ba, %Convert.specific_fn [concrete] // CHECK:STDOUT: %int_3.822: %i32 = int_value 3 [concrete] // CHECK:STDOUT: %array: %array_type = tuple_value (%int_1.5d2, %int_2.ef8, %int_3.822) [concrete] -// CHECK:STDOUT: %Op.type.1e4: type = fn_type @Op.3, @impl.49c(%array_type) [concrete] +// CHECK:STDOUT: %Op.type.1e4: type = fn_type @Op.3, @Destroy.impl(%array_type) [concrete] // CHECK:STDOUT: %Op.f0b: %Op.type.1e4 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F(%arr.param: %array_type, %i.param: %i32) -> %i32 { @@ -175,10 +175,10 @@ fn F(a: array({}, 3)) -> {} { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -190,8 +190,8 @@ fn F(a: array({}, 3)) -> {} { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F(%a.param: %array_type) -> %empty_struct_type { diff --git a/toolchain/check/testdata/array/init_dependent_bound.carbon b/toolchain/check/testdata/array/init_dependent_bound.carbon index 3453fc349c1f..d2f578795675 100644 --- a/toolchain/check/testdata/array/init_dependent_bound.carbon +++ b/toolchain/check/testdata/array/init_dependent_bound.carbon @@ -69,7 +69,7 @@ fn H() { G(3); } // CHECK:STDOUT: %array.2ed: %array_type.281 = tuple_value () [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, @impl(%T) [symbolic] +// CHECK:STDOUT: %Op.type.bc9: type = fn_type @Op.2, @Destroy.impl(%T) [symbolic] // CHECK:STDOUT: %Op.46f: %Op.type.bc9 = struct_value () [symbolic] // CHECK:STDOUT: %require_complete.662: = require_complete_type %ptr.e06 [symbolic] // CHECK:STDOUT: %Destroy.lookup_impl_witness: = lookup_impl_witness %array_type.281, @Destroy [symbolic] @@ -83,8 +83,8 @@ fn H() { G(3); } // CHECK:STDOUT: %complete_type.ed6: = complete_type_witness %array_type.6f1 [concrete] // CHECK:STDOUT: %pattern_type.9c8: type = pattern_type %array_type.6f1 [concrete] // CHECK:STDOUT: %array.2e5: %array_type.6f1 = tuple_value () [concrete] -// CHECK:STDOUT: %Destroy.impl_witness.8b8: = impl_witness imports.%Destroy.impl_witness_table, @impl(%array_type.6f1) [concrete] -// CHECK:STDOUT: %Op.type.a3e: type = fn_type @Op.2, @impl(%array_type.6f1) [concrete] +// CHECK:STDOUT: %Destroy.impl_witness.8b8: = impl_witness imports.%Destroy.impl_witness_table, @Destroy.impl(%array_type.6f1) [concrete] +// CHECK:STDOUT: %Op.type.a3e: type = fn_type @Op.2, @Destroy.impl(%array_type.6f1) [concrete] // CHECK:STDOUT: %Op.dc5: %Op.type.a3e = struct_value () [concrete] // CHECK:STDOUT: %complete_type.3e1: = complete_type_witness %ptr.cf4 [concrete] // CHECK:STDOUT: %Destroy.facet.da7: %Destroy.type = facet_value %array_type.6f1, (%Destroy.impl_witness.8b8) [concrete] @@ -93,8 +93,8 @@ fn H() { G(3); } // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { -// CHECK:STDOUT: %Core.import_ref.0b9: @impl.%Op.type (%Op.type.bc9) = import_ref Core//prelude/parts/destroy, loc8_29, loaded [symbolic = @impl.%Op (constants.%Op.46f)] -// CHECK:STDOUT: %Destroy.impl_witness_table = impl_witness_table (%Core.import_ref.0b9), @impl [concrete] +// CHECK:STDOUT: %Core.import_ref.0b9: @Destroy.impl.%Op.type (%Op.type.bc9) = import_ref Core//prelude/parts/destroy, loc8_29, loaded [symbolic = @Destroy.impl.%Op (constants.%Op.46f)] +// CHECK:STDOUT: %Destroy.impl_witness_table = impl_witness_table (%Core.import_ref.0b9), @Destroy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @G(%T.loc4_6.1: type) { @@ -173,12 +173,12 @@ fn H() { G(3); } // CHECK:STDOUT: %tuple.type: type = tuple_type (Core.IntLiteral, Core.IntLiteral, Core.IntLiteral) [concrete] // CHECK:STDOUT: %ImplicitAs.type.2fd: type = facet_type <@ImplicitAs, @ImplicitAs(Core.IntLiteral)> [concrete] // CHECK:STDOUT: %From: Core.IntLiteral = bind_symbolic_name From, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.708: type = fn_type @Convert.3, @impl.971(%From) [symbolic] +// CHECK:STDOUT: %Convert.type.708: type = fn_type @Convert.3, @ImplicitAs.impl.971(%From) [symbolic] // CHECK:STDOUT: %Convert.c68: %Convert.type.708 = struct_value () [symbolic] // CHECK:STDOUT: %Convert.type.71e: type = fn_type @Convert.1, @ImplicitAs(Core.IntLiteral) [concrete] // CHECK:STDOUT: %int_3.822: %i32 = int_value 3 [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a11: = impl_witness imports.%ImplicitAs.impl_witness_table.1d9, @impl.971(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.4ad: type = fn_type @Convert.3, @impl.971(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a11: = impl_witness imports.%ImplicitAs.impl_witness_table.1d9, @ImplicitAs.impl.971(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.4ad: type = fn_type @Convert.3, @ImplicitAs.impl.971(%int_32) [concrete] // CHECK:STDOUT: %Convert.960: %Convert.type.4ad = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.f49: %ImplicitAs.type.2fd = facet_value %i32, (%ImplicitAs.impl_witness.a11) [concrete] // CHECK:STDOUT: %.0ea: type = fn_type_with_self_type %Convert.type.71e, %ImplicitAs.facet.f49 [concrete] @@ -199,8 +199,8 @@ fn H() { G(3); } // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { -// CHECK:STDOUT: %Core.import_ref.85c: @impl.971.%Convert.type (%Convert.type.708) = import_ref Core//prelude/parts/int, loc20_44, loaded [symbolic = @impl.971.%Convert (constants.%Convert.c68)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1d9 = impl_witness_table (%Core.import_ref.85c), @impl.971 [concrete] +// CHECK:STDOUT: %Core.import_ref.85c: @ImplicitAs.impl.971.%Convert.type (%Convert.type.708) = import_ref Core//prelude/parts/int, loc20_44, loaded [symbolic = @ImplicitAs.impl.971.%Convert (constants.%Convert.c68)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1d9 = impl_witness_table (%Core.import_ref.85c), @ImplicitAs.impl.971 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @G(%N.loc5_15.1: %i32) { diff --git a/toolchain/check/testdata/as/adapter_conversion.carbon b/toolchain/check/testdata/as/adapter_conversion.carbon index 9a23b21c4c59..07cbd8b6d34a 100644 --- a/toolchain/check/testdata/as/adapter_conversion.carbon +++ b/toolchain/check/testdata/as/adapter_conversion.carbon @@ -250,10 +250,10 @@ var b: B = {.x = ()} as B; // CHECK:STDOUT: %As.type.fd4: type = facet_type <@As, @As(%i32)> [concrete] // CHECK:STDOUT: %Convert.type.99b: type = fn_type @Convert.1, @As(%i32) [concrete] // CHECK:STDOUT: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.062: type = fn_type @Convert.5, @impl.686(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.062: type = fn_type @Convert.5, @As.impl.686(%To) [symbolic] // CHECK:STDOUT: %Convert.527: %Convert.type.062 = struct_value () [symbolic] -// CHECK:STDOUT: %As.impl_witness.6b4: = impl_witness imports.%As.impl_witness_table.eb4, @impl.686(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.4fd: type = fn_type @Convert.5, @impl.686(%int_32) [concrete] +// CHECK:STDOUT: %As.impl_witness.6b4: = impl_witness imports.%As.impl_witness_table.eb4, @As.impl.686(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.4fd: type = fn_type @Convert.5, @As.impl.686(%int_32) [concrete] // CHECK:STDOUT: %Convert.197: %Convert.type.4fd = struct_value () [concrete] // CHECK:STDOUT: %As.facet: %As.type.fd4 = facet_value Core.IntLiteral, (%As.impl_witness.6b4) [concrete] // CHECK:STDOUT: %.982: type = fn_type_with_self_type %Convert.type.99b, %As.facet [concrete] @@ -266,8 +266,8 @@ var b: B = {.x = ()} as B; // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { -// CHECK:STDOUT: %Core.import_ref.78a: @impl.686.%Convert.type (%Convert.type.062) = import_ref Core//prelude/parts/int, loc25_39, loaded [symbolic = @impl.686.%Convert (constants.%Convert.527)] -// CHECK:STDOUT: %As.impl_witness_table.eb4 = impl_witness_table (%Core.import_ref.78a), @impl.686 [concrete] +// CHECK:STDOUT: %Core.import_ref.78a: @As.impl.686.%Convert.type (%Convert.type.062) = import_ref Core//prelude/parts/int, loc25_39, loaded [symbolic = @As.impl.686.%Convert (constants.%Convert.527)] +// CHECK:STDOUT: %As.impl_witness_table.eb4 = impl_witness_table (%Core.import_ref.78a), @As.impl.686 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -354,10 +354,10 @@ var b: B = {.x = ()} as B; // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -372,8 +372,8 @@ var b: B = {.x = ()} as B; // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/as/basics.carbon b/toolchain/check/testdata/as/basics.carbon index d028a867e59d..c7cf05b3a442 100644 --- a/toolchain/check/testdata/as/basics.carbon +++ b/toolchain/check/testdata/as/basics.carbon @@ -209,10 +209,10 @@ let n: {.x: ()} = {.x = ()} as {.x = ()}; // CHECK:STDOUT: %tuple.type.24b: type = tuple_type (type, type) [concrete] // CHECK:STDOUT: %tuple.type.b67: type = tuple_type (%X, %X) [concrete] // CHECK:STDOUT: %pattern_type.bb7: type = pattern_type %tuple.type.b67 [concrete] -// CHECK:STDOUT: %Op.type.9e1: type = fn_type @Op.2, @impl(%X) [concrete] +// CHECK:STDOUT: %Op.type.9e1: type = fn_type @Op.2, @Destroy.impl(%X) [concrete] // CHECK:STDOUT: %Op.33a: %Op.type.9e1 = struct_value () [concrete] // CHECK:STDOUT: %ptr.d17: type = ptr_type %X [concrete] -// CHECK:STDOUT: %Op.type.df3: type = fn_type @Op.2, @impl(%tuple.type.b67) [concrete] +// CHECK:STDOUT: %Op.type.df3: type = fn_type @Op.2, @Destroy.impl(%tuple.type.b67) [concrete] // CHECK:STDOUT: %Op.279: %Op.type.df3 = struct_value () [concrete] // CHECK:STDOUT: %ptr.120: type = ptr_type %tuple.type.b67 [concrete] // CHECK:STDOUT: } @@ -318,7 +318,7 @@ let n: {.x: ()} = {.x = ()} as {.x = ()}; // CHECK:STDOUT: %pattern_type.1c6: type = pattern_type %ptr.d17 [concrete] // CHECK:STDOUT: %Make.type: type = fn_type @Make [concrete] // CHECK:STDOUT: %Make: %Make.type = struct_value () [concrete] -// CHECK:STDOUT: %Op.type.9e1: type = fn_type @Op.2, @impl(%X) [concrete] +// CHECK:STDOUT: %Op.type.9e1: type = fn_type @Op.2, @Destroy.impl(%X) [concrete] // CHECK:STDOUT: %Op.33a: %Op.type.9e1 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/basics/dump_sem_ir_ranges.carbon b/toolchain/check/testdata/basics/dump_sem_ir_ranges.carbon index ecba8de2bcc4..d290d236062a 100644 --- a/toolchain/check/testdata/basics/dump_sem_ir_ranges.carbon +++ b/toolchain/check/testdata/basics/dump_sem_ir_ranges.carbon @@ -98,7 +98,7 @@ fn F(); // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %A: %A.type = struct_value () [concrete] // CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] -// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @impl(%empty_tuple.type) [concrete] +// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @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: %B.type: type = fn_type @B [concrete] @@ -214,7 +214,7 @@ fn F(); // CHECK:STDOUT: %C.type: type = fn_type @C [concrete] // CHECK:STDOUT: %C: %C.type = struct_value () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] -// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @impl(%empty_tuple.type) [concrete] +// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @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: } diff --git a/toolchain/check/testdata/basics/duplicate_name_same_line.carbon b/toolchain/check/testdata/basics/duplicate_name_same_line.carbon index 59fc73dc7dfc..c8fe209ad2b7 100644 --- a/toolchain/check/testdata/basics/duplicate_name_same_line.carbon +++ b/toolchain/check/testdata/basics/duplicate_name_same_line.carbon @@ -25,7 +25,7 @@ fn A() { // CHECK:STDOUT: constants { // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] -// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @impl(%empty_tuple.type) [concrete] +// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @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: } diff --git a/toolchain/check/testdata/basics/parens.carbon b/toolchain/check/testdata/basics/parens.carbon index fae2f1eb0701..c339e431ae98 100644 --- a/toolchain/check/testdata/basics/parens.carbon +++ b/toolchain/check/testdata/basics/parens.carbon @@ -28,10 +28,10 @@ var b: i32 = ((2)); // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -54,8 +54,8 @@ var b: i32 = ((2)); // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/builtins/bool/eq.carbon b/toolchain/check/testdata/builtins/bool/eq.carbon index ad4725fb0e1e..e96e0f6e6b80 100644 --- a/toolchain/check/testdata/builtins/bool/eq.carbon +++ b/toolchain/check/testdata/builtins/bool/eq.carbon @@ -110,7 +110,7 @@ var d: C(false == false) = True(); // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.9cf: %Equal.type.f5c = import_ref Core//prelude/operators/comparison, loc36_45, loaded [concrete = constants.%Equal.4ef] // CHECK:STDOUT: %Core.import_ref.f59 = import_ref Core//prelude/operators/comparison, loc37_48, unloaded -// CHECK:STDOUT: %EqWith.impl_witness_table = impl_witness_table (%Core.import_ref.9cf, %Core.import_ref.f59), @impl.4e5 [concrete] +// CHECK:STDOUT: %EqWith.impl_witness_table = impl_witness_table (%Core.import_ref.9cf, %Core.import_ref.f59), @EqWith.impl.4e5 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/builtins/bool/neq.carbon b/toolchain/check/testdata/builtins/bool/neq.carbon index 2a92f9f6f29c..7dbc1cbc88d4 100644 --- a/toolchain/check/testdata/builtins/bool/neq.carbon +++ b/toolchain/check/testdata/builtins/bool/neq.carbon @@ -112,7 +112,7 @@ var d: C(false != false) = False(); // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.a67 = import_ref Core//prelude/operators/comparison, loc36_45, unloaded // CHECK:STDOUT: %Core.import_ref.76f: %NotEqual.type.bb4 = import_ref Core//prelude/operators/comparison, loc37_48, loaded [concrete = constants.%NotEqual.c32] -// CHECK:STDOUT: %EqWith.impl_witness_table = impl_witness_table (%Core.import_ref.a67, %Core.import_ref.76f), @impl.4e5 [concrete] +// CHECK:STDOUT: %EqWith.impl_witness_table = impl_witness_table (%Core.import_ref.a67, %Core.import_ref.76f), @EqWith.impl.4e5 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/builtins/int/convert_checked.carbon b/toolchain/check/testdata/builtins/int/convert_checked.carbon index 6c69eaf780f0..2bb2f7fc7c4b 100644 --- a/toolchain/check/testdata/builtins/int/convert_checked.carbon +++ b/toolchain/check/testdata/builtins/int/convert_checked.carbon @@ -275,10 +275,10 @@ let convert_not_constant_widen: i64 = Int32ToInt64(not_constant); // CHECK:STDOUT: %ImplicitAs.type.9ba: type = facet_type <@ImplicitAs, @ImplicitAs(%i32)> [concrete] // CHECK:STDOUT: %Convert.type.6da: type = fn_type @Convert.1, @ImplicitAs(%i32) [concrete] // CHECK:STDOUT: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0b2: type = fn_type @Convert.2, @impl.c81(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0b2: type = fn_type @Convert.2, @ImplicitAs.impl.c81(%To) [symbolic] // CHECK:STDOUT: %Convert.6d7: %Convert.type.0b2 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.e34: = impl_witness imports.%ImplicitAs.impl_witness_table.e36, @impl.c81(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.ed5: type = fn_type @Convert.2, @impl.c81(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.e34: = impl_witness imports.%ImplicitAs.impl_witness_table.e36, @ImplicitAs.impl.c81(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.ed5: type = fn_type @Convert.2, @ImplicitAs.impl.c81(%int_32) [concrete] // CHECK:STDOUT: %Convert.16d: %Convert.type.ed5 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.9ba = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.e34) [concrete] // CHECK:STDOUT: %.d6a: type = fn_type_with_self_type %Convert.type.6da, %ImplicitAs.facet [concrete] @@ -305,8 +305,8 @@ let convert_not_constant_widen: i64 = Int32ToInt64(not_constant); // CHECK:STDOUT: %Main.Int32ToUint32: %Int32ToUint32.type = import_ref Main//int_ops, Int32ToUint32, loaded [concrete = constants.%Int32ToUint32] // CHECK:STDOUT: %Main.Int32ToInt16: %Int32ToInt16.type = import_ref Main//int_ops, Int32ToInt16, loaded [concrete = constants.%Int32ToInt16] // CHECK:STDOUT: %Main.Int32ToInt64: %Int32ToInt64.type = import_ref Main//int_ops, Int32ToInt64, loaded [concrete = constants.%Int32ToInt64] -// CHECK:STDOUT: %Core.import_ref.a86: @impl.c81.%Convert.type (%Convert.type.0b2) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.c81.%Convert (constants.%Convert.6d7)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.e36 = impl_witness_table (%Core.import_ref.a86), @impl.c81 [concrete] +// CHECK:STDOUT: %Core.import_ref.a86: @ImplicitAs.impl.c81.%Convert.type (%Convert.type.0b2) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.c81.%Convert (constants.%Convert.6d7)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.e36 = impl_witness_table (%Core.import_ref.a86), @ImplicitAs.impl.c81 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/builtins/print/char.carbon b/toolchain/check/testdata/builtins/print/char.carbon index d20e7f730d5e..d163865bb273 100644 --- a/toolchain/check/testdata/builtins/print/char.carbon +++ b/toolchain/check/testdata/builtins/print/char.carbon @@ -34,10 +34,10 @@ fn Main() { // 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: %To.c80: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.3, @impl.4f9(%To.c80) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.3, @ImplicitAs.impl.4f9(%To.c80) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.3, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.3, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.921: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet.921 [concrete] @@ -64,8 +64,8 @@ fn Main() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/types/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/operators/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/types/int, loc19_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/types/int, loc19_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: %Core.PrintChar: %PrintChar.type.089 = import_ref Core//io, PrintChar, loaded [concrete = constants.%PrintChar.d75] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/builtins/print/int.carbon b/toolchain/check/testdata/builtins/print/int.carbon index 3a3fdc55d4d3..38fea2d19656 100644 --- a/toolchain/check/testdata/builtins/print/int.carbon +++ b/toolchain/check/testdata/builtins/print/int.carbon @@ -35,10 +35,10 @@ fn Main() { // 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: %To.c80: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.3, @impl.4f9(%To.c80) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.3, @ImplicitAs.impl.4f9(%To.c80) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.3, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.3, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.921: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet.921 [concrete] @@ -65,8 +65,8 @@ fn Main() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/types/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/operators/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/types/int, loc19_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/types/int, loc19_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: %Core.Print: %Print.type.6ed = import_ref Core//io, Print, loaded [concrete = constants.%Print.723] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/choice/basic.carbon b/toolchain/check/testdata/choice/basic.carbon index b047d281163a..4f054e9a2cb9 100644 --- a/toolchain/check/testdata/choice/basic.carbon +++ b/toolchain/check/testdata/choice/basic.carbon @@ -146,10 +146,10 @@ let never: Never = {}; // CHECK:STDOUT: %ImplicitAs.type.54b: type = facet_type <@ImplicitAs, @ImplicitAs(%u2)> [concrete] // CHECK:STDOUT: %Convert.type.f0e: type = fn_type @Convert.1, @ImplicitAs(%u2) [concrete] // CHECK:STDOUT: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.30e: type = fn_type @Convert.2, @impl.86e(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.30e: type = fn_type @Convert.2, @ImplicitAs.impl.86e(%To) [symbolic] // CHECK:STDOUT: %Convert.d1a: %Convert.type.30e = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.801: = impl_witness imports.%ImplicitAs.impl_witness_table.bb8, @impl.86e(%int_2.ecc) [concrete] -// CHECK:STDOUT: %Convert.type.70b: type = fn_type @Convert.2, @impl.86e(%int_2.ecc) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.801: = impl_witness imports.%ImplicitAs.impl_witness_table.bb8, @ImplicitAs.impl.86e(%int_2.ecc) [concrete] +// CHECK:STDOUT: %Convert.type.70b: type = fn_type @Convert.2, @ImplicitAs.impl.86e(%int_2.ecc) [concrete] // CHECK:STDOUT: %Convert.474: %Convert.type.70b = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.54b = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.801) [concrete] // CHECK:STDOUT: %.3e0: type = fn_type_with_self_type %Convert.type.f0e, %ImplicitAs.facet [concrete] @@ -176,8 +176,8 @@ let never: Never = {}; // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { -// CHECK:STDOUT: %Core.import_ref.c3d: @impl.86e.%Convert.type (%Convert.type.30e) = import_ref Core//prelude/parts/uint, loc16_40, loaded [symbolic = @impl.86e.%Convert (constants.%Convert.d1a)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.bb8 = impl_witness_table (%Core.import_ref.c3d), @impl.86e [concrete] +// CHECK:STDOUT: %Core.import_ref.c3d: @ImplicitAs.impl.86e.%Convert.type (%Convert.type.30e) = import_ref Core//prelude/parts/uint, loc16_40, loaded [symbolic = @ImplicitAs.impl.86e.%Convert (constants.%Convert.d1a)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.bb8 = impl_witness_table (%Core.import_ref.c3d), @ImplicitAs.impl.86e [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/class/access_modifers.carbon b/toolchain/check/testdata/class/access_modifers.carbon index c1140af30c34..4a87a26f4857 100644 --- a/toolchain/check/testdata/class/access_modifers.carbon +++ b/toolchain/check/testdata/class/access_modifers.carbon @@ -167,10 +167,10 @@ class A { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -194,7 +194,7 @@ class A { // CHECK:STDOUT: %Run.type: type = fn_type @Run [concrete] // CHECK:STDOUT: %Run: %Run.type = struct_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.6cf: type = fn_type @Op.3, @impl.49c(%Circle) [concrete] +// CHECK:STDOUT: %Op.type.6cf: type = fn_type @Op.3, @Destroy.impl(%Circle) [concrete] // CHECK:STDOUT: %Op.e38: %Op.type.6cf = struct_value () [concrete] // CHECK:STDOUT: %ptr.54d: type = ptr_type %Circle [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.e38, @Op.3(%Circle) [concrete] @@ -210,8 +210,8 @@ class A { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -433,10 +433,10 @@ class A { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -455,8 +455,8 @@ class A { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -568,10 +568,10 @@ class A { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -592,8 +592,8 @@ class A { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -662,10 +662,10 @@ class A { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -686,8 +686,8 @@ class A { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/class/adapter/adapt_copy.carbon b/toolchain/check/testdata/class/adapter/adapt_copy.carbon index 889c619f7c74..ec8ec000debd 100644 --- a/toolchain/check/testdata/class/adapter/adapt_copy.carbon +++ b/toolchain/check/testdata/class/adapter/adapt_copy.carbon @@ -139,7 +139,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.b65: type = fn_type @Op.2, @impl.49c(%AdaptCopyable) [concrete] +// CHECK:STDOUT: %Op.type.b65: type = fn_type @Op.2, @Destroy.impl(%AdaptCopyable) [concrete] // CHECK:STDOUT: %Op.f60: %Op.type.b65 = struct_value () [concrete] // CHECK:STDOUT: %ptr.4c1: type = ptr_type %AdaptCopyable [concrete] // CHECK:STDOUT: %Op.specific_fn.e4c: = specific_function %Op.f60, @Op.2(%AdaptCopyable) [concrete] @@ -152,7 +152,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %InTuple.type: type = fn_type @InTuple [concrete] // CHECK:STDOUT: %InTuple: %InTuple.type = struct_value () [concrete] // CHECK:STDOUT: %ptr.c30: type = ptr_type %tuple.type.2a3 [concrete] -// CHECK:STDOUT: %Op.type.f33: type = fn_type @Op.2, @impl.49c(%tuple.type.2a3) [concrete] +// CHECK:STDOUT: %Op.type.f33: type = fn_type @Op.2, @Destroy.impl(%tuple.type.2a3) [concrete] // CHECK:STDOUT: %Op.f7d: %Op.type.f33 = struct_value () [concrete] // CHECK:STDOUT: %Op.specific_fn.2af: = specific_function %Op.f7d, @Op.2(%tuple.type.2a3) [concrete] // CHECK:STDOUT: } @@ -309,7 +309,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.0f1: type = fn_type @Op.2, @impl.49c(%AdaptTuple) [concrete] +// CHECK:STDOUT: %Op.type.0f1: type = fn_type @Op.2, @Destroy.impl(%AdaptTuple) [concrete] // CHECK:STDOUT: %Op.621: %Op.type.0f1 = struct_value () [concrete] // CHECK:STDOUT: %ptr.ca3: type = ptr_type %AdaptTuple [concrete] // CHECK:STDOUT: %Op.specific_fn.283: = specific_function %Op.621, @Op.2(%AdaptTuple) [concrete] @@ -320,7 +320,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %pattern_type.c9e: type = pattern_type %tuple.type.f69 [concrete] // CHECK:STDOUT: %InTuple.type: type = fn_type @InTuple [concrete] // CHECK:STDOUT: %InTuple: %InTuple.type = struct_value () [concrete] -// CHECK:STDOUT: %Op.type.390: type = fn_type @Op.2, @impl.49c(%tuple.type.f69) [concrete] +// CHECK:STDOUT: %Op.type.390: type = fn_type @Op.2, @Destroy.impl(%tuple.type.f69) [concrete] // CHECK:STDOUT: %Op.d9f: %Op.type.390 = struct_value () [concrete] // CHECK:STDOUT: %ptr.ed5: type = ptr_type %tuple.type.f69 [concrete] // CHECK:STDOUT: %Op.specific_fn.20d: = specific_function %Op.d9f, @Op.2(%tuple.type.f69) [concrete] @@ -522,7 +522,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %G.type: type = fn_type @G [concrete] // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.b79: type = fn_type @Op.2, @impl(%AdaptNoncopyable) [concrete] +// CHECK:STDOUT: %Op.type.b79: type = fn_type @Op.2, @Destroy.impl(%AdaptNoncopyable) [concrete] // CHECK:STDOUT: %Op.77f: %Op.type.b79 = struct_value () [concrete] // CHECK:STDOUT: %ptr.ed9: type = ptr_type %AdaptNoncopyable [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.77f, @Op.2(%AdaptNoncopyable) [concrete] @@ -622,7 +622,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %H.type: type = fn_type @H [concrete] // CHECK:STDOUT: %H: %H.type = struct_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.b45: type = fn_type @Op.2, @impl(%AdaptNoncopyableIndirect) [concrete] +// CHECK:STDOUT: %Op.type.b45: type = fn_type @Op.2, @Destroy.impl(%AdaptNoncopyableIndirect) [concrete] // CHECK:STDOUT: %Op.003: %Op.type.b45 = struct_value () [concrete] // CHECK:STDOUT: %ptr.921: type = ptr_type %AdaptNoncopyableIndirect [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.003, @Op.2(%AdaptNoncopyableIndirect) [concrete] @@ -739,7 +739,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %I.type: type = fn_type @I [concrete] // CHECK:STDOUT: %I: %I.type = struct_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.38c: type = fn_type @Op.2, @impl.49c(%AdaptStruct) [concrete] +// CHECK:STDOUT: %Op.type.38c: type = fn_type @Op.2, @Destroy.impl(%AdaptStruct) [concrete] // CHECK:STDOUT: %Op.d16: %Op.type.38c = struct_value () [concrete] // CHECK:STDOUT: %ptr.e10: type = ptr_type %AdaptStruct [concrete] // CHECK:STDOUT: %Op.specific_fn.ad6: = specific_function %Op.d16, @Op.2(%AdaptStruct) [concrete] @@ -751,7 +751,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %pattern_type.31d: type = pattern_type %tuple.type.80b [concrete] // CHECK:STDOUT: %InTuple.type: type = fn_type @InTuple [concrete] // CHECK:STDOUT: %InTuple: %InTuple.type = struct_value () [concrete] -// CHECK:STDOUT: %Op.type.628: type = fn_type @Op.2, @impl.49c(%tuple.type.80b) [concrete] +// CHECK:STDOUT: %Op.type.628: type = fn_type @Op.2, @Destroy.impl(%tuple.type.80b) [concrete] // CHECK:STDOUT: %Op.8ff: %Op.type.628 = struct_value () [concrete] // CHECK:STDOUT: %ptr.b09: type = ptr_type %tuple.type.80b [concrete] // CHECK:STDOUT: %Op.specific_fn.301: = specific_function %Op.8ff, @Op.2(%tuple.type.80b) [concrete] diff --git a/toolchain/check/testdata/class/adapter/init_adapt.carbon b/toolchain/check/testdata/class/adapter/init_adapt.carbon index 1dd6b50c8a7c..2feb803e73f3 100644 --- a/toolchain/check/testdata/class/adapter/init_adapt.carbon +++ b/toolchain/check/testdata/class/adapter/init_adapt.carbon @@ -117,10 +117,10 @@ var e: C = MakeAdaptC(); // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -148,8 +148,8 @@ var e: C = MakeAdaptC(); // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -319,10 +319,10 @@ var e: C = MakeAdaptC(); // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -350,8 +350,8 @@ var e: C = MakeAdaptC(); // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/class/base.carbon b/toolchain/check/testdata/class/base.carbon index a98ef8292273..60d093e5f2a5 100644 --- a/toolchain/check/testdata/class/base.carbon +++ b/toolchain/check/testdata/class/base.carbon @@ -77,10 +77,10 @@ class Derived { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -109,8 +109,8 @@ class Derived { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/class/base_method.carbon b/toolchain/check/testdata/class/base_method.carbon index 54a15e103471..bf9e636f542f 100644 --- a/toolchain/check/testdata/class/base_method.carbon +++ b/toolchain/check/testdata/class/base_method.carbon @@ -53,10 +53,10 @@ fn Call(p: Derived*) { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -83,8 +83,8 @@ fn Call(p: Derived*) { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/class/basic.carbon b/toolchain/check/testdata/class/basic.carbon index 18a1a46644d6..5f3ab405254d 100644 --- a/toolchain/check/testdata/class/basic.carbon +++ b/toolchain/check/testdata/class/basic.carbon @@ -54,10 +54,10 @@ fn Run() -> i32 { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -76,8 +76,8 @@ fn Run() -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/class/derived_to_base.carbon b/toolchain/check/testdata/class/derived_to_base.carbon index 2505ee8268d6..95944e4bc1ad 100644 --- a/toolchain/check/testdata/class/derived_to_base.carbon +++ b/toolchain/check/testdata/class/derived_to_base.carbon @@ -95,10 +95,10 @@ fn ConvertInit() { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -116,7 +116,7 @@ fn ConvertInit() { // CHECK:STDOUT: %int_3.822: %i32 = int_value 3 [concrete] // CHECK:STDOUT: %C.val: %C = struct_value (%B.val, %int_3.822) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.153: type = fn_type @Op.3, @impl.49c(%C) [concrete] +// CHECK:STDOUT: %Op.type.153: type = fn_type @Op.3, @Destroy.impl(%C) [concrete] // CHECK:STDOUT: %Op.5d7: %Op.type.153 = struct_value () [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.5d7, @Op.3(%C) [concrete] // CHECK:STDOUT: } @@ -131,8 +131,8 @@ fn ConvertInit() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/class/destroy_calls.carbon b/toolchain/check/testdata/class/destroy_calls.carbon index f724fde6fa0e..e59c33342aca 100644 --- a/toolchain/check/testdata/class/destroy_calls.carbon +++ b/toolchain/check/testdata/class/destroy_calls.carbon @@ -276,15 +276,15 @@ fn G() { F({}); } // CHECK:STDOUT: %WithAddr: type = class_type @WithAddr [concrete] // CHECK:STDOUT: %pattern_type.f93: type = pattern_type %WithAddr [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.8f4: type = fn_type @Op.2, @impl(%WithAddr) [concrete] +// CHECK:STDOUT: %Op.type.8f4: type = fn_type @Op.2, @Destroy.impl(%WithAddr) [concrete] // CHECK:STDOUT: %Op.bec: %Op.type.8f4 = struct_value () [concrete] // CHECK:STDOUT: %ptr.b4e: type = ptr_type %WithAddr [concrete] // CHECK:STDOUT: %Op.specific_fn.b42: = specific_function %Op.bec, @Op.2(%WithAddr) [concrete] -// CHECK:STDOUT: %Op.type.641: type = fn_type @Op.2, @impl(%ExplicitReturn) [concrete] +// CHECK:STDOUT: %Op.type.641: type = fn_type @Op.2, @Destroy.impl(%ExplicitReturn) [concrete] // CHECK:STDOUT: %Op.8e6: %Op.type.641 = struct_value () [concrete] // CHECK:STDOUT: %ptr.b0a: type = ptr_type %ExplicitReturn [concrete] // CHECK:STDOUT: %Op.specific_fn.523: = specific_function %Op.8e6, @Op.2(%ExplicitReturn) [concrete] -// CHECK:STDOUT: %Op.type.73f: type = fn_type @Op.2, @impl(%NoAddr) [concrete] +// CHECK:STDOUT: %Op.type.73f: type = fn_type @Op.2, @Destroy.impl(%NoAddr) [concrete] // CHECK:STDOUT: %Op.d78: %Op.type.73f = struct_value () [concrete] // CHECK:STDOUT: %ptr.4b8: type = ptr_type %NoAddr [concrete] // CHECK:STDOUT: %Op.specific_fn.8fe: = specific_function %Op.d78, @Op.2(%NoAddr) [concrete] @@ -411,15 +411,15 @@ fn G() { F({}); } // CHECK:STDOUT: %pattern_type.f93: type = pattern_type %WithAddr [concrete] // CHECK:STDOUT: %true: bool = bool_literal true [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.73f: type = fn_type @Op.2, @impl(%NoAddr) [concrete] +// CHECK:STDOUT: %Op.type.73f: type = fn_type @Op.2, @Destroy.impl(%NoAddr) [concrete] // CHECK:STDOUT: %Op.d78: %Op.type.73f = struct_value () [concrete] // CHECK:STDOUT: %ptr.4b8: type = ptr_type %NoAddr [concrete] // CHECK:STDOUT: %Op.specific_fn.8fe: = specific_function %Op.d78, @Op.2(%NoAddr) [concrete] -// CHECK:STDOUT: %Op.type.8f4: type = fn_type @Op.2, @impl(%WithAddr) [concrete] +// CHECK:STDOUT: %Op.type.8f4: type = fn_type @Op.2, @Destroy.impl(%WithAddr) [concrete] // CHECK:STDOUT: %Op.bec: %Op.type.8f4 = struct_value () [concrete] // CHECK:STDOUT: %ptr.b4e: type = ptr_type %WithAddr [concrete] // CHECK:STDOUT: %Op.specific_fn.b42: = specific_function %Op.bec, @Op.2(%WithAddr) [concrete] -// CHECK:STDOUT: %Op.type.641: type = fn_type @Op.2, @impl(%ExplicitReturn) [concrete] +// CHECK:STDOUT: %Op.type.641: type = fn_type @Op.2, @Destroy.impl(%ExplicitReturn) [concrete] // CHECK:STDOUT: %Op.8e6: %Op.type.641 = struct_value () [concrete] // CHECK:STDOUT: %ptr.b0a: type = ptr_type %ExplicitReturn [concrete] // CHECK:STDOUT: %Op.specific_fn.523: = specific_function %Op.8e6, @Op.2(%ExplicitReturn) [concrete] @@ -567,15 +567,15 @@ fn G() { F({}); } // CHECK:STDOUT: %Make.type.e14: type = fn_type @Make.3 [concrete] // CHECK:STDOUT: %Make.b0a: %Make.type.e14 = struct_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.8f4: type = fn_type @Op.2, @impl(%WithAddr) [concrete] +// CHECK:STDOUT: %Op.type.8f4: type = fn_type @Op.2, @Destroy.impl(%WithAddr) [concrete] // CHECK:STDOUT: %Op.bec: %Op.type.8f4 = struct_value () [concrete] // CHECK:STDOUT: %ptr.b4e: type = ptr_type %WithAddr [concrete] // CHECK:STDOUT: %Op.specific_fn.b42: = specific_function %Op.bec, @Op.2(%WithAddr) [concrete] -// CHECK:STDOUT: %Op.type.641: type = fn_type @Op.2, @impl(%ExplicitReturn) [concrete] +// CHECK:STDOUT: %Op.type.641: type = fn_type @Op.2, @Destroy.impl(%ExplicitReturn) [concrete] // CHECK:STDOUT: %Op.8e6: %Op.type.641 = struct_value () [concrete] // CHECK:STDOUT: %ptr.b0a: type = ptr_type %ExplicitReturn [concrete] // CHECK:STDOUT: %Op.specific_fn.523: = specific_function %Op.8e6, @Op.2(%ExplicitReturn) [concrete] -// CHECK:STDOUT: %Op.type.73f: type = fn_type @Op.2, @impl(%NoAddr) [concrete] +// CHECK:STDOUT: %Op.type.73f: type = fn_type @Op.2, @Destroy.impl(%NoAddr) [concrete] // CHECK:STDOUT: %Op.d78: %Op.type.73f = struct_value () [concrete] // CHECK:STDOUT: %ptr.4b8: type = ptr_type %NoAddr [concrete] // CHECK:STDOUT: %Op.specific_fn.8fe: = specific_function %Op.d78, @Op.2(%NoAddr) [concrete] @@ -704,11 +704,11 @@ fn G() { F({}); } // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: %pattern_type.9f4: type = pattern_type %NoSelf [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.59d: type = fn_type @Op.2, @impl(%Args) [concrete] +// CHECK:STDOUT: %Op.type.59d: type = fn_type @Op.2, @Destroy.impl(%Args) [concrete] // CHECK:STDOUT: %Op.a71: %Op.type.59d = struct_value () [concrete] // CHECK:STDOUT: %ptr.7b2: type = ptr_type %Args [concrete] // CHECK:STDOUT: %Op.specific_fn.242: = specific_function %Op.a71, @Op.2(%Args) [concrete] -// CHECK:STDOUT: %Op.type.f20: type = fn_type @Op.2, @impl(%NoSelf) [concrete] +// CHECK:STDOUT: %Op.type.f20: type = fn_type @Op.2, @Destroy.impl(%NoSelf) [concrete] // CHECK:STDOUT: %Op.2e0: %Op.type.f20 = struct_value () [concrete] // CHECK:STDOUT: %ptr.5ab: type = ptr_type %NoSelf [concrete] // CHECK:STDOUT: %Op.specific_fn.a58: = specific_function %Op.2e0, @Op.2(%NoSelf) [concrete] @@ -824,7 +824,7 @@ fn G() { F({}); } // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %Op.type.bae: type = fn_type @Op.1 [concrete] // CHECK:STDOUT: %T.8b3d5d.2: type = bind_symbolic_name T, 0 [symbolic] -// CHECK:STDOUT: %Op.type.bc9: type = fn_type @Op.2, @impl(%T.8b3d5d.2) [symbolic] +// CHECK:STDOUT: %Op.type.bc9: type = fn_type @Op.2, @Destroy.impl(%T.8b3d5d.2) [symbolic] // CHECK:STDOUT: %Op.46f: %Op.type.bc9 = struct_value () [symbolic] // CHECK:STDOUT: %ptr.7d2: type = ptr_type %C.f2e [template] // CHECK:STDOUT: %require_complete.448: = require_complete_type %ptr.7d2 [template] @@ -838,8 +838,8 @@ fn G() { F({}); } // CHECK:STDOUT: %F.specific_fn: = specific_function %F, @F(%empty_struct_type) [concrete] // CHECK:STDOUT: %C.7a7: type = class_type @C, @C(%empty_struct_type) [concrete] // CHECK:STDOUT: %pattern_type.99a: type = pattern_type %C.7a7 [concrete] -// CHECK:STDOUT: %Destroy.impl_witness.a3f: = impl_witness imports.%Destroy.impl_witness_table, @impl(%C.7a7) [concrete] -// CHECK:STDOUT: %Op.type.add: type = fn_type @Op.2, @impl(%C.7a7) [concrete] +// CHECK:STDOUT: %Destroy.impl_witness.a3f: = impl_witness imports.%Destroy.impl_witness_table, @Destroy.impl(%C.7a7) [concrete] +// CHECK:STDOUT: %Op.type.add: type = fn_type @Op.2, @Destroy.impl(%C.7a7) [concrete] // CHECK:STDOUT: %Op.b1c: %Op.type.add = struct_value () [concrete] // CHECK:STDOUT: %ptr.308: type = ptr_type %C.7a7 [concrete] // CHECK:STDOUT: %complete_type.903: = complete_type_witness %ptr.308 [concrete] @@ -855,8 +855,8 @@ fn G() { F({}); } // CHECK:STDOUT: import Core//prelude/... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] -// CHECK:STDOUT: %Core.import_ref.0b9: @impl.%Op.type (%Op.type.bc9) = import_ref Core//prelude/parts/destroy, loc8_29, loaded [symbolic = @impl.%Op (constants.%Op.46f)] -// CHECK:STDOUT: %Destroy.impl_witness_table = impl_witness_table (%Core.import_ref.0b9), @impl [concrete] +// CHECK:STDOUT: %Core.import_ref.0b9: @Destroy.impl.%Op.type (%Op.type.bc9) = import_ref Core//prelude/parts/destroy, loc8_29, loaded [symbolic = @Destroy.impl.%Op (constants.%Op.46f)] +// CHECK:STDOUT: %Destroy.impl_witness_table = impl_witness_table (%Core.import_ref.0b9), @Destroy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/class/fail_addr_self.carbon b/toolchain/check/testdata/class/fail_addr_self.carbon index 7d57bc4c7df2..20954c83c74d 100644 --- a/toolchain/check/testdata/class/fail_addr_self.carbon +++ b/toolchain/check/testdata/class/fail_addr_self.carbon @@ -57,7 +57,7 @@ fn F(c: Class, p: Class*) { // CHECK:STDOUT: %F.type.b25: type = fn_type @F.2 [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, @impl(%Class) [concrete] +// CHECK:STDOUT: %Op.type.7de: type = fn_type @Op.2, @Destroy.impl(%Class) [concrete] // CHECK:STDOUT: %Op.d64: %Op.type.7de = struct_value () [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.d64, @Op.2(%Class) [concrete] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/field_access.carbon b/toolchain/check/testdata/class/field_access.carbon index f5c2f468e065..93905e027617 100644 --- a/toolchain/check/testdata/class/field_access.carbon +++ b/toolchain/check/testdata/class/field_access.carbon @@ -46,10 +46,10 @@ fn Run() { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -63,11 +63,11 @@ fn Run() { // CHECK:STDOUT: %bound_method.b92: = bound_method %int_2.ecc, %Convert.specific_fn [concrete] // CHECK:STDOUT: %int_2.ef8: %i32 = int_value 2 [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.a17: type = fn_type @Op.3, @impl.49c(%i32) [concrete] +// CHECK:STDOUT: %Op.type.a17: type = fn_type @Op.3, @Destroy.impl(%i32) [concrete] // CHECK:STDOUT: %Op.e6a: %Op.type.a17 = struct_value () [concrete] // CHECK:STDOUT: %ptr.235: type = ptr_type %i32 [concrete] // CHECK:STDOUT: %Op.specific_fn.014: = specific_function %Op.e6a, @Op.3(%i32) [concrete] -// CHECK:STDOUT: %Op.type.7de: type = fn_type @Op.3, @impl.49c(%Class) [concrete] +// CHECK:STDOUT: %Op.type.7de: type = fn_type @Op.3, @Destroy.impl(%Class) [concrete] // CHECK:STDOUT: %Op.d64: %Op.type.7de = struct_value () [concrete] // CHECK:STDOUT: %ptr.e71: type = ptr_type %Class [concrete] // CHECK:STDOUT: %Op.specific_fn.618: = specific_function %Op.d64, @Op.3(%Class) [concrete] @@ -83,8 +83,8 @@ fn Run() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/class/field_access_in_value.carbon b/toolchain/check/testdata/class/field_access_in_value.carbon index 803766e41105..dccc46d17807 100644 --- a/toolchain/check/testdata/class/field_access_in_value.carbon +++ b/toolchain/check/testdata/class/field_access_in_value.carbon @@ -47,10 +47,10 @@ fn Test() { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -64,11 +64,11 @@ fn Test() { // CHECK:STDOUT: %bound_method.b92: = bound_method %int_2.ecc, %Convert.specific_fn [concrete] // CHECK:STDOUT: %int_2.ef8: %i32 = int_value 2 [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.a17: type = fn_type @Op.3, @impl.49c(%i32) [concrete] +// CHECK:STDOUT: %Op.type.a17: type = fn_type @Op.3, @Destroy.impl(%i32) [concrete] // CHECK:STDOUT: %Op.e6a: %Op.type.a17 = struct_value () [concrete] // CHECK:STDOUT: %ptr.235: type = ptr_type %i32 [concrete] // CHECK:STDOUT: %Op.specific_fn.014: = specific_function %Op.e6a, @Op.3(%i32) [concrete] -// CHECK:STDOUT: %Op.type.7de: type = fn_type @Op.3, @impl.49c(%Class) [concrete] +// CHECK:STDOUT: %Op.type.7de: type = fn_type @Op.3, @Destroy.impl(%Class) [concrete] // CHECK:STDOUT: %Op.d64: %Op.type.7de = struct_value () [concrete] // CHECK:STDOUT: %ptr.e71: type = ptr_type %Class [concrete] // CHECK:STDOUT: %Op.specific_fn.618: = specific_function %Op.d64, @Op.3(%Class) [concrete] @@ -84,8 +84,8 @@ fn Test() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/class/generic/call.carbon b/toolchain/check/testdata/class/generic/call.carbon index 322d7d9877d8..885dd96b874f 100644 --- a/toolchain/check/testdata/class/generic/call.carbon +++ b/toolchain/check/testdata/class/generic/call.carbon @@ -114,10 +114,10 @@ class Outer(T:! type) { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -144,8 +144,8 @@ class Outer(T:! type) { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/class/generic/complete_in_conversion.carbon b/toolchain/check/testdata/class/generic/complete_in_conversion.carbon index f25d1e9eb757..346208437bec 100644 --- a/toolchain/check/testdata/class/generic/complete_in_conversion.carbon +++ b/toolchain/check/testdata/class/generic/complete_in_conversion.carbon @@ -62,13 +62,13 @@ fn F(a: A(0)*) { // CHECK:STDOUT: %ImplicitAs.type.2fd: type = facet_type <@ImplicitAs, @ImplicitAs(Core.IntLiteral)> [concrete] // CHECK:STDOUT: %Convert.type.71e: type = fn_type @Convert.1, @ImplicitAs(Core.IntLiteral) [concrete] // CHECK:STDOUT: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] // CHECK:STDOUT: %From: Core.IntLiteral = bind_symbolic_name From, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.708: type = fn_type @Convert.3, @impl.971(%From) [symbolic] +// CHECK:STDOUT: %Convert.type.708: type = fn_type @Convert.3, @ImplicitAs.impl.971(%From) [symbolic] // CHECK:STDOUT: %Convert.c68: %Convert.type.708 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a11: = impl_witness imports.%ImplicitAs.impl_witness_table.1d9, @impl.971(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.4ad: type = fn_type @Convert.3, @impl.971(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a11: = impl_witness imports.%ImplicitAs.impl_witness_table.1d9, @ImplicitAs.impl.971(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.4ad: type = fn_type @Convert.3, @ImplicitAs.impl.971(%int_32) [concrete] // CHECK:STDOUT: %Convert.960: %Convert.type.4ad = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.f49: %ImplicitAs.type.2fd = facet_value %i32, (%ImplicitAs.impl_witness.a11) [concrete] // CHECK:STDOUT: %.0ea: type = fn_type_with_self_type %Convert.type.71e, %ImplicitAs.facet.f49 [concrete] @@ -84,8 +84,8 @@ fn F(a: A(0)*) { // CHECK:STDOUT: %int_0.5c6: Core.IntLiteral = int_value 0 [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.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.921: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet.921 [concrete] @@ -116,10 +116,10 @@ fn F(a: A(0)*) { // CHECK:STDOUT: %Core.IntLiteral: %IntLiteral.type = import_ref Core//prelude/parts/int_literal, IntLiteral, loaded [concrete = constants.%IntLiteral] // CHECK:STDOUT: %Core.Int: %Int.type.878 = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] -// CHECK:STDOUT: %Core.import_ref.85c: @impl.971.%Convert.type (%Convert.type.708) = import_ref Core//prelude/parts/int, loc20_44, loaded [symbolic = @impl.971.%Convert (constants.%Convert.c68)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1d9 = impl_witness_table (%Core.import_ref.85c), @impl.971 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.85c: @ImplicitAs.impl.971.%Convert.type (%Convert.type.708) = import_ref Core//prelude/parts/int, loc20_44, loaded [symbolic = @ImplicitAs.impl.971.%Convert (constants.%Convert.c68)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1d9 = impl_witness_table (%Core.import_ref.85c), @ImplicitAs.impl.971 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/class/generic/import.carbon b/toolchain/check/testdata/class/generic/import.carbon index acc188e182de..42ffb491f2f1 100644 --- a/toolchain/check/testdata/class/generic/import.carbon +++ b/toolchain/check/testdata/class/generic/import.carbon @@ -115,10 +115,10 @@ class Class(U:! type) { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -141,8 +141,8 @@ class Class(U:! type) { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -263,7 +263,7 @@ class Class(U:! type) { // CHECK:STDOUT: %ImplicitAs.type.595: type = generic_interface_type @ImplicitAs [concrete] // CHECK:STDOUT: %ImplicitAs.generic: %ImplicitAs.type.595 = struct_value () [concrete] // CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %Convert.type.9a6: type = fn_type @Convert.2, @impl.a8d(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.9a6: type = fn_type @Convert.2, @ImplicitAs.impl.a8d(%To) [symbolic] // CHECK:STDOUT: %Convert.458: %Convert.type.9a6 = struct_value () [symbolic] // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic] // CHECK:STDOUT: %Class.type: type = generic_class_type @Class [concrete] @@ -294,8 +294,8 @@ class Class(U:! type) { // CHECK:STDOUT: %struct_type.n.44a: type = struct_type {.n: Core.IntLiteral} [concrete] // CHECK:STDOUT: %ImplicitAs.type.b9e: type = facet_type <@ImplicitAs, @ImplicitAs(%i32)> [concrete] // CHECK:STDOUT: %Convert.type.ea0: type = fn_type @Convert.1, @ImplicitAs(%i32) [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.2ce: = impl_witness imports.%ImplicitAs.impl_witness_table.1ad, @impl.a8d(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.e14: type = fn_type @Convert.2, @impl.a8d(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.2ce: = impl_witness imports.%ImplicitAs.impl_witness_table.1ad, @ImplicitAs.impl.a8d(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.e14: type = fn_type @Convert.2, @ImplicitAs.impl.a8d(%int_32) [concrete] // CHECK:STDOUT: %Convert.4cb: %Convert.type.e14 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.b9e = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.2ce) [concrete] // CHECK:STDOUT: %.940: type = fn_type_with_self_type %Convert.type.ea0, %ImplicitAs.facet [concrete] @@ -314,8 +314,8 @@ class Class(U:! type) { // CHECK:STDOUT: import Core//prelude // CHECK:STDOUT: import Core//prelude/... // CHECK:STDOUT: } -// CHECK:STDOUT: %Main.import_ref.773: @impl.a8d.%Convert.type (%Convert.type.9a6) = import_ref Main//foo, inst140 [indirect], loaded [symbolic = @impl.a8d.%Convert (constants.%Convert.458)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1ad = impl_witness_table (%Main.import_ref.773), @impl.a8d [concrete] +// CHECK:STDOUT: %Main.import_ref.773: @ImplicitAs.impl.a8d.%Convert.type (%Convert.type.9a6) = import_ref Main//foo, inst140 [indirect], loaded [symbolic = @ImplicitAs.impl.a8d.%Convert (constants.%Convert.458)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1ad = impl_witness_table (%Main.import_ref.773), @ImplicitAs.impl.a8d [concrete] // CHECK:STDOUT: %Main.import_ref.5ab3ec.1: type = import_ref Main//foo, loc4_13, loaded [symbolic = @Class.%T.1 (constants.%T)] // CHECK:STDOUT: %Main.import_ref.5ab3ec.2: type = import_ref Main//foo, loc6_21, loaded [symbolic = @CompleteClass.%T (constants.%T)] // CHECK:STDOUT: %Main.import_ref.eb1: = import_ref Main//foo, loc9_1, loaded [concrete = constants.%complete_type.a68] @@ -476,7 +476,7 @@ class Class(U:! type) { // CHECK:STDOUT: %F.c41: %F.type.b25 = struct_value () [concrete] // CHECK:STDOUT: %F.specific_fn: = specific_function %F.f7c, @F.1(%i32) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.9c5: type = fn_type @Op.3, @impl.49c(%CompleteClass.e9e) [concrete] +// CHECK:STDOUT: %Op.type.9c5: type = fn_type @Op.3, @Destroy.impl(%CompleteClass.e9e) [concrete] // CHECK:STDOUT: %Op.d10: %Op.type.9c5 = struct_value () [concrete] // CHECK:STDOUT: %ptr.a97: type = ptr_type %CompleteClass.e9e [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.d10, @Op.3(%CompleteClass.e9e) [concrete] @@ -696,11 +696,11 @@ class Class(U:! type) { // CHECK:STDOUT: %ImplicitAs.type.cc7: type = generic_interface_type @ImplicitAs [concrete] // CHECK:STDOUT: %ImplicitAs.generic: %ImplicitAs.type.cc7 = struct_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.370: type = fn_type @Op.3, @impl.49c(%CompleteClass.a06) [concrete] +// CHECK:STDOUT: %Op.type.370: type = fn_type @Op.3, @Destroy.impl(%CompleteClass.a06) [concrete] // CHECK:STDOUT: %Op.867: %Op.type.370 = struct_value () [concrete] // CHECK:STDOUT: %ptr.d29: type = ptr_type %CompleteClass.a06 [concrete] // CHECK:STDOUT: %Op.specific_fn.0ab: = specific_function %Op.867, @Op.3(%CompleteClass.a06) [concrete] -// CHECK:STDOUT: %Op.type.310: type = fn_type @Op.3, @impl.49c(%CompleteClass.0fe) [concrete] +// CHECK:STDOUT: %Op.type.310: type = fn_type @Op.3, @Destroy.impl(%CompleteClass.0fe) [concrete] // CHECK:STDOUT: %Op.200: %Op.type.310 = struct_value () [concrete] // CHECK:STDOUT: %ptr.c79: type = ptr_type %CompleteClass.0fe [concrete] // CHECK:STDOUT: %Op.specific_fn.a4e: = specific_function %Op.200, @Op.3(%CompleteClass.0fe) [concrete] diff --git a/toolchain/check/testdata/class/generic/init.carbon b/toolchain/check/testdata/class/generic/init.carbon index c29ecb6c51b5..4ac0abbaa7d9 100644 --- a/toolchain/check/testdata/class/generic/init.carbon +++ b/toolchain/check/testdata/class/generic/init.carbon @@ -87,7 +87,7 @@ fn InitFromAdaptedSpecific(x: i32) -> i32 { // CHECK:STDOUT: %struct_type.k.0bf: type = struct_type {.k: %i32} [concrete] // CHECK:STDOUT: %complete_type.954: = complete_type_witness %struct_type.k.0bf [concrete] // CHECK:STDOUT: %pattern_type.0fa: type = pattern_type %Class.247 [concrete] -// CHECK:STDOUT: %Op.type.fdc: type = fn_type @Op.2, @impl.49c(%Class.247) [concrete] +// CHECK:STDOUT: %Op.type.fdc: type = fn_type @Op.2, @Destroy.impl(%Class.247) [concrete] // CHECK:STDOUT: %Op.af5: %Op.type.fdc = struct_value () [concrete] // CHECK:STDOUT: %ptr.f7c: type = ptr_type %Class.247 [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.af5, @Op.2(%Class.247) [concrete] diff --git a/toolchain/check/testdata/class/generic/member_type.carbon b/toolchain/check/testdata/class/generic/member_type.carbon index 21b65ed47e0c..ebad513ad414 100644 --- a/toolchain/check/testdata/class/generic/member_type.carbon +++ b/toolchain/check/testdata/class/generic/member_type.carbon @@ -101,10 +101,10 @@ fn Test() -> i32 { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -113,7 +113,7 @@ fn Test() -> i32 { // CHECK:STDOUT: %bound_method: = bound_method %int_1.5b8, %Convert.specific_fn [concrete] // CHECK:STDOUT: %int_1.5d2: %i32 = int_value 1 [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.a38: type = fn_type @Op.3, @impl.49c(%Inner.721) [concrete] +// CHECK:STDOUT: %Op.type.a38: type = fn_type @Op.3, @Destroy.impl(%Inner.721) [concrete] // CHECK:STDOUT: %Op.27e: %Op.type.a38 = struct_value () [concrete] // CHECK:STDOUT: %ptr.416: type = ptr_type %Inner.721 [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.27e, @Op.3(%Inner.721) [concrete] @@ -129,8 +129,8 @@ fn Test() -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -367,9 +367,9 @@ fn Test() -> i32 { // CHECK:STDOUT: %assoc0.95e: %Inner.assoc_type.115 = assoc_entity element0, @Inner.%F.decl [symbolic] // CHECK:STDOUT: %C.390: type = class_type @C, @C(%T) [symbolic] // 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, @impl.eed(%T) [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, @impl.eed(%T) [symbolic] +// CHECK:STDOUT: %F.type.77b: type = fn_type @F.2, @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] @@ -407,14 +407,14 @@ fn Test() -> i32 { // CHECK:STDOUT: %pattern_type.de9: type = pattern_type %C.70f [concrete] // 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, @impl.eed(%i32) [concrete] -// CHECK:STDOUT: %F.type.f11: type = fn_type @F.2, @impl.eed(%i32) [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.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: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.b66: type = fn_type @Op.3, @impl.49c(%C.70f) [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] // CHECK:STDOUT: %ptr.18f: type = ptr_type %C.70f [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.369, @Op.3(%C.70f) [concrete] @@ -496,19 +496,19 @@ fn Test() -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl.eed(@Outer.%T.loc4_13.1: type) { +// CHECK:STDOUT: generic impl @Inner.impl.eed(@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: %Inner.type: type = facet_type <@Inner, @Inner(%T)> [symbolic = %Inner.type (constants.%Inner.type.392)] // CHECK:STDOUT: %require_complete: = require_complete_type %Inner.type [symbolic = %require_complete (constants.%require_complete.8fa)] -// CHECK:STDOUT: %Inner.impl_witness: = impl_witness @C.%Inner.impl_witness_table, @impl.eed(%T) [symbolic = %Inner.impl_witness (constants.%Inner.impl_witness.b15)] +// 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, @impl.eed(%T) [symbolic = %F.type (constants.%F.type.77b)] -// CHECK:STDOUT: %F: @impl.eed.%F.type (%F.type.77b) = struct_value () [symbolic = %F (constants.%F.ed9)] +// CHECK:STDOUT: %F.type: type = fn_type @F.2, @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: @impl.eed.%F.type (%F.type.77b) = fn_decl @F.2 [symbolic = @impl.eed.%F (constants.%F.ed9)] { +// 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] @@ -534,7 +534,7 @@ fn Test() -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.a83: %Self.ref as %Inner.ref { +// 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: %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] @@ -582,13 +582,13 @@ fn Test() -> i32 { // CHECK:STDOUT: !definition: // CHECK:STDOUT: // CHECK:STDOUT: class { -// CHECK:STDOUT: impl_decl @impl.eed [concrete] {} { +// CHECK:STDOUT: impl_decl @Inner.impl.eed [concrete] {} { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%C.390 [symbolic = %C (constants.%C.390)] // CHECK:STDOUT: %.loc10: type = specific_constant @Outer.%Inner.decl, @Outer(constants.%T) [symbolic = %Inner.type (constants.%Inner.type.392)] // CHECK:STDOUT: %Inner.ref: type = name_ref Inner, %.loc10 [symbolic = %Inner.type (constants.%Inner.type.392)] // CHECK:STDOUT: } -// CHECK:STDOUT: %Inner.impl_witness_table = impl_witness_table (@impl.eed.%F.decl), @impl.eed [concrete] -// CHECK:STDOUT: %Inner.impl_witness: = impl_witness %Inner.impl_witness_table, @impl.eed(constants.%T) [symbolic = @impl.eed.%Inner.impl_witness (constants.%Inner.impl_witness.b15)] +// CHECK:STDOUT: %Inner.impl_witness_table = impl_witness_table (@Inner.impl.eed.%F.decl), @Inner.impl.eed [concrete] +// CHECK:STDOUT: %Inner.impl_witness: = impl_witness %Inner.impl_witness_table, @Inner.impl.eed(constants.%T) [symbolic = @Inner.impl.eed.%Inner.impl_witness (constants.%Inner.impl_witness.b15)] // 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 @@ -602,7 +602,7 @@ fn Test() -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @D { -// CHECK:STDOUT: impl_decl @impl.a83 [concrete] {} { +// CHECK:STDOUT: impl_decl @Inner.impl.a83 [concrete] {} { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%D [concrete = constants.%D] // CHECK:STDOUT: %Outer.ref: %Outer.type = name_ref Outer, file.%Outer.decl [concrete = constants.%Outer.generic] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] @@ -611,7 +611,7 @@ fn Test() -> i32 { // CHECK:STDOUT: %.loc17: type = specific_constant @Outer.%Inner.decl, @Outer(constants.%i32) [concrete = constants.%Inner.type.52d] // CHECK:STDOUT: %Inner.ref: type = name_ref Inner, %.loc17 [concrete = constants.%Inner.type.52d] // CHECK:STDOUT: } -// CHECK:STDOUT: %Inner.impl_witness_table = impl_witness_table (@impl.a83.%F.decl), @impl.a83 [concrete] +// CHECK:STDOUT: %Inner.impl_witness_table = impl_witness_table (@Inner.impl.a83.%F.decl), @Inner.impl.a83 [concrete] // CHECK:STDOUT: %Inner.impl_witness: = impl_witness %Inner.impl_witness_table [concrete = constants.%Inner.impl_witness.1dc] // 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] @@ -751,7 +751,7 @@ fn Test() -> i32 { // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.eed(constants.%T) { +// CHECK:STDOUT: specific @Inner.impl.eed(constants.%T) { // CHECK:STDOUT: %T => constants.%T // CHECK:STDOUT: %C => constants.%C.390 // CHECK:STDOUT: %Inner.type => constants.%Inner.type.392 @@ -820,7 +820,7 @@ fn Test() -> i32 { // CHECK:STDOUT: %pattern_type.loc6_24 => constants.%pattern_type.7ce // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.eed(constants.%i32) { +// CHECK:STDOUT: specific @Inner.impl.eed(constants.%i32) { // CHECK:STDOUT: %T => constants.%i32 // CHECK:STDOUT: %C => constants.%C.70f // CHECK:STDOUT: %Inner.type => constants.%Inner.type.52d diff --git a/toolchain/check/testdata/class/generic/method_deduce.carbon b/toolchain/check/testdata/class/generic/method_deduce.carbon index 2d088dd2638f..e51d30981801 100644 --- a/toolchain/check/testdata/class/generic/method_deduce.carbon +++ b/toolchain/check/testdata/class/generic/method_deduce.carbon @@ -55,7 +55,7 @@ fn CallGenericMethodWithNonDeducedParam(c: Class(A)) -> (A, B) { // CHECK:STDOUT: %Get.specific_fn.f73: = specific_function %Get.cf9, @Get(%T, %U) [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, @impl(%T) [symbolic] +// CHECK:STDOUT: %Op.type.bc9: type = fn_type @Op.2, @Destroy.impl(%T) [symbolic] // CHECK:STDOUT: %Op.46f: %Op.type.bc9 = struct_value () [symbolic] // CHECK:STDOUT: %require_complete.8fa: = require_complete_type %ptr.937 [symbolic] // CHECK:STDOUT: %Destroy.lookup_impl_witness: = lookup_impl_witness %tuple.type.30b, @Destroy [symbolic] @@ -76,8 +76,8 @@ fn CallGenericMethodWithNonDeducedParam(c: Class(A)) -> (A, B) { // CHECK:STDOUT: %GetNoDeduce.type.5d6: type = fn_type @GetNoDeduce, @Class(%A) [concrete] // CHECK:STDOUT: %GetNoDeduce.162: %GetNoDeduce.type.5d6 = struct_value () [concrete] // CHECK:STDOUT: %Get.specific_fn.213: = specific_function %Get.f37, @Get(%A, %B) [concrete] -// CHECK:STDOUT: %Destroy.impl_witness.ae3: = impl_witness imports.%Destroy.impl_witness_table, @impl(%tuple.type.cc6) [concrete] -// CHECK:STDOUT: %Op.type.87c: type = fn_type @Op.2, @impl(%tuple.type.cc6) [concrete] +// CHECK:STDOUT: %Destroy.impl_witness.ae3: = impl_witness imports.%Destroy.impl_witness_table, @Destroy.impl(%tuple.type.cc6) [concrete] +// CHECK:STDOUT: %Op.type.87c: type = fn_type @Op.2, @Destroy.impl(%tuple.type.cc6) [concrete] // CHECK:STDOUT: %Op.f13: %Op.type.87c = struct_value () [concrete] // CHECK:STDOUT: %ptr.3b5: type = ptr_type %tuple.type.cc6 [concrete] // CHECK:STDOUT: %complete_type.a4a: = complete_type_witness %ptr.3b5 [concrete] @@ -89,7 +89,7 @@ fn CallGenericMethodWithNonDeducedParam(c: Class(A)) -> (A, B) { // CHECK:STDOUT: %pattern_type.c10: type = pattern_type %A [concrete] // CHECK:STDOUT: %GetNoDeduce.specific_fn.438: = specific_function %GetNoDeduce.162, @GetNoDeduce(%A, %B) [concrete] // CHECK:STDOUT: %A.val: %A = struct_value () [concrete] -// CHECK:STDOUT: %Op.type.b96: type = fn_type @Op.2, @impl(%A) [concrete] +// CHECK:STDOUT: %Op.type.b96: type = fn_type @Op.2, @Destroy.impl(%A) [concrete] // CHECK:STDOUT: %Op.885: %Op.type.b96 = struct_value () [concrete] // CHECK:STDOUT: %ptr.6db: type = ptr_type %A [concrete] // CHECK:STDOUT: %Op.specific_fn.716: = specific_function %Op.885, @Op.2(%A) [concrete] @@ -103,8 +103,8 @@ fn CallGenericMethodWithNonDeducedParam(c: Class(A)) -> (A, B) { // CHECK:STDOUT: import Core//prelude/... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] -// CHECK:STDOUT: %Core.import_ref.0b9: @impl.%Op.type (%Op.type.bc9) = import_ref Core//prelude/parts/destroy, loc8_29, loaded [symbolic = @impl.%Op (constants.%Op.46f)] -// CHECK:STDOUT: %Destroy.impl_witness_table = impl_witness_table (%Core.import_ref.0b9), @impl [concrete] +// CHECK:STDOUT: %Core.import_ref.0b9: @Destroy.impl.%Op.type (%Op.type.bc9) = import_ref Core//prelude/parts/destroy, loc8_29, loaded [symbolic = @Destroy.impl.%Op (constants.%Op.46f)] +// CHECK:STDOUT: %Destroy.impl_witness_table = impl_witness_table (%Core.import_ref.0b9), @Destroy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/class/generic/stringify.carbon b/toolchain/check/testdata/class/generic/stringify.carbon index f3190eb4edf6..8dc4d7671c45 100644 --- a/toolchain/check/testdata/class/generic/stringify.carbon +++ b/toolchain/check/testdata/class/generic/stringify.carbon @@ -351,10 +351,10 @@ var g: E({.a = 1, .b = 2}) = {} as E({.a = 3, .b = 4} as D); // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -375,8 +375,8 @@ var g: E({.a = 1, .b = 2}) = {} as E({.a = 3, .b = 4} as D); // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -474,10 +474,10 @@ var g: E({.a = 1, .b = 2}) = {} as E({.a = 3, .b = 4} as D); // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -509,8 +509,8 @@ var g: E({.a = 1, .b = 2}) = {} as E({.a = 3, .b = 4} as D); // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/class/import.carbon b/toolchain/check/testdata/class/import.carbon index e61775e4d875..364f08032854 100644 --- a/toolchain/check/testdata/class/import.carbon +++ b/toolchain/check/testdata/class/import.carbon @@ -187,10 +187,10 @@ fn Run() { // CHECK:STDOUT: %ImplicitAs.type.9ba: type = facet_type <@ImplicitAs, @ImplicitAs(%i32)> [concrete] // CHECK:STDOUT: %Convert.type.6da: type = fn_type @Convert.1, @ImplicitAs(%i32) [concrete] // CHECK:STDOUT: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0b2: type = fn_type @Convert.2, @impl.c81(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0b2: type = fn_type @Convert.2, @ImplicitAs.impl.c81(%To) [symbolic] // CHECK:STDOUT: %Convert.6d7: %Convert.type.0b2 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.e34: = impl_witness imports.%ImplicitAs.impl_witness_table.e36, @impl.c81(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.ed5: type = fn_type @Convert.2, @impl.c81(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.e34: = impl_witness imports.%ImplicitAs.impl_witness_table.e36, @ImplicitAs.impl.c81(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.ed5: type = fn_type @Convert.2, @ImplicitAs.impl.c81(%int_32) [concrete] // CHECK:STDOUT: %Convert.16d: %Convert.type.ed5 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.9ba = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.e34) [concrete] // CHECK:STDOUT: %.d6a: type = fn_type_with_self_type %Convert.type.6da, %ImplicitAs.facet [concrete] @@ -217,22 +217,22 @@ fn Run() { // CHECK:STDOUT: %ptr.c62: type = ptr_type %Incomplete [concrete] // CHECK:STDOUT: %pattern_type.275: type = pattern_type %ptr.c62 [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.7f0: type = fn_type @Op.3, @impl.49c(%ptr.c62) [concrete] +// CHECK:STDOUT: %Op.type.7f0: type = fn_type @Op.3, @Destroy.impl(%ptr.c62) [concrete] // CHECK:STDOUT: %Op.90d: %Op.type.7f0 = struct_value () [concrete] // CHECK:STDOUT: %ptr.c22: type = ptr_type %ptr.c62 [concrete] // CHECK:STDOUT: %Op.specific_fn.b24: = specific_function %Op.90d, @Op.3(%ptr.c62) [concrete] -// CHECK:STDOUT: %Op.type.d2a: type = fn_type @Op.3, @impl.49c(%ptr.6cf) [concrete] +// CHECK:STDOUT: %Op.type.d2a: type = fn_type @Op.3, @Destroy.impl(%ptr.6cf) [concrete] // CHECK:STDOUT: %Op.3b0: %Op.type.d2a = struct_value () [concrete] // CHECK:STDOUT: %ptr.df0: type = ptr_type %ptr.6cf [concrete] // CHECK:STDOUT: %Op.specific_fn.3de: = specific_function %Op.3b0, @Op.3(%ptr.6cf) [concrete] -// CHECK:STDOUT: %Op.type.308: type = fn_type @Op.3, @impl.49c(%ForwardDeclared.7b34f2.1) [concrete] +// CHECK:STDOUT: %Op.type.308: type = fn_type @Op.3, @Destroy.impl(%ForwardDeclared.7b34f2.1) [concrete] // CHECK:STDOUT: %Op.9e2: %Op.type.308 = struct_value () [concrete] // CHECK:STDOUT: %Op.specific_fn.09a: = specific_function %Op.9e2, @Op.3(%ForwardDeclared.7b34f2.1) [concrete] -// CHECK:STDOUT: %Op.type.47c: type = fn_type @Op.3, @impl.49c(%Field) [concrete] +// CHECK:STDOUT: %Op.type.47c: type = fn_type @Op.3, @Destroy.impl(%Field) [concrete] // CHECK:STDOUT: %Op.576: %Op.type.47c = struct_value () [concrete] // CHECK:STDOUT: %ptr.d8b: type = ptr_type %Field [concrete] // CHECK:STDOUT: %Op.specific_fn.29d: = specific_function %Op.576, @Op.3(%Field) [concrete] -// CHECK:STDOUT: %Op.type.b74: type = fn_type @Op.3, @impl.49c(%Empty) [concrete] +// CHECK:STDOUT: %Op.type.b74: type = fn_type @Op.3, @Destroy.impl(%Empty) [concrete] // CHECK:STDOUT: %Op.6e4: %Op.type.b74 = struct_value () [concrete] // CHECK:STDOUT: %ptr.961: type = ptr_type %Empty [concrete] // CHECK:STDOUT: %Op.specific_fn.1a5: = specific_function %Op.6e4, @Op.3(%Empty) [concrete] @@ -255,8 +255,8 @@ fn Run() { // CHECK:STDOUT: %Main.import_ref.845 = import_ref Main//a, inst24 [no loc], unloaded // CHECK:STDOUT: %Main.import_ref.4d2: %Field.elem = import_ref Main//a, loc8_8, loaded [concrete = %.d33] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a86: @impl.c81.%Convert.type (%Convert.type.0b2) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.c81.%Convert (constants.%Convert.6d7)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.e36 = impl_witness_table (%Core.import_ref.a86), @impl.c81 [concrete] +// CHECK:STDOUT: %Core.import_ref.a86: @ImplicitAs.impl.c81.%Convert.type (%Convert.type.0b2) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.c81.%Convert (constants.%Convert.6d7)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.e36 = impl_witness_table (%Core.import_ref.a86), @ImplicitAs.impl.c81 [concrete] // CHECK:STDOUT: %.d33: %Field.elem = field_decl x, element0 [concrete] // CHECK:STDOUT: %Main.import_ref.8f24d3.2: = import_ref Main//a, loc16_1, loaded [concrete = constants.%complete_type.357] // CHECK:STDOUT: %Main.import_ref.39e731.1 = import_ref Main//a, inst59 [no loc], unloaded diff --git a/toolchain/check/testdata/class/import_base.carbon b/toolchain/check/testdata/class/import_base.carbon index 34603ea36490..18004e4b1820 100644 --- a/toolchain/check/testdata/class/import_base.carbon +++ b/toolchain/check/testdata/class/import_base.carbon @@ -159,10 +159,10 @@ fn Run() { // CHECK:STDOUT: %ImplicitAs.type.9ba: type = facet_type <@ImplicitAs, @ImplicitAs(%i32)> [concrete] // CHECK:STDOUT: %Convert.type.6da: type = fn_type @Convert.1, @ImplicitAs(%i32) [concrete] // CHECK:STDOUT: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0b2: type = fn_type @Convert.2, @impl.c81(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0b2: type = fn_type @Convert.2, @ImplicitAs.impl.c81(%To) [symbolic] // CHECK:STDOUT: %Convert.6d7: %Convert.type.0b2 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.e34: = impl_witness imports.%ImplicitAs.impl_witness_table.e36, @impl.c81(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.ed5: type = fn_type @Convert.2, @impl.c81(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.e34: = impl_witness imports.%ImplicitAs.impl_witness_table.e36, @ImplicitAs.impl.c81(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.ed5: type = fn_type @Convert.2, @ImplicitAs.impl.c81(%int_32) [concrete] // CHECK:STDOUT: %Convert.16d: %Convert.type.ed5 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.9ba = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.e34) [concrete] // CHECK:STDOUT: %.d6a: type = fn_type_with_self_type %Convert.type.6da, %ImplicitAs.facet [concrete] @@ -183,7 +183,7 @@ fn Run() { // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.ea2: type = fn_type @Op.3, @impl.49c(%Child) [concrete] +// CHECK:STDOUT: %Op.type.ea2: type = fn_type @Op.3, @Destroy.impl(%Child) [concrete] // CHECK:STDOUT: %Op.c04: %Op.type.ea2 = struct_value () [concrete] // CHECK:STDOUT: %ptr.dc0: type = ptr_type %Child [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.c04, @Op.3(%Child) [concrete] @@ -209,8 +209,8 @@ fn Run() { // CHECK:STDOUT: %Main.import_ref.7e5 = import_ref Main//a, loc13_20, unloaded // CHECK:STDOUT: %Main.import_ref.a21640.2: type = import_ref Main//a, loc13_16, loaded [concrete = constants.%Base] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a86: @impl.c81.%Convert.type (%Convert.type.0b2) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.c81.%Convert (constants.%Convert.6d7)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.e36 = impl_witness_table (%Core.import_ref.a86), @impl.c81 [concrete] +// CHECK:STDOUT: %Core.import_ref.a86: @ImplicitAs.impl.c81.%Convert.type (%Convert.type.0b2) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.c81.%Convert (constants.%Convert.6d7)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.e36 = impl_witness_table (%Core.import_ref.a86), @ImplicitAs.impl.c81 [concrete] // CHECK:STDOUT: %.720: %Base.elem = field_decl x, element0 [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/import_member_cycle.carbon b/toolchain/check/testdata/class/import_member_cycle.carbon index 8be9782ebfc3..98c30046ae25 100644 --- a/toolchain/check/testdata/class/import_member_cycle.carbon +++ b/toolchain/check/testdata/class/import_member_cycle.carbon @@ -82,7 +82,7 @@ fn Run() { // CHECK:STDOUT: %complete_type.e4b: = complete_type_witness %struct_type.a [concrete] // CHECK:STDOUT: %pattern_type.d3d: type = pattern_type %ptr.257 [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.a45: type = fn_type @Op.2, @impl(%ptr.257) [concrete] +// CHECK:STDOUT: %Op.type.a45: type = fn_type @Op.2, @Destroy.impl(%ptr.257) [concrete] // CHECK:STDOUT: %Op.109: %Op.type.a45 = struct_value () [concrete] // CHECK:STDOUT: %ptr.d80: type = ptr_type %ptr.257 [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.109, @Op.2(%ptr.257) [concrete] diff --git a/toolchain/check/testdata/class/inheritance_access.carbon b/toolchain/check/testdata/class/inheritance_access.carbon index 0a7a71fc6681..1ab7bda09aac 100644 --- a/toolchain/check/testdata/class/inheritance_access.carbon +++ b/toolchain/check/testdata/class/inheritance_access.carbon @@ -380,7 +380,7 @@ class B { // CHECK:STDOUT: %complete_type.98e: = complete_type_witness %struct_type.base.0ff [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @impl(%empty_tuple.type) [concrete] +// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @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.2(%empty_tuple.type) [concrete] @@ -511,10 +511,10 @@ class B { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -545,8 +545,8 @@ class B { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -1027,10 +1027,10 @@ class B { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -1061,8 +1061,8 @@ class B { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/class/init_as.carbon b/toolchain/check/testdata/class/init_as.carbon index 431ae208d9ec..1e2013804a06 100644 --- a/toolchain/check/testdata/class/init_as.carbon +++ b/toolchain/check/testdata/class/init_as.carbon @@ -44,10 +44,10 @@ fn F() -> i32 { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -60,7 +60,7 @@ fn F() -> i32 { // CHECK:STDOUT: %int_2.ef8: %i32 = int_value 2 [concrete] // CHECK:STDOUT: %Class.val: %Class = struct_value (%int_1.5d2, %int_2.ef8) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.7de: type = fn_type @Op.3, @impl.49c(%Class) [concrete] +// CHECK:STDOUT: %Op.type.7de: type = fn_type @Op.3, @Destroy.impl(%Class) [concrete] // CHECK:STDOUT: %Op.d64: %Op.type.7de = struct_value () [concrete] // CHECK:STDOUT: %ptr.e71: type = ptr_type %Class [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.d64, @Op.3(%Class) [concrete] @@ -76,8 +76,8 @@ fn F() -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/class/init_nested.carbon b/toolchain/check/testdata/class/init_nested.carbon index 6040a1bd5a63..4cbd13ee6419 100644 --- a/toolchain/check/testdata/class/init_nested.carbon +++ b/toolchain/check/testdata/class/init_nested.carbon @@ -51,7 +51,7 @@ fn MakeOuter() -> Outer { // CHECK:STDOUT: %MakeOuter.type: type = fn_type @MakeOuter [concrete] // CHECK:STDOUT: %MakeOuter: %MakeOuter.type = struct_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.e24: type = fn_type @Op.2, @impl(%Inner) [concrete] +// CHECK:STDOUT: %Op.type.e24: type = fn_type @Op.2, @Destroy.impl(%Inner) [concrete] // CHECK:STDOUT: %Op.7b1: %Op.type.e24 = struct_value () [concrete] // CHECK:STDOUT: %ptr.78b: type = ptr_type %Inner [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.7b1, @Op.2(%Inner) [concrete] diff --git a/toolchain/check/testdata/class/local.carbon b/toolchain/check/testdata/class/local.carbon index 3016d10f739b..7ff25e36caa4 100644 --- a/toolchain/check/testdata/class/local.carbon +++ b/toolchain/check/testdata/class/local.carbon @@ -55,10 +55,10 @@ class A { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -68,7 +68,7 @@ class A { // CHECK:STDOUT: %int_1.5d2: %i32 = int_value 1 [concrete] // CHECK:STDOUT: %B.val: %B = struct_value (%int_1.5d2) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.96c: type = fn_type @Op.3, @impl.49c(%B) [concrete] +// CHECK:STDOUT: %Op.type.96c: type = fn_type @Op.3, @Destroy.impl(%B) [concrete] // CHECK:STDOUT: %Op.c53: %Op.type.96c = struct_value () [concrete] // CHECK:STDOUT: %ptr.bac: type = ptr_type %B [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.c53, @Op.3(%B) [concrete] @@ -84,8 +84,8 @@ class A { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/class/method.carbon b/toolchain/check/testdata/class/method.carbon index 6eeb3c5b8c18..c7b8fd66aaf4 100644 --- a/toolchain/check/testdata/class/method.carbon +++ b/toolchain/check/testdata/class/method.carbon @@ -96,10 +96,10 @@ fn CallGOnInitializingExpr() -> i32 { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -109,7 +109,7 @@ fn CallGOnInitializingExpr() -> i32 { // CHECK:STDOUT: %int_1.5d2: %i32 = int_value 1 [concrete] // CHECK:STDOUT: %Class.val: %Class = struct_value (%int_1.5d2) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.7de: type = fn_type @Op.3, @impl.49c(%Class) [concrete] +// CHECK:STDOUT: %Op.type.7de: type = fn_type @Op.3, @Destroy.impl(%Class) [concrete] // CHECK:STDOUT: %Op.d64: %Op.type.7de = struct_value () [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.d64, @Op.3(%Class) [concrete] // CHECK:STDOUT: %CallWithAddr.type: type = fn_type @CallWithAddr [concrete] @@ -136,8 +136,8 @@ fn CallGOnInitializingExpr() -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/class/nested.carbon b/toolchain/check/testdata/class/nested.carbon index 1735282b3112..7d145b43a143 100644 --- a/toolchain/check/testdata/class/nested.carbon +++ b/toolchain/check/testdata/class/nested.carbon @@ -78,11 +78,11 @@ fn F(a: Outer*) { // CHECK:STDOUT: %pattern_type.e74: type = pattern_type %Outer [concrete] // CHECK:STDOUT: %pattern_type.906: type = pattern_type %Inner [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.9bc: type = fn_type @Op.2, @impl(%Inner) [concrete] +// CHECK:STDOUT: %Op.type.9bc: type = fn_type @Op.2, @Destroy.impl(%Inner) [concrete] // CHECK:STDOUT: %Op.754: %Op.type.9bc = struct_value () [concrete] // CHECK:STDOUT: %pattern_type.27f: type = pattern_type %ptr.36a [concrete] // CHECK:STDOUT: %Op.specific_fn.72f: = specific_function %Op.754, @Op.2(%Inner) [concrete] -// CHECK:STDOUT: %Op.type.50c: type = fn_type @Op.2, @impl(%Outer) [concrete] +// CHECK:STDOUT: %Op.type.50c: type = fn_type @Op.2, @Destroy.impl(%Outer) [concrete] // 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] diff --git a/toolchain/check/testdata/class/nested_name.carbon b/toolchain/check/testdata/class/nested_name.carbon index 6384cdf52177..b91b7cad6f38 100644 --- a/toolchain/check/testdata/class/nested_name.carbon +++ b/toolchain/check/testdata/class/nested_name.carbon @@ -49,7 +49,7 @@ fn G(o: Outer) { // CHECK:STDOUT: %G.type: type = fn_type @G [concrete] // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.9bc: type = fn_type @Op.2, @impl(%Inner) [concrete] +// CHECK:STDOUT: %Op.type.9bc: type = fn_type @Op.2, @Destroy.impl(%Inner) [concrete] // CHECK:STDOUT: %Op.754: %Op.type.9bc = struct_value () [concrete] // CHECK:STDOUT: %ptr.36a: type = ptr_type %Inner [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.754, @Op.2(%Inner) [concrete] diff --git a/toolchain/check/testdata/class/raw_self_type.carbon b/toolchain/check/testdata/class/raw_self_type.carbon index ae1d05f90ce8..4f36efbba9d8 100644 --- a/toolchain/check/testdata/class/raw_self_type.carbon +++ b/toolchain/check/testdata/class/raw_self_type.carbon @@ -39,7 +39,7 @@ fn MemberNamedSelf.F(x: Self, y: r#Self) {} // CHECK:STDOUT: %ptr.e71: type = ptr_type %Class [concrete] // CHECK:STDOUT: %pattern_type.796: type = pattern_type %ptr.e71 [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.faa: type = fn_type @Op.2, @impl(%ptr.e71) [concrete] +// CHECK:STDOUT: %Op.type.faa: type = fn_type @Op.2, @Destroy.impl(%ptr.e71) [concrete] // CHECK:STDOUT: %Op.5a3: %Op.type.faa = struct_value () [concrete] // CHECK:STDOUT: %ptr.0dd: type = ptr_type %ptr.e71 [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.5a3, @Op.2(%ptr.e71) [concrete] diff --git a/toolchain/check/testdata/class/reorder.carbon b/toolchain/check/testdata/class/reorder.carbon index c9e8575af7d9..f3ce76df343c 100644 --- a/toolchain/check/testdata/class/reorder.carbon +++ b/toolchain/check/testdata/class/reorder.carbon @@ -43,10 +43,10 @@ class Class { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -65,8 +65,8 @@ class Class { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/class/reorder_qualified.carbon b/toolchain/check/testdata/class/reorder_qualified.carbon index 5e2116dd7d42..7d17d1a0615e 100644 --- a/toolchain/check/testdata/class/reorder_qualified.carbon +++ b/toolchain/check/testdata/class/reorder_qualified.carbon @@ -92,10 +92,10 @@ class A { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -126,19 +126,19 @@ class A { // CHECK:STDOUT: %int_4.940: %i32 = int_value 4 [concrete] // CHECK:STDOUT: %D.val: %D = struct_value (%int_4.940) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.7e3: type = fn_type @Op.3, @impl.49c(%D) [concrete] +// CHECK:STDOUT: %Op.type.7e3: type = fn_type @Op.3, @Destroy.impl(%D) [concrete] // CHECK:STDOUT: %Op.47c: %Op.type.7e3 = struct_value () [concrete] // CHECK:STDOUT: %ptr.321: type = ptr_type %D [concrete] // CHECK:STDOUT: %Op.specific_fn.ceb: = specific_function %Op.47c, @Op.3(%D) [concrete] -// CHECK:STDOUT: %Op.type.2eb: type = fn_type @Op.3, @impl.49c(%C) [concrete] +// CHECK:STDOUT: %Op.type.2eb: type = fn_type @Op.3, @Destroy.impl(%C) [concrete] // CHECK:STDOUT: %Op.f77: %Op.type.2eb = struct_value () [concrete] // CHECK:STDOUT: %ptr.388: type = ptr_type %C [concrete] // CHECK:STDOUT: %Op.specific_fn.c65: = specific_function %Op.f77, @Op.3(%C) [concrete] -// CHECK:STDOUT: %Op.type.266: type = fn_type @Op.3, @impl.49c(%B) [concrete] +// CHECK:STDOUT: %Op.type.266: type = fn_type @Op.3, @Destroy.impl(%B) [concrete] // CHECK:STDOUT: %Op.4a4: %Op.type.266 = struct_value () [concrete] // CHECK:STDOUT: %ptr.01b: type = ptr_type %B [concrete] // CHECK:STDOUT: %Op.specific_fn.70c: = specific_function %Op.4a4, @Op.3(%B) [concrete] -// CHECK:STDOUT: %Op.type.b96: type = fn_type @Op.3, @impl.49c(%A) [concrete] +// CHECK:STDOUT: %Op.type.b96: type = fn_type @Op.3, @Destroy.impl(%A) [concrete] // CHECK:STDOUT: %Op.885: %Op.type.b96 = struct_value () [concrete] // CHECK:STDOUT: %ptr.6db: type = ptr_type %A [concrete] // CHECK:STDOUT: %Op.specific_fn.716: = specific_function %Op.885, @Op.3(%A) [concrete] @@ -154,8 +154,8 @@ class A { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/class/scope.carbon b/toolchain/check/testdata/class/scope.carbon index b0c1deda4e97..2e2535abc0af 100644 --- a/toolchain/check/testdata/class/scope.carbon +++ b/toolchain/check/testdata/class/scope.carbon @@ -53,10 +53,10 @@ fn Run() { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -73,7 +73,7 @@ fn Run() { // CHECK:STDOUT: %Run.type: type = fn_type @Run [concrete] // CHECK:STDOUT: %Run: %Run.type = struct_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.a17: type = fn_type @Op.3, @impl.49c(%i32) [concrete] +// CHECK:STDOUT: %Op.type.a17: type = fn_type @Op.3, @Destroy.impl(%i32) [concrete] // CHECK:STDOUT: %Op.e6a: %Op.type.a17 = struct_value () [concrete] // CHECK:STDOUT: %ptr.235: type = ptr_type %i32 [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.e6a, @Op.3(%i32) [concrete] @@ -89,8 +89,8 @@ fn Run() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/class/self_conversion.carbon b/toolchain/check/testdata/class/self_conversion.carbon index 9a6360c53643..65736410f24a 100644 --- a/toolchain/check/testdata/class/self_conversion.carbon +++ b/toolchain/check/testdata/class/self_conversion.carbon @@ -67,10 +67,10 @@ fn Call(p: Derived*) -> i32 { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -93,8 +93,8 @@ fn Call(p: Derived*) -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/class/static_method.carbon b/toolchain/check/testdata/class/static_method.carbon index 63563f1c2833..7622eaf37c2e 100644 --- a/toolchain/check/testdata/class/static_method.carbon +++ b/toolchain/check/testdata/class/static_method.carbon @@ -39,7 +39,7 @@ fn Run() -> i32 { // CHECK:STDOUT: %Run: %Run.type = struct_value () [concrete] // CHECK:STDOUT: %pattern_type.761: type = pattern_type %Class [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.7de: type = fn_type @Op.2, @impl(%Class) [concrete] +// CHECK:STDOUT: %Op.type.7de: type = fn_type @Op.2, @Destroy.impl(%Class) [concrete] // CHECK:STDOUT: %Op.d64: %Op.type.7de = struct_value () [concrete] // CHECK:STDOUT: %ptr.e71: type = ptr_type %Class [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.d64, @Op.2(%Class) [concrete] diff --git a/toolchain/check/testdata/class/syntactic_merge_literal.carbon b/toolchain/check/testdata/class/syntactic_merge_literal.carbon index ad69c7295967..807771be1219 100644 --- a/toolchain/check/testdata/class/syntactic_merge_literal.carbon +++ b/toolchain/check/testdata/class/syntactic_merge_literal.carbon @@ -55,10 +55,10 @@ class D(b:! C(1_000)) {} // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -83,8 +83,8 @@ class D(b:! C(1_000)) {} // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -201,10 +201,10 @@ class D(b:! C(1_000)) {} // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -231,8 +231,8 @@ class D(b:! C(1_000)) {} // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/class/virtual_modifiers.carbon b/toolchain/check/testdata/class/virtual_modifiers.carbon index bd9b9557e449..19086b5e3665 100644 --- a/toolchain/check/testdata/class/virtual_modifiers.carbon +++ b/toolchain/check/testdata/class/virtual_modifiers.carbon @@ -476,7 +476,7 @@ fn F(b: Modifiers.Base); // CHECK:STDOUT: %Base.val: %Base = struct_value (%Derived.vtable_ptr) [concrete] // CHECK:STDOUT: %Derived.val: %Derived = struct_value (%Base.val) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.102: type = fn_type @Op.2, @impl(%Derived) [concrete] +// CHECK:STDOUT: %Op.type.102: type = fn_type @Op.2, @Destroy.impl(%Derived) [concrete] // CHECK:STDOUT: %Op.539: %Op.type.102 = struct_value () [concrete] // CHECK:STDOUT: %ptr.404: type = ptr_type %Derived [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.539, @Op.2(%Derived) [concrete] @@ -699,7 +699,7 @@ fn F(b: Modifiers.Base); // CHECK:STDOUT: %Base.vtable_ptr: ref %ptr.454 = vtable_ptr @Base.vtable [concrete] // CHECK:STDOUT: %Base.val: %Base = struct_value (%Base.vtable_ptr) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.47e: type = fn_type @Op.2, @impl(%Base) [concrete] +// CHECK:STDOUT: %Op.type.47e: type = fn_type @Op.2, @Destroy.impl(%Base) [concrete] // CHECK:STDOUT: %Op.033: %Op.type.47e = struct_value () [concrete] // CHECK:STDOUT: %ptr.f03: type = ptr_type %Base [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.033, @Op.2(%Base) [concrete] @@ -911,15 +911,15 @@ fn F(b: Modifiers.Base); // CHECK:STDOUT: %B2.val.426: %B2 = struct_value (%B1.val.b9d) [concrete] // CHECK:STDOUT: %C.val: %C = struct_value (%B2.val.426) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.153: type = fn_type @Op.2, @impl(%C) [concrete] +// CHECK:STDOUT: %Op.type.153: type = fn_type @Op.2, @Destroy.impl(%C) [concrete] // CHECK:STDOUT: %Op.5d7: %Op.type.153 = struct_value () [concrete] // CHECK:STDOUT: %ptr.019: type = ptr_type %C [concrete] // CHECK:STDOUT: %Op.specific_fn.6eb: = specific_function %Op.5d7, @Op.2(%C) [concrete] -// CHECK:STDOUT: %Op.type.49c: type = fn_type @Op.2, @impl(%B2) [concrete] +// CHECK:STDOUT: %Op.type.49c: type = fn_type @Op.2, @Destroy.impl(%B2) [concrete] // CHECK:STDOUT: %Op.bb0: %Op.type.49c = struct_value () [concrete] // CHECK:STDOUT: %ptr.afe: type = ptr_type %B2 [concrete] // CHECK:STDOUT: %Op.specific_fn.a6f: = specific_function %Op.bb0, @Op.2(%B2) [concrete] -// CHECK:STDOUT: %Op.type.5ba: type = fn_type @Op.2, @impl(%B1) [concrete] +// CHECK:STDOUT: %Op.type.5ba: type = fn_type @Op.2, @Destroy.impl(%B1) [concrete] // CHECK:STDOUT: %Op.a5c: %Op.type.5ba = struct_value () [concrete] // CHECK:STDOUT: %ptr.890: type = ptr_type %B1 [concrete] // CHECK:STDOUT: %Op.specific_fn.075: = specific_function %Op.a5c, @Op.2(%B1) [concrete] @@ -1187,10 +1187,10 @@ fn F(b: Modifiers.Base); // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -1210,11 +1210,11 @@ fn F(b: Modifiers.Base); // CHECK:STDOUT: %bound_method.1da: = bound_method %int_4.0c1, %Convert.specific_fn [concrete] // CHECK:STDOUT: %int_4.940: %i32 = int_value 4 [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.193: type = fn_type @Op.3, @impl.49c(%Base) [concrete] +// CHECK:STDOUT: %Op.type.193: type = fn_type @Op.3, @Destroy.impl(%Base) [concrete] // CHECK:STDOUT: %Op.345: %Op.type.193 = struct_value () [concrete] // CHECK:STDOUT: %ptr.11f: type = ptr_type %Base [concrete] // CHECK:STDOUT: %Op.specific_fn.083: = specific_function %Op.345, @Op.3(%Base) [concrete] -// CHECK:STDOUT: %Op.type.a17: type = fn_type @Op.3, @impl.49c(%i32) [concrete] +// CHECK:STDOUT: %Op.type.a17: type = fn_type @Op.3, @Destroy.impl(%i32) [concrete] // CHECK:STDOUT: %Op.e6a: %Op.type.a17 = struct_value () [concrete] // CHECK:STDOUT: %ptr.235: type = ptr_type %i32 [concrete] // CHECK:STDOUT: %Op.specific_fn.014: = specific_function %Op.e6a, @Op.3(%i32) [concrete] @@ -1230,8 +1230,8 @@ fn F(b: Modifiers.Base); // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -1865,20 +1865,20 @@ fn F(b: Modifiers.Base); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %T1.decl: type = class_decl @T1 [concrete = constants.%T1] {} {} // CHECK:STDOUT: %T2.decl: type = class_decl @T2 [concrete = constants.%T2] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @ImplicitAs.impl [concrete] {} { // CHECK:STDOUT: %T2.ref: type = name_ref T2, file.%T2.decl [concrete = constants.%T2] // CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %ImplicitAs.ref: %ImplicitAs.type.cc7 = name_ref ImplicitAs, imports.%Core.ImplicitAs [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %T1.ref: type = name_ref T1, file.%T1.decl [concrete = constants.%T1] // CHECK:STDOUT: %ImplicitAs.type: type = facet_type <@ImplicitAs, @ImplicitAs(constants.%T1)> [concrete = constants.%ImplicitAs.type.e40] // CHECK:STDOUT: } -// CHECK:STDOUT: %ImplicitAs.impl_witness_table = impl_witness_table (@impl.%Convert.decl), @impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table = impl_witness_table (@ImplicitAs.impl.%Convert.decl), @ImplicitAs.impl [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness: = impl_witness %ImplicitAs.impl_witness_table [concrete = constants.%ImplicitAs.impl_witness] // CHECK:STDOUT: %Base.decl: type = class_decl @Base [concrete = constants.%Base] {} {} // CHECK:STDOUT: %Derived.decl: type = class_decl @Derived [concrete = constants.%Derived] {} {} // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %T2.ref as %ImplicitAs.type { +// 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: %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] @@ -1887,7 +1887,7 @@ fn F(b: Modifiers.Base); // CHECK:STDOUT: } { // CHECK:STDOUT: %T1.ref: type = name_ref T1, file.%T1.decl [concrete = constants.%T1] // CHECK:STDOUT: %self.param: %T2 = value_param call_param0 -// CHECK:STDOUT: %Self.ref: type = name_ref Self, @impl.%T2.ref [concrete = constants.%T2] +// CHECK:STDOUT: %Self.ref: type = name_ref Self, @ImplicitAs.impl.%T2.ref [concrete = constants.%T2] // CHECK:STDOUT: %self: %T2 = bind_name self, %self.param // CHECK:STDOUT: %return.param: ref %T1 = out_param call_param1 // CHECK:STDOUT: %return: ref %T1 = return_slot %return.param diff --git a/toolchain/check/testdata/deduce/array.carbon b/toolchain/check/testdata/deduce/array.carbon index 86e25456e4da..679b7548b4a9 100644 --- a/toolchain/check/testdata/deduce/array.carbon +++ b/toolchain/check/testdata/deduce/array.carbon @@ -152,10 +152,10 @@ fn G() -> i32 { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -176,11 +176,11 @@ fn G() -> i32 { // CHECK:STDOUT: %array: %array_type.002 = tuple_value (%C.val, %C.val, %C.val) [concrete] // CHECK:STDOUT: %F.specific_fn: = specific_function %F, @F(%C) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.153: type = fn_type @Op.3, @impl.49c(%C) [concrete] +// CHECK:STDOUT: %Op.type.153: type = fn_type @Op.3, @Destroy.impl(%C) [concrete] // CHECK:STDOUT: %Op.5d7: %Op.type.153 = struct_value () [concrete] // CHECK:STDOUT: %ptr.019: type = ptr_type %C [concrete] // CHECK:STDOUT: %Op.specific_fn.6eb: = specific_function %Op.5d7, @Op.3(%C) [concrete] -// CHECK:STDOUT: %Op.type.85d: type = fn_type @Op.3, @impl.49c(%array_type.002) [concrete] +// CHECK:STDOUT: %Op.type.85d: type = fn_type @Op.3, @Destroy.impl(%array_type.002) [concrete] // CHECK:STDOUT: %Op.1f9: %Op.type.85d = struct_value () [concrete] // CHECK:STDOUT: %Op.specific_fn.f55: = specific_function %Op.1f9, @Op.3(%array_type.002) [concrete] // CHECK:STDOUT: %complete_type.dd1: = complete_type_witness %array_type.002 [concrete] @@ -196,8 +196,8 @@ fn G() -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -373,10 +373,10 @@ fn G() -> i32 { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -398,7 +398,7 @@ fn G() -> i32 { // CHECK:STDOUT: %array: %array_type.002 = tuple_value (%C.val, %C.val, %C.val) [concrete] // CHECK:STDOUT: %F.specific_fn: = specific_function %F, @F(%int_3.1ba) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.85d: type = fn_type @Op.3, @impl.49c(%array_type.002) [concrete] +// CHECK:STDOUT: %Op.type.85d: type = fn_type @Op.3, @Destroy.impl(%array_type.002) [concrete] // CHECK:STDOUT: %Op.1f9: %Op.type.85d = struct_value () [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.1f9, @Op.3(%array_type.002) [concrete] // CHECK:STDOUT: %complete_type.dd1: = complete_type_witness %array_type.002 [concrete] @@ -419,8 +419,8 @@ fn G() -> i32 { // CHECK:STDOUT: %Core.IntLiteral: %IntLiteral.type = import_ref Core//prelude/parts/int_literal, IntLiteral, loaded [concrete = constants.%IntLiteral] // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -602,7 +602,7 @@ fn G() -> i32 { // CHECK:STDOUT: %array: %array_type.002 = tuple_value (%C.val, %C.val, %C.val) [concrete] // CHECK:STDOUT: %F.specific_fn: = specific_function %F, @F(%C, %int_3) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.85d: type = fn_type @Op.2, @impl(%array_type.002) [concrete] +// CHECK:STDOUT: %Op.type.85d: type = fn_type @Op.2, @Destroy.impl(%array_type.002) [concrete] // CHECK:STDOUT: %Op.1f9: %Op.type.85d = struct_value () [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.1f9, @Op.2(%array_type.002) [concrete] // CHECK:STDOUT: %complete_type.dd1: = complete_type_witness %array_type.002 [concrete] @@ -767,10 +767,10 @@ fn G() -> i32 { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -793,11 +793,11 @@ fn G() -> i32 { // CHECK:STDOUT: %pattern_type.114: type = pattern_type %array_type.15a [concrete] // CHECK:STDOUT: %F.specific_fn: = specific_function %F, @F(%C) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.153: type = fn_type @Op.3, @impl.49c(%C) [concrete] +// CHECK:STDOUT: %Op.type.153: type = fn_type @Op.3, @Destroy.impl(%C) [concrete] // CHECK:STDOUT: %Op.5d7: %Op.type.153 = struct_value () [concrete] // CHECK:STDOUT: %ptr.019: type = ptr_type %C [concrete] // CHECK:STDOUT: %Op.specific_fn.6eb: = specific_function %Op.5d7, @Op.3(%C) [concrete] -// CHECK:STDOUT: %Op.type.85d: type = fn_type @Op.3, @impl.49c(%array_type.002) [concrete] +// CHECK:STDOUT: %Op.type.85d: type = fn_type @Op.3, @Destroy.impl(%array_type.002) [concrete] // CHECK:STDOUT: %Op.1f9: %Op.type.85d = struct_value () [concrete] // CHECK:STDOUT: %Op.specific_fn.f55: = specific_function %Op.1f9, @Op.3(%array_type.002) [concrete] // CHECK:STDOUT: %complete_type.8eb: = complete_type_witness %array_type.15a [concrete] @@ -813,8 +813,8 @@ fn G() -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -991,10 +991,10 @@ fn G() -> i32 { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -1018,7 +1018,7 @@ fn G() -> i32 { // CHECK:STDOUT: %pattern_type.a63: type = pattern_type %array_type.002 [concrete] // CHECK:STDOUT: %F.specific_fn: = specific_function %F, @F(%int_3.1ba) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.419: type = fn_type @Op.3, @impl.49c(%array_type.fe4) [concrete] +// CHECK:STDOUT: %Op.type.419: type = fn_type @Op.3, @Destroy.impl(%array_type.fe4) [concrete] // CHECK:STDOUT: %Op.11a: %Op.type.419 = struct_value () [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.11a, @Op.3(%array_type.fe4) [concrete] // CHECK:STDOUT: %complete_type.dd1: = complete_type_witness %array_type.002 [concrete] @@ -1039,8 +1039,8 @@ fn G() -> i32 { // CHECK:STDOUT: %Core.IntLiteral: %IntLiteral.type = import_ref Core//prelude/parts/int_literal, IntLiteral, loaded [concrete = constants.%IntLiteral] // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -1219,10 +1219,10 @@ fn G() -> i32 { // CHECK:STDOUT: %ImplicitAs.type.2fd: type = facet_type <@ImplicitAs, @ImplicitAs(Core.IntLiteral)> [concrete] // CHECK:STDOUT: %Convert.type.71e: type = fn_type @Convert.1, @ImplicitAs(Core.IntLiteral) [concrete] // CHECK:STDOUT: %From: Core.IntLiteral = bind_symbolic_name From, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.708: type = fn_type @Convert.3, @impl.971(%From) [symbolic] +// CHECK:STDOUT: %Convert.type.708: type = fn_type @Convert.3, @ImplicitAs.impl.971(%From) [symbolic] // CHECK:STDOUT: %Convert.c68: %Convert.type.708 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a11: = impl_witness imports.%ImplicitAs.impl_witness_table.1d9, @impl.971(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.4ad: type = fn_type @Convert.3, @impl.971(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a11: = impl_witness imports.%ImplicitAs.impl_witness_table.1d9, @ImplicitAs.impl.971(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.4ad: type = fn_type @Convert.3, @ImplicitAs.impl.971(%int_32) [concrete] // CHECK:STDOUT: %Convert.960: %Convert.type.4ad = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.2fd = facet_value %i32, (%ImplicitAs.impl_witness.a11) [concrete] // CHECK:STDOUT: %.0ea: type = fn_type_with_self_type %Convert.type.71e, %ImplicitAs.facet [concrete] @@ -1248,7 +1248,7 @@ fn G() -> i32 { // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete] // CHECK:STDOUT: %array: %array_type.002 = tuple_value (%C.val, %C.val, %C.val) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.85d: type = fn_type @Op.3, @impl.49c(%array_type.002) [concrete] +// CHECK:STDOUT: %Op.type.85d: type = fn_type @Op.3, @Destroy.impl(%array_type.002) [concrete] // CHECK:STDOUT: %Op.1f9: %Op.type.85d = struct_value () [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.1f9, @Op.3(%array_type.002) [concrete] // CHECK:STDOUT: } @@ -1263,8 +1263,8 @@ fn G() -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.85c: @impl.971.%Convert.type (%Convert.type.708) = import_ref Core//prelude/parts/int, loc20_44, loaded [symbolic = @impl.971.%Convert (constants.%Convert.c68)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1d9 = impl_witness_table (%Core.import_ref.85c), @impl.971 [concrete] +// CHECK:STDOUT: %Core.import_ref.85c: @ImplicitAs.impl.971.%Convert.type (%Convert.type.708) = import_ref Core//prelude/parts/int, loc20_44, loaded [symbolic = @ImplicitAs.impl.971.%Convert (constants.%Convert.c68)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1d9 = impl_witness_table (%Core.import_ref.85c), @ImplicitAs.impl.971 [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/deduce/generic_type.carbon b/toolchain/check/testdata/deduce/generic_type.carbon index 5fd361b73032..215dda2b95f6 100644 --- a/toolchain/check/testdata/deduce/generic_type.carbon +++ b/toolchain/check/testdata/deduce/generic_type.carbon @@ -95,7 +95,7 @@ fn G() -> i32 { // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] // CHECK:STDOUT: %F.specific_fn.c4a: = specific_function %F, @F(%D) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.548: type = fn_type @Op.2, @impl(%D) [concrete] +// CHECK:STDOUT: %Op.type.548: type = fn_type @Op.2, @Destroy.impl(%D) [concrete] // CHECK:STDOUT: %Op.2d4: %Op.type.548 = struct_value () [concrete] // CHECK:STDOUT: %ptr.19c: type = ptr_type %D [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.2d4, @Op.2(%D) [concrete] @@ -280,7 +280,7 @@ fn G() -> i32 { // CHECK:STDOUT: %require_complete.1c8: = require_complete_type %I.ff1 [symbolic] // CHECK:STDOUT: %F.specific_fn.ef1: = specific_function %F, @F(%T) [symbolic] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.153: type = fn_type @Op.2, @impl(%C) [concrete] +// CHECK:STDOUT: %Op.type.153: type = fn_type @Op.2, @Destroy.impl(%C) [concrete] // CHECK:STDOUT: %Op.5d7: %Op.type.153 = struct_value () [concrete] // CHECK:STDOUT: %ptr.019: type = ptr_type %C [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.5d7, @Op.2(%C) [concrete] @@ -479,7 +479,7 @@ fn G() -> i32 { // CHECK:STDOUT: %F.specific_fn.dd9: = specific_function %F, @F(%T, %U) [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, @impl(%T) [symbolic] +// CHECK:STDOUT: %Op.type.bc9: type = fn_type @Op.2, @Destroy.impl(%T) [symbolic] // CHECK:STDOUT: %Op.46f: %Op.type.bc9 = struct_value () [symbolic] // CHECK:STDOUT: %require_complete.8fa: = require_complete_type %ptr.937 [symbolic] // CHECK:STDOUT: %Destroy.lookup_impl_witness: = lookup_impl_witness %tuple.type.30b, @Destroy [symbolic] @@ -497,8 +497,8 @@ fn G() -> i32 { // CHECK:STDOUT: %G.type: type = fn_type @G [concrete] // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] // CHECK:STDOUT: %F.specific_fn.4a7: = specific_function %F, @F(%C, %D) [concrete] -// CHECK:STDOUT: %Destroy.impl_witness.2a9: = impl_witness imports.%Destroy.impl_witness_table, @impl(%tuple.type.e8a) [concrete] -// CHECK:STDOUT: %Op.type.290: type = fn_type @Op.2, @impl(%tuple.type.e8a) [concrete] +// CHECK:STDOUT: %Destroy.impl_witness.2a9: = impl_witness imports.%Destroy.impl_witness_table, @Destroy.impl(%tuple.type.e8a) [concrete] +// CHECK:STDOUT: %Op.type.290: type = fn_type @Op.2, @Destroy.impl(%tuple.type.e8a) [concrete] // CHECK:STDOUT: %Op.ce2: %Op.type.290 = struct_value () [concrete] // CHECK:STDOUT: %ptr.d45: type = ptr_type %tuple.type.e8a [concrete] // CHECK:STDOUT: %complete_type.149: = complete_type_witness %ptr.d45 [concrete] @@ -515,8 +515,8 @@ fn G() -> i32 { // CHECK:STDOUT: import Core//prelude/... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] -// CHECK:STDOUT: %Core.import_ref.0b9: @impl.%Op.type (%Op.type.bc9) = import_ref Core//prelude/parts/destroy, loc8_29, loaded [symbolic = @impl.%Op (constants.%Op.46f)] -// CHECK:STDOUT: %Destroy.impl_witness_table = impl_witness_table (%Core.import_ref.0b9), @impl [concrete] +// CHECK:STDOUT: %Core.import_ref.0b9: @Destroy.impl.%Op.type (%Op.type.bc9) = import_ref Core//prelude/parts/destroy, loc8_29, loaded [symbolic = @Destroy.impl.%Op (constants.%Op.46f)] +// CHECK:STDOUT: %Destroy.impl_witness_table = impl_witness_table (%Core.import_ref.0b9), @Destroy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -807,10 +807,10 @@ fn G() -> i32 { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -823,7 +823,7 @@ fn G() -> i32 { // CHECK:STDOUT: %pattern_type.b66: type = pattern_type %WithNontype.b82 [concrete] // CHECK:STDOUT: %F.specific_fn: = specific_function %F, @F(%int_0.6a9) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.68d: type = fn_type @Op.3, @impl.49c(%WithNontype.b82) [concrete] +// CHECK:STDOUT: %Op.type.68d: type = fn_type @Op.3, @Destroy.impl(%WithNontype.b82) [concrete] // CHECK:STDOUT: %Op.6ee: %Op.type.68d = struct_value () [concrete] // CHECK:STDOUT: %ptr.791: type = ptr_type %WithNontype.b82 [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.6ee, @Op.3(%WithNontype.b82) [concrete] @@ -839,8 +839,8 @@ fn G() -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/deduce/tuple.carbon b/toolchain/check/testdata/deduce/tuple.carbon index 8cdd7f03c208..2a0e0be3932f 100644 --- a/toolchain/check/testdata/deduce/tuple.carbon +++ b/toolchain/check/testdata/deduce/tuple.carbon @@ -84,7 +84,7 @@ fn G(pair: (C, D)) -> D { // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] // CHECK:STDOUT: %F.specific_fn.4a7: = specific_function %F, @F(%C, %D) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.548: type = fn_type @Op.2, @impl(%D) [concrete] +// CHECK:STDOUT: %Op.type.548: type = fn_type @Op.2, @Destroy.impl(%D) [concrete] // CHECK:STDOUT: %Op.2d4: %Op.type.548 = struct_value () [concrete] // CHECK:STDOUT: %ptr.19c: type = ptr_type %D [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.2d4, @Op.2(%D) [concrete] @@ -269,10 +269,10 @@ fn G(pair: (C, D)) -> D { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -300,8 +300,8 @@ fn G(pair: (C, D)) -> D { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/deduce/type_operator.carbon b/toolchain/check/testdata/deduce/type_operator.carbon index b9bddcc065d6..7984be774b58 100644 --- a/toolchain/check/testdata/deduce/type_operator.carbon +++ b/toolchain/check/testdata/deduce/type_operator.carbon @@ -91,7 +91,7 @@ fn G(p: C*) -> const C { // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] // CHECK:STDOUT: %F.specific_fn.04a: = specific_function %F, @F(%C) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.153: type = fn_type @Op.2, @impl(%C) [concrete] +// CHECK:STDOUT: %Op.type.153: type = fn_type @Op.2, @Destroy.impl(%C) [concrete] // CHECK:STDOUT: %Op.5d7: %Op.type.153 = struct_value () [concrete] // CHECK:STDOUT: %complete_type.d05: = complete_type_witness %ptr.019 [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.5d7, @Op.2(%C) [concrete] @@ -248,7 +248,7 @@ fn G(p: C*) -> const C { // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] // CHECK:STDOUT: %F.specific_fn.04a: = specific_function %F, @F(%C) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.153: type = fn_type @Op.2, @impl(%C) [concrete] +// CHECK:STDOUT: %Op.type.153: type = fn_type @Op.2, @Destroy.impl(%C) [concrete] // CHECK:STDOUT: %Op.5d7: %Op.type.153 = struct_value () [concrete] // CHECK:STDOUT: %ptr.019: type = ptr_type %C [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.5d7, @Op.2(%C) [concrete] @@ -410,7 +410,7 @@ fn G(p: C*) -> const C { // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] // CHECK:STDOUT: %F.specific_fn.486: = specific_function %F, @F(%const) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.dff: type = fn_type @Op.2, @impl(%const) [concrete] +// CHECK:STDOUT: %Op.type.dff: type = fn_type @Op.2, @Destroy.impl(%const) [concrete] // CHECK:STDOUT: %Op.206: %Op.type.dff = struct_value () [concrete] // CHECK:STDOUT: %complete_type.247: = complete_type_witness %ptr.801 [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.206, @Op.2(%const) [concrete] diff --git a/toolchain/check/testdata/deduce/value_with_type_through_access.carbon b/toolchain/check/testdata/deduce/value_with_type_through_access.carbon index d215eb1c63bd..138f1e2a5072 100644 --- a/toolchain/check/testdata/deduce/value_with_type_through_access.carbon +++ b/toolchain/check/testdata/deduce/value_with_type_through_access.carbon @@ -133,11 +133,11 @@ fn G() { // CHECK:STDOUT: %F.specific_fn: = specific_function %F, @F(%tuple) [concrete] // CHECK:STDOUT: %C.val: %C = struct_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.153: type = fn_type @Op.2, @impl(%C) [concrete] +// CHECK:STDOUT: %Op.type.153: type = fn_type @Op.2, @Destroy.impl(%C) [concrete] // CHECK:STDOUT: %Op.5d7: %Op.type.153 = struct_value () [concrete] // CHECK:STDOUT: %ptr.019: type = ptr_type %C [concrete] // CHECK:STDOUT: %Op.specific_fn.6eb: = specific_function %Op.5d7, @Op.2(%C) [concrete] -// CHECK:STDOUT: %Op.type.431: type = fn_type @Op.2, @impl(%HoldsType.c09) [concrete] +// CHECK:STDOUT: %Op.type.431: type = fn_type @Op.2, @Destroy.impl(%HoldsType.c09) [concrete] // CHECK:STDOUT: %Op.f20: %Op.type.431 = struct_value () [concrete] // CHECK:STDOUT: %ptr.79a: type = ptr_type %HoldsType.c09 [concrete] // CHECK:STDOUT: %Op.specific_fn.58d: = specific_function %Op.f20, @Op.2(%HoldsType.c09) [concrete] @@ -340,11 +340,11 @@ fn G() { // CHECK:STDOUT: %F.specific_fn: = specific_function %F, @F(%struct) [concrete] // CHECK:STDOUT: %C.val: %C = struct_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.153: type = fn_type @Op.2, @impl(%C) [concrete] +// CHECK:STDOUT: %Op.type.153: type = fn_type @Op.2, @Destroy.impl(%C) [concrete] // CHECK:STDOUT: %Op.5d7: %Op.type.153 = struct_value () [concrete] // CHECK:STDOUT: %ptr.019: type = ptr_type %C [concrete] // CHECK:STDOUT: %Op.specific_fn.6eb: = specific_function %Op.5d7, @Op.2(%C) [concrete] -// CHECK:STDOUT: %Op.type.8ea: type = fn_type @Op.2, @impl(%HoldsType.705) [concrete] +// CHECK:STDOUT: %Op.type.8ea: type = fn_type @Op.2, @Destroy.impl(%HoldsType.705) [concrete] // CHECK:STDOUT: %Op.180: %Op.type.8ea = struct_value () [concrete] // CHECK:STDOUT: %ptr.5d1: type = ptr_type %HoldsType.705 [concrete] // CHECK:STDOUT: %Op.specific_fn.fde: = specific_function %Op.180, @Op.2(%HoldsType.705) [concrete] @@ -545,7 +545,7 @@ fn G() { // CHECK:STDOUT: %.da6: type = fn_type_with_self_type %Op.type.bae, %Destroy.facet.088 [symbolic] // CHECK:STDOUT: %impl.elem0: %.da6 = impl_witness_access %Destroy.lookup_impl_witness, element0 [symbolic] // CHECK:STDOUT: %specific_impl_fn: = specific_impl_function %impl.elem0, @Op.1(%Destroy.facet.088) [symbolic] -// CHECK:STDOUT: %Op.type.7de: type = fn_type @Op.2, @impl(%Class) [concrete] +// CHECK:STDOUT: %Op.type.7de: type = fn_type @Op.2, @Destroy.impl(%Class) [concrete] // CHECK:STDOUT: %Op.d64: %Op.type.7de = struct_value () [concrete] // CHECK:STDOUT: %ptr.e71: type = ptr_type %Class [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.d64, @Op.2(%Class) [concrete] @@ -741,10 +741,10 @@ fn G() { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -761,7 +761,7 @@ fn G() { // CHECK:STDOUT: %tuple.type: type = tuple_type (type) [concrete] // CHECK:STDOUT: %array: %array_type = tuple_value (%C) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.8a7: type = fn_type @Op.3, @impl.49c(%array_type) [concrete] +// CHECK:STDOUT: %Op.type.8a7: type = fn_type @Op.3, @Destroy.impl(%array_type) [concrete] // CHECK:STDOUT: %Op.246: %Op.type.8a7 = struct_value () [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.246, @Op.3(%array_type) [concrete] // CHECK:STDOUT: } @@ -776,8 +776,8 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/eval/aggregates.carbon b/toolchain/check/testdata/eval/aggregates.carbon index 705edf276bcb..e282674a910b 100644 --- a/toolchain/check/testdata/eval/aggregates.carbon +++ b/toolchain/check/testdata/eval/aggregates.carbon @@ -67,10 +67,10 @@ fn G(N:! i32) { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -115,8 +115,8 @@ fn G(N:! i32) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -330,10 +330,10 @@ fn G(N:! i32) { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -359,8 +359,8 @@ fn G(N:! i32) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -496,10 +496,10 @@ fn G(N:! i32) { // CHECK:STDOUT: %ImplicitAs.type.2fd: type = facet_type <@ImplicitAs, @ImplicitAs(Core.IntLiteral)> [concrete] // CHECK:STDOUT: %Convert.type.71e: type = fn_type @Convert.1, @ImplicitAs(Core.IntLiteral) [concrete] // CHECK:STDOUT: %From: Core.IntLiteral = bind_symbolic_name From, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.708: type = fn_type @Convert.3, @impl.971(%From) [symbolic] +// CHECK:STDOUT: %Convert.type.708: type = fn_type @Convert.3, @ImplicitAs.impl.971(%From) [symbolic] // CHECK:STDOUT: %Convert.c68: %Convert.type.708 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a11: = impl_witness imports.%ImplicitAs.impl_witness_table.1d9, @impl.971(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.4ad: type = fn_type @Convert.3, @impl.971(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a11: = impl_witness imports.%ImplicitAs.impl_witness_table.1d9, @ImplicitAs.impl.971(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.4ad: type = fn_type @Convert.3, @ImplicitAs.impl.971(%int_32) [concrete] // CHECK:STDOUT: %Convert.960: %Convert.type.4ad = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.2fd = facet_value %i32, (%ImplicitAs.impl_witness.a11) [concrete] // CHECK:STDOUT: %.0ea: type = fn_type_with_self_type %Convert.type.71e, %ImplicitAs.facet [concrete] @@ -520,8 +520,8 @@ fn G(N:! i32) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { -// CHECK:STDOUT: %Core.import_ref.85c: @impl.971.%Convert.type (%Convert.type.708) = import_ref Core//prelude/parts/int, loc20_44, loaded [symbolic = @impl.971.%Convert (constants.%Convert.c68)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1d9 = impl_witness_table (%Core.import_ref.85c), @impl.971 [concrete] +// CHECK:STDOUT: %Core.import_ref.85c: @ImplicitAs.impl.971.%Convert.type (%Convert.type.708) = import_ref Core//prelude/parts/int, loc20_44, loaded [symbolic = @ImplicitAs.impl.971.%Convert (constants.%Convert.c68)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1d9 = impl_witness_table (%Core.import_ref.85c), @ImplicitAs.impl.971 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @F(%T.loc4_6.1: type) { diff --git a/toolchain/check/testdata/facet/access.carbon b/toolchain/check/testdata/facet/access.carbon index 62ecfd03e2da..d0fc6d342aea 100644 --- a/toolchain/check/testdata/facet/access.carbon +++ b/toolchain/check/testdata/facet/access.carbon @@ -599,7 +599,7 @@ fn G(AB:! A & B where .X = () and .Y = {}) -> AB.Y { // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.012: %Op.type.1cc = import_ref Core//prelude, loc13_42, loaded [concrete = constants.%Op.ff4] -// CHECK:STDOUT: %BitAndWith.impl_witness_table = impl_witness_table (%Core.import_ref.012), @impl [concrete] +// CHECK:STDOUT: %BitAndWith.impl_witness_table = impl_witness_table (%Core.import_ref.012), @BitAndWith.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/facet/call_combined_impl_witness.carbon b/toolchain/check/testdata/facet/call_combined_impl_witness.carbon index 459bedb4d59e..783c47ce59ad 100644 --- a/toolchain/check/testdata/facet/call_combined_impl_witness.carbon +++ b/toolchain/check/testdata/facet/call_combined_impl_witness.carbon @@ -112,7 +112,7 @@ fn F() { // CHECK:STDOUT: %pattern_type.c48: type = pattern_type %C [concrete] // CHECK:STDOUT: %G.specific_fn: = specific_function %G, @G(%facet_value) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.153: type = fn_type @Op.4, @impl.49c(%C) [concrete] +// CHECK:STDOUT: %Op.type.153: type = fn_type @Op.4, @Destroy.impl(%C) [concrete] // CHECK:STDOUT: %Op.5d7: %Op.type.153 = struct_value () [concrete] // CHECK:STDOUT: %ptr.019: type = ptr_type %C [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.5d7, @Op.4(%C) [concrete] @@ -129,7 +129,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.BitAndWith: %BitAndWith.type.f2e = import_ref Core//prelude, BitAndWith, loaded [concrete = constants.%BitAndWith.generic] // CHECK:STDOUT: %Core.import_ref.012: %Op.type.1cc = import_ref Core//prelude, loc13_42, loaded [concrete = constants.%Op.ff4] -// CHECK:STDOUT: %BitAndWith.impl_witness_table = impl_witness_table (%Core.import_ref.012), @impl.865 [concrete] +// CHECK:STDOUT: %BitAndWith.impl_witness_table = impl_witness_table (%Core.import_ref.012), @BitAndWith.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -148,23 +148,23 @@ fn F() { // CHECK:STDOUT: %A.decl: type = interface_decl @A [concrete = constants.%A.type] {} {} // CHECK:STDOUT: %B.decl: type = interface_decl @B [concrete = constants.%B.type] {} {} // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} -// CHECK:STDOUT: impl_decl @impl.d78 [concrete] {} { +// CHECK:STDOUT: impl_decl @Empty.impl [concrete] {} { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %Empty.ref: type = name_ref Empty, file.%Empty.decl [concrete = constants.%Empty.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %Empty.impl_witness_table = impl_witness_table (), @impl.d78 [concrete] +// CHECK:STDOUT: %Empty.impl_witness_table = impl_witness_table (), @Empty.impl [concrete] // CHECK:STDOUT: %Empty.impl_witness: = impl_witness %Empty.impl_witness_table [concrete = constants.%Empty.impl_witness] -// CHECK:STDOUT: impl_decl @impl.77d [concrete] {} { +// CHECK:STDOUT: impl_decl @A.impl [concrete] {} { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [concrete = constants.%A.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %A.impl_witness_table = impl_witness_table (@impl.77d.%AA.decl), @impl.77d [concrete] +// CHECK:STDOUT: %A.impl_witness_table = impl_witness_table (@A.impl.%AA.decl), @A.impl [concrete] // CHECK:STDOUT: %A.impl_witness: = impl_witness %A.impl_witness_table [concrete = constants.%A.impl_witness] -// CHECK:STDOUT: impl_decl @impl.c94 [concrete] {} { +// CHECK:STDOUT: impl_decl @B.impl [concrete] {} { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %B.ref: type = name_ref B, file.%B.decl [concrete = constants.%B.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %B.impl_witness_table = impl_witness_table (@impl.c94.%BB.decl), @impl.c94 [concrete] +// CHECK:STDOUT: %B.impl_witness_table = impl_witness_table (@B.impl.%BB.decl), @B.impl [concrete] // CHECK:STDOUT: %B.impl_witness: = impl_witness %B.impl_witness_table [concrete = constants.%B.impl_witness] // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [concrete = constants.%G] { // CHECK:STDOUT: %T.patt: %pattern_type.8e7 = symbolic_binding_pattern T, 0 [concrete] @@ -232,12 +232,12 @@ fn F() { // CHECK:STDOUT: witness = (%BB.decl) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.d78: %C.ref as %Empty.ref { +// CHECK:STDOUT: impl @Empty.impl: %C.ref as %Empty.ref { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = file.%Empty.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.77d: %C.ref as %A.ref { +// 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: // CHECK:STDOUT: !members: @@ -245,7 +245,7 @@ fn F() { // CHECK:STDOUT: witness = file.%A.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.c94: %C.ref as %B.ref { +// 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: // CHECK:STDOUT: !members: diff --git a/toolchain/check/testdata/facet/convert_class_type_to_facet_type.carbon b/toolchain/check/testdata/facet/convert_class_type_to_facet_type.carbon index 44351610c670..0ca869d93032 100644 --- a/toolchain/check/testdata/facet/convert_class_type_to_facet_type.carbon +++ b/toolchain/check/testdata/facet/convert_class_type_to_facet_type.carbon @@ -61,11 +61,11 @@ fn F() { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Animal.decl: type = interface_decl @Animal [concrete = constants.%Animal.type] {} {} // CHECK:STDOUT: %Goat.decl: type = class_decl @Goat [concrete = constants.%Goat] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @Animal.impl [concrete] {} { // CHECK:STDOUT: %Goat.ref: type = name_ref Goat, file.%Goat.decl [concrete = constants.%Goat] // CHECK:STDOUT: %Animal.ref: type = name_ref Animal, file.%Animal.decl [concrete = constants.%Animal.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %Animal.impl_witness_table = impl_witness_table (), @impl [concrete] +// CHECK:STDOUT: %Animal.impl_witness_table = impl_witness_table (), @Animal.impl [concrete] // CHECK:STDOUT: %Animal.impl_witness: = impl_witness %Animal.impl_witness_table [concrete = constants.%Animal.impl_witness] // CHECK:STDOUT: %WalkAnimal.decl: %WalkAnimal.type = fn_decl @WalkAnimal [concrete = constants.%WalkAnimal] { // CHECK:STDOUT: %A.patt: %pattern_type = symbolic_binding_pattern A, 0 [concrete] @@ -84,7 +84,7 @@ fn F() { // CHECK:STDOUT: witness = () // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %Goat.ref as %Animal.ref { +// CHECK:STDOUT: impl @Animal.impl: %Goat.ref as %Animal.ref { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = file.%Animal.impl_witness // CHECK:STDOUT: } 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 6d3bd21af67d..9f7bcd02631a 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 @@ -134,13 +134,13 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: %GenericParam.decl: type = class_decl @GenericParam [concrete = constants.%GenericParam] {} {} // CHECK:STDOUT: %ImplsGeneric.decl: type = class_decl @ImplsGeneric [concrete = constants.%ImplsGeneric] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @Generic.impl [concrete] {} { // CHECK:STDOUT: %ImplsGeneric.ref: type = name_ref ImplsGeneric, file.%ImplsGeneric.decl [concrete = constants.%ImplsGeneric] // CHECK:STDOUT: %Generic.ref: %Generic.type.c21 = name_ref Generic, file.%Generic.decl [concrete = constants.%Generic.generic] // CHECK:STDOUT: %GenericParam.ref: type = name_ref GenericParam, file.%GenericParam.decl [concrete = constants.%GenericParam] // CHECK:STDOUT: %Generic.type: type = facet_type <@Generic, @Generic(constants.%GenericParam)> [concrete = constants.%Generic.type.769] // CHECK:STDOUT: } -// CHECK:STDOUT: %Generic.impl_witness_table = impl_witness_table (@impl.%F.decl), @impl [concrete] +// CHECK:STDOUT: %Generic.impl_witness_table = impl_witness_table (@Generic.impl.%F.decl), @Generic.impl [concrete] // CHECK:STDOUT: %Generic.impl_witness: = impl_witness %Generic.impl_witness_table [concrete = constants.%Generic.impl_witness] // CHECK:STDOUT: %CallGenericMethod.decl: %CallGenericMethod.type = fn_decl @CallGenericMethod [concrete = constants.%CallGenericMethod] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] @@ -193,7 +193,7 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %ImplsGeneric.ref as %Generic.type { +// 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: // CHECK:STDOUT: !members: @@ -388,7 +388,7 @@ fn G() { // CHECK:STDOUT: %pattern_type.589: type = pattern_type %GenericParam [concrete] // CHECK:STDOUT: %CallGenericMethod.specific_fn: = specific_function %CallGenericMethod, @CallGenericMethod(%GenericParam, %Generic.facet) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.ae1: type = fn_type @Op.2, @impl.49c(%GenericParam) [concrete] +// CHECK:STDOUT: %Op.type.ae1: type = fn_type @Op.2, @Destroy.impl(%GenericParam) [concrete] // CHECK:STDOUT: %Op.0cc: %Op.type.ae1 = struct_value () [concrete] // CHECK:STDOUT: %ptr.f73: type = ptr_type %GenericParam [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.0cc, @Op.2(%GenericParam) [concrete] @@ -420,13 +420,13 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: %GenericParam.decl: type = class_decl @GenericParam [concrete = constants.%GenericParam] {} {} // CHECK:STDOUT: %ImplsGeneric.decl: type = class_decl @ImplsGeneric [concrete = constants.%ImplsGeneric] {} {} -// CHECK:STDOUT: impl_decl @impl.046 [concrete] {} { +// CHECK:STDOUT: impl_decl @Generic.impl [concrete] {} { // CHECK:STDOUT: %ImplsGeneric.ref: type = name_ref ImplsGeneric, file.%ImplsGeneric.decl [concrete = constants.%ImplsGeneric] // CHECK:STDOUT: %Generic.ref: %Generic.type.c21 = name_ref Generic, file.%Generic.decl [concrete = constants.%Generic.generic] // CHECK:STDOUT: %GenericParam.ref: type = name_ref GenericParam, file.%GenericParam.decl [concrete = constants.%GenericParam] // CHECK:STDOUT: %Generic.type: type = facet_type <@Generic, @Generic(constants.%GenericParam)> [concrete = constants.%Generic.type.769] // CHECK:STDOUT: } -// CHECK:STDOUT: %Generic.impl_witness_table = impl_witness_table (@impl.046.%F.decl), @impl.046 [concrete] +// CHECK:STDOUT: %Generic.impl_witness_table = impl_witness_table (@Generic.impl.%F.decl), @Generic.impl [concrete] // CHECK:STDOUT: %Generic.impl_witness: = impl_witness %Generic.impl_witness_table [concrete = constants.%Generic.impl_witness] // CHECK:STDOUT: %CallGenericMethod.decl: %CallGenericMethod.type = fn_decl @CallGenericMethod [concrete = constants.%CallGenericMethod] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] @@ -471,7 +471,7 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.046: %ImplsGeneric.ref as %Generic.type { +// 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: // CHECK:STDOUT: !members: diff --git a/toolchain/check/testdata/facet/convert_class_value_to_facet_value_value.carbon b/toolchain/check/testdata/facet/convert_class_value_to_facet_value_value.carbon index f09a598adc24..a2c502240d70 100644 --- a/toolchain/check/testdata/facet/convert_class_value_to_facet_value_value.carbon +++ b/toolchain/check/testdata/facet/convert_class_value_to_facet_value_value.carbon @@ -47,7 +47,7 @@ fn F() { // CHECK:STDOUT: %pattern_type.ab7: type = pattern_type %Goat [concrete] // CHECK:STDOUT: %WalkAnimal.specific_fn: = specific_function %WalkAnimal, @WalkAnimal(%Animal.facet) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.e7a: type = fn_type @Op.2, @impl.49c(%Goat) [concrete] +// CHECK:STDOUT: %Op.type.e7a: type = fn_type @Op.2, @Destroy.impl(%Goat) [concrete] // CHECK:STDOUT: %Op.55a: %Op.type.e7a = struct_value () [concrete] // CHECK:STDOUT: %ptr.940: type = ptr_type %Goat [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.55a, @Op.2(%Goat) [concrete] @@ -88,11 +88,11 @@ fn F() { // CHECK:STDOUT: %a: @WalkAnimal.%T.as_type.loc17_30.2 (%T.as_type) = bind_name a, %a.param // CHECK:STDOUT: } // CHECK:STDOUT: %Goat.decl: type = class_decl @Goat [concrete = constants.%Goat] {} {} -// CHECK:STDOUT: impl_decl @impl.27e [concrete] {} { +// CHECK:STDOUT: impl_decl @Animal.impl [concrete] {} { // CHECK:STDOUT: %Goat.ref: type = name_ref Goat, file.%Goat.decl [concrete = constants.%Goat] // CHECK:STDOUT: %Animal.ref: type = name_ref Animal, file.%Animal.decl [concrete = constants.%Animal.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %Animal.impl_witness_table = impl_witness_table (), @impl.27e [concrete] +// CHECK:STDOUT: %Animal.impl_witness_table = impl_witness_table (), @Animal.impl [concrete] // CHECK:STDOUT: %Animal.impl_witness: = impl_witness %Animal.impl_witness_table [concrete = constants.%Animal.impl_witness] // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] {} {} // CHECK:STDOUT: } @@ -105,7 +105,7 @@ fn F() { // CHECK:STDOUT: witness = () // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.27e: %Goat.ref as %Animal.ref { +// CHECK:STDOUT: impl @Animal.impl: %Goat.ref as %Animal.ref { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = file.%Animal.impl_witness // CHECK:STDOUT: } 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 f314089e909c..bb4473827aed 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 @@ -153,11 +153,11 @@ fn B() { // CHECK:STDOUT: %pattern_type.589: type = pattern_type %GenericParam [concrete] // CHECK:STDOUT: %CallGenericMethod.specific_fn: = specific_function %CallGenericMethod, @CallGenericMethod(%GenericParam, %Generic.facet.8ff) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.ae1: type = fn_type @Op.2, @impl.49c(%GenericParam) [concrete] +// CHECK:STDOUT: %Op.type.ae1: type = fn_type @Op.2, @Destroy.impl(%GenericParam) [concrete] // CHECK:STDOUT: %Op.0cc: %Op.type.ae1 = struct_value () [concrete] // CHECK:STDOUT: %ptr.f73: type = ptr_type %GenericParam [concrete] // CHECK:STDOUT: %Op.specific_fn.934: = specific_function %Op.0cc, @Op.2(%GenericParam) [concrete] -// CHECK:STDOUT: %Op.type.e98: type = fn_type @Op.2, @impl.49c(%ImplsGeneric) [concrete] +// CHECK:STDOUT: %Op.type.e98: type = fn_type @Op.2, @Destroy.impl(%ImplsGeneric) [concrete] // CHECK:STDOUT: %Op.51a: %Op.type.e98 = struct_value () [concrete] // CHECK:STDOUT: %ptr.011: type = ptr_type %ImplsGeneric [concrete] // CHECK:STDOUT: %Op.specific_fn.7b0: = specific_function %Op.51a, @Op.2(%ImplsGeneric) [concrete] @@ -191,13 +191,13 @@ fn B() { // CHECK:STDOUT: } // CHECK:STDOUT: %GenericParam.decl: type = class_decl @GenericParam [concrete = constants.%GenericParam] {} {} // CHECK:STDOUT: %ImplsGeneric.decl: type = class_decl @ImplsGeneric [concrete = constants.%ImplsGeneric] {} {} -// CHECK:STDOUT: impl_decl @impl.046 [concrete] {} { +// CHECK:STDOUT: impl_decl @Generic.impl [concrete] {} { // CHECK:STDOUT: %ImplsGeneric.ref: type = name_ref ImplsGeneric, file.%ImplsGeneric.decl [concrete = constants.%ImplsGeneric] // CHECK:STDOUT: %Generic.ref: %Generic.type.c21 = name_ref Generic, file.%Generic.decl [concrete = constants.%Generic.generic] // CHECK:STDOUT: %GenericParam.ref: type = name_ref GenericParam, file.%GenericParam.decl [concrete = constants.%GenericParam] // CHECK:STDOUT: %Generic.type: type = facet_type <@Generic, @Generic(constants.%GenericParam)> [concrete = constants.%Generic.type.769] // CHECK:STDOUT: } -// CHECK:STDOUT: %Generic.impl_witness_table = impl_witness_table (@impl.046.%F.decl), @impl.046 [concrete] +// CHECK:STDOUT: %Generic.impl_witness_table = impl_witness_table (@Generic.impl.%F.decl), @Generic.impl [concrete] // CHECK:STDOUT: %Generic.impl_witness: = impl_witness %Generic.impl_witness_table [concrete = constants.%Generic.impl_witness] // CHECK:STDOUT: %CallGenericMethod.decl: %CallGenericMethod.type = fn_decl @CallGenericMethod [concrete = constants.%CallGenericMethod] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] @@ -251,7 +251,7 @@ fn B() { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.046: %ImplsGeneric.ref as %Generic.type { +// 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: // CHECK:STDOUT: !members: @@ -441,7 +441,7 @@ fn B() { // CHECK:STDOUT: %I.type.bea: type = facet_type <@I, @I(%T.8b3, %empty_tuple.type)> [symbolic] // CHECK:STDOUT: %Self.ec5: %I.type.bea = bind_symbolic_name Self, 2 [symbolic] // CHECK:STDOUT: %require_complete.5ce: = require_complete_type %I.type.bea [symbolic] -// CHECK:STDOUT: %I.impl_witness.989: = impl_witness file.%I.impl_witness_table, @impl.0dc(%T.8b3) [symbolic] +// CHECK:STDOUT: %I.impl_witness.989: = impl_witness file.%I.impl_witness_table, @I.impl(%T.8b3) [symbolic] // CHECK:STDOUT: %I.type.202: type = facet_type <@I, @I(%empty_struct_type, %empty_tuple.type)> [concrete] // CHECK:STDOUT: %T.e96: %I.type.202 = bind_symbolic_name T, 0 [symbolic] // CHECK:STDOUT: %pattern_type.a84: type = pattern_type %I.type.202 [concrete] @@ -455,12 +455,12 @@ fn B() { // CHECK:STDOUT: %C.val: %C = struct_value () [concrete] // CHECK:STDOUT: %Self.38c: %I.type.202 = bind_symbolic_name Self, 2 [symbolic] // CHECK:STDOUT: %complete_type.3d9: = complete_type_witness %I.type.202 [concrete] -// CHECK:STDOUT: %I.impl_witness.806: = impl_witness file.%I.impl_witness_table, @impl.0dc(%empty_struct_type) [concrete] +// CHECK:STDOUT: %I.impl_witness.806: = impl_witness file.%I.impl_witness_table, @I.impl(%empty_struct_type) [concrete] // CHECK:STDOUT: %I.facet: %I.type.202 = facet_value %C, (%I.impl_witness.806) [concrete] // CHECK:STDOUT: %pattern_type.c48: type = pattern_type %C [concrete] // CHECK:STDOUT: %A.specific_fn: = specific_function %A, @A(%I.facet) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.153: type = fn_type @Op.2, @impl.49c(%C) [concrete] +// CHECK:STDOUT: %Op.type.153: type = fn_type @Op.2, @Destroy.impl(%C) [concrete] // CHECK:STDOUT: %Op.5d7: %Op.type.153 = struct_value () [concrete] // CHECK:STDOUT: %ptr.019: type = ptr_type %C [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.5d7, @Op.2(%C) [concrete] @@ -492,7 +492,7 @@ fn B() { // CHECK:STDOUT: %W.loc3_23.1: type = bind_symbolic_name W, 1 [symbolic = %W.loc3_23.2 (constants.%W)] // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} -// CHECK:STDOUT: impl_decl @impl.0dc [concrete] { +// CHECK:STDOUT: impl_decl @I.impl [concrete] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] @@ -503,8 +503,8 @@ fn B() { // CHECK:STDOUT: %I.type.loc7_36.1: type = facet_type <@I, @I(constants.%T.8b3, constants.%empty_tuple.type)> [symbolic = %I.type.loc7_36.2 (constants.%I.type.bea)] // CHECK:STDOUT: %T.loc7_14.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc7_14.2 (constants.%T.8b3)] // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @impl.0dc [concrete] -// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table, @impl.0dc(constants.%T.8b3) [symbolic = @impl.0dc.%I.impl_witness (constants.%I.impl_witness.989)] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @I.impl [concrete] +// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table, @I.impl(constants.%T.8b3) [symbolic = @I.impl.%I.impl_witness (constants.%I.impl_witness.989)] // CHECK:STDOUT: %A.decl: %A.type = fn_decl @A [concrete = constants.%A] { // CHECK:STDOUT: %T.patt: %pattern_type.a84 = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: %t.patt: @A.%pattern_type (%pattern_type.3ff) = binding_pattern t [concrete] @@ -547,11 +547,11 @@ fn B() { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl.0dc(%T.loc7_14.1: type) { +// CHECK:STDOUT: generic impl @I.impl(%T.loc7_14.1: type) { // CHECK:STDOUT: %T.loc7_14.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc7_14.2 (constants.%T.8b3)] // CHECK:STDOUT: %I.type.loc7_36.2: type = facet_type <@I, @I(%T.loc7_14.2, constants.%empty_tuple.type)> [symbolic = %I.type.loc7_36.2 (constants.%I.type.bea)] // CHECK:STDOUT: %require_complete: = require_complete_type %I.type.loc7_36.2 [symbolic = %require_complete (constants.%require_complete.5ce)] -// CHECK:STDOUT: %I.impl_witness: = impl_witness file.%I.impl_witness_table, @impl.0dc(%T.loc7_14.2) [symbolic = %I.impl_witness (constants.%I.impl_witness.989)] +// CHECK:STDOUT: %I.impl_witness: = impl_witness file.%I.impl_witness_table, @I.impl(%T.loc7_14.2) [symbolic = %I.impl_witness (constants.%I.impl_witness.989)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: @@ -622,7 +622,7 @@ fn B() { // CHECK:STDOUT: %Self.2 => constants.%Self.ec5 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.0dc(constants.%T.8b3) { +// CHECK:STDOUT: specific @I.impl(constants.%T.8b3) { // CHECK:STDOUT: %T.loc7_14.2 => constants.%T.8b3 // CHECK:STDOUT: %I.type.loc7_36.2 => constants.%I.type.bea // CHECK:STDOUT: %require_complete => constants.%require_complete.5ce @@ -644,7 +644,7 @@ fn B() { // CHECK:STDOUT: %pattern_type => constants.%pattern_type.3ff // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.0dc(constants.%empty_struct_type) { +// CHECK:STDOUT: specific @I.impl(constants.%empty_struct_type) { // CHECK:STDOUT: %T.loc7_14.2 => constants.%empty_struct_type // CHECK:STDOUT: %I.type.loc7_36.2 => constants.%I.type.202 // CHECK:STDOUT: %require_complete => constants.%complete_type.3d9 @@ -680,7 +680,7 @@ fn B() { // CHECK:STDOUT: %I.type.bea: type = facet_type <@I, @I(%T.8b3, %empty_tuple.type)> [symbolic] // CHECK:STDOUT: %Self.ec5: %I.type.bea = bind_symbolic_name Self, 2 [symbolic] // CHECK:STDOUT: %require_complete.5ce: = require_complete_type %I.type.bea [symbolic] -// CHECK:STDOUT: %I.impl_witness: = impl_witness file.%I.impl_witness_table, @impl.0dc(%T.8b3) [symbolic] +// CHECK:STDOUT: %I.impl_witness: = impl_witness file.%I.impl_witness_table, @I.impl(%T.8b3) [symbolic] // CHECK:STDOUT: %I.type.906: type = facet_type <@I, @I(%empty_struct_type, %empty_struct_type)> [concrete] // CHECK:STDOUT: %T.4b2: %I.type.906 = bind_symbolic_name T, 0 [symbolic] // CHECK:STDOUT: %pattern_type.a62: type = pattern_type %I.type.906 [concrete] @@ -693,7 +693,7 @@ fn B() { // CHECK:STDOUT: %B: %B.type = struct_value () [concrete] // CHECK:STDOUT: %C.val: %C = struct_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.153: type = fn_type @Op.2, @impl.49c(%C) [concrete] +// CHECK:STDOUT: %Op.type.153: type = fn_type @Op.2, @Destroy.impl(%C) [concrete] // CHECK:STDOUT: %Op.5d7: %Op.type.153 = struct_value () [concrete] // CHECK:STDOUT: %ptr.019: type = ptr_type %C [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.5d7, @Op.2(%C) [concrete] @@ -725,7 +725,7 @@ fn B() { // CHECK:STDOUT: %W.loc3_23.1: type = bind_symbolic_name W, 1 [symbolic = %W.loc3_23.2 (constants.%W)] // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} -// CHECK:STDOUT: impl_decl @impl.0dc [concrete] { +// CHECK:STDOUT: impl_decl @I.impl [concrete] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] @@ -736,8 +736,8 @@ fn B() { // CHECK:STDOUT: %I.type.loc7_36.1: type = facet_type <@I, @I(constants.%T.8b3, constants.%empty_tuple.type)> [symbolic = %I.type.loc7_36.2 (constants.%I.type.bea)] // CHECK:STDOUT: %T.loc7_14.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc7_14.2 (constants.%T.8b3)] // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @impl.0dc [concrete] -// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table, @impl.0dc(constants.%T.8b3) [symbolic = @impl.0dc.%I.impl_witness (constants.%I.impl_witness)] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @I.impl [concrete] +// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table, @I.impl(constants.%T.8b3) [symbolic = @I.impl.%I.impl_witness (constants.%I.impl_witness)] // CHECK:STDOUT: %A.decl: %A.type = fn_decl @A [concrete = constants.%A] { // CHECK:STDOUT: %T.patt: %pattern_type.a62 = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: %t.patt: @A.%pattern_type (%pattern_type.f1c) = binding_pattern t [concrete] @@ -780,11 +780,11 @@ fn B() { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl.0dc(%T.loc7_14.1: type) { +// CHECK:STDOUT: generic impl @I.impl(%T.loc7_14.1: type) { // CHECK:STDOUT: %T.loc7_14.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc7_14.2 (constants.%T.8b3)] // CHECK:STDOUT: %I.type.loc7_36.2: type = facet_type <@I, @I(%T.loc7_14.2, constants.%empty_tuple.type)> [symbolic = %I.type.loc7_36.2 (constants.%I.type.bea)] // CHECK:STDOUT: %require_complete: = require_complete_type %I.type.loc7_36.2 [symbolic = %require_complete (constants.%require_complete.5ce)] -// CHECK:STDOUT: %I.impl_witness: = impl_witness file.%I.impl_witness_table, @impl.0dc(%T.loc7_14.2) [symbolic = %I.impl_witness (constants.%I.impl_witness)] +// CHECK:STDOUT: %I.impl_witness: = impl_witness file.%I.impl_witness_table, @I.impl(%T.loc7_14.2) [symbolic = %I.impl_witness (constants.%I.impl_witness)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: @@ -848,7 +848,7 @@ fn B() { // CHECK:STDOUT: %Self.2 => constants.%Self.ec5 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.0dc(constants.%T.8b3) { +// CHECK:STDOUT: specific @I.impl(constants.%T.8b3) { // CHECK:STDOUT: %T.loc7_14.2 => constants.%T.8b3 // CHECK:STDOUT: %I.type.loc7_36.2 => constants.%I.type.bea // CHECK:STDOUT: %require_complete => constants.%require_complete.5ce @@ -882,7 +882,7 @@ fn B() { // CHECK:STDOUT: %complete_type.357: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %T.8b3: type = bind_symbolic_name T, 0 [symbolic] // CHECK:STDOUT: %C.463: type = class_type @C, @C(%T.8b3, %empty_tuple.type) [symbolic] -// CHECK:STDOUT: %I.impl_witness: = impl_witness file.%I.impl_witness_table, @impl.a1a(%T.8b3) [symbolic] +// CHECK:STDOUT: %I.impl_witness: = impl_witness file.%I.impl_witness_table, @I.impl(%T.8b3) [symbolic] // CHECK:STDOUT: %T.826: %I.type = bind_symbolic_name T, 0 [symbolic] // CHECK:STDOUT: %pattern_type.2b5: type = pattern_type %I.type [concrete] // CHECK:STDOUT: %T.as_type: type = facet_access_type %T.826 [symbolic] @@ -895,7 +895,7 @@ fn B() { // CHECK:STDOUT: %C.c74: type = class_type @C, @C(%empty_struct_type, %empty_struct_type) [concrete] // CHECK:STDOUT: %C.val: %C.c74 = struct_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.53e: type = fn_type @Op.2, @impl.49c(%C.c74) [concrete] +// CHECK:STDOUT: %Op.type.53e: type = fn_type @Op.2, @Destroy.impl(%C.c74) [concrete] // CHECK:STDOUT: %Op.2b8: %Op.type.53e = struct_value () [concrete] // CHECK:STDOUT: %ptr.128: type = ptr_type %C.c74 [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.2b8, @Op.2(%C.c74) [concrete] @@ -927,7 +927,7 @@ fn B() { // CHECK:STDOUT: %V.loc5_9.1: type = bind_symbolic_name V, 0 [symbolic = %V.loc5_9.2 (constants.%V)] // CHECK:STDOUT: %W.loc5_19.1: type = bind_symbolic_name W, 1 [symbolic = %W.loc5_19.2 (constants.%W)] // CHECK:STDOUT: } -// CHECK:STDOUT: impl_decl @impl.a1a [concrete] { +// CHECK:STDOUT: impl_decl @I.impl [concrete] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: %C.type = name_ref C, file.%C.decl [concrete = constants.%C.generic] @@ -938,8 +938,8 @@ fn B() { // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: %T.loc7_14.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc7_14.2 (constants.%T.8b3)] // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @impl.a1a [concrete] -// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table, @impl.a1a(constants.%T.8b3) [symbolic = @impl.a1a.%I.impl_witness (constants.%I.impl_witness)] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @I.impl [concrete] +// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table, @I.impl(constants.%T.8b3) [symbolic = @I.impl.%I.impl_witness (constants.%I.impl_witness)] // CHECK:STDOUT: %A.decl: %A.type = fn_decl @A [concrete = constants.%A] { // CHECK:STDOUT: %T.patt: %pattern_type.2b5 = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: %t.patt: @A.%pattern_type (%pattern_type.6de) = binding_pattern t [concrete] @@ -966,10 +966,10 @@ fn B() { // CHECK:STDOUT: witness = () // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl.a1a(%T.loc7_14.1: type) { +// CHECK:STDOUT: generic impl @I.impl(%T.loc7_14.1: type) { // CHECK:STDOUT: %T.loc7_14.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc7_14.2 (constants.%T.8b3)] // CHECK:STDOUT: %C.loc7_31.2: type = class_type @C, @C(%T.loc7_14.2, constants.%empty_tuple.type) [symbolic = %C.loc7_31.2 (constants.%C.463)] -// CHECK:STDOUT: %I.impl_witness: = impl_witness file.%I.impl_witness_table, @impl.a1a(%T.loc7_14.2) [symbolic = %I.impl_witness (constants.%I.impl_witness)] +// CHECK:STDOUT: %I.impl_witness: = impl_witness file.%I.impl_witness_table, @I.impl(%T.loc7_14.2) [symbolic = %I.impl_witness (constants.%I.impl_witness)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: @@ -1041,7 +1041,7 @@ fn B() { // CHECK:STDOUT: %W.loc5_19.2 => constants.%empty_tuple.type // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.a1a(constants.%T.8b3) { +// CHECK:STDOUT: specific @I.impl(constants.%T.8b3) { // CHECK:STDOUT: %T.loc7_14.2 => constants.%T.8b3 // CHECK:STDOUT: %C.loc7_31.2 => constants.%C.463 // CHECK:STDOUT: %I.impl_witness => constants.%I.impl_witness 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 2130b3d9a11d..045f425a4350 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 @@ -103,17 +103,17 @@ fn F() { // CHECK:STDOUT: %Eats.decl: type = interface_decl @Eats [concrete = constants.%Eats.type] {} {} // CHECK:STDOUT: %Animal.decl: type = interface_decl @Animal [concrete = constants.%Animal.type] {} {} // CHECK:STDOUT: %Goat.decl: type = class_decl @Goat [concrete = constants.%Goat] {} {} -// CHECK:STDOUT: impl_decl @impl.27e [concrete] {} { +// CHECK:STDOUT: impl_decl @Animal.impl [concrete] {} { // CHECK:STDOUT: %Goat.ref: type = name_ref Goat, file.%Goat.decl [concrete = constants.%Goat] // CHECK:STDOUT: %Animal.ref: type = name_ref Animal, file.%Animal.decl [concrete = constants.%Animal.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %Animal.impl_witness_table = impl_witness_table (), @impl.27e [concrete] +// CHECK:STDOUT: %Animal.impl_witness_table = impl_witness_table (), @Animal.impl [concrete] // CHECK:STDOUT: %Animal.impl_witness: = impl_witness %Animal.impl_witness_table [concrete = constants.%Animal.impl_witness] -// CHECK:STDOUT: impl_decl @impl.b88 [concrete] {} { +// CHECK:STDOUT: impl_decl @Eats.impl [concrete] {} { // CHECK:STDOUT: %Goat.ref: type = name_ref Goat, file.%Goat.decl [concrete = constants.%Goat] // CHECK:STDOUT: %Eats.ref: type = name_ref Eats, file.%Eats.decl [concrete = constants.%Eats.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %Eats.impl_witness_table = impl_witness_table (), @impl.b88 [concrete] +// CHECK:STDOUT: %Eats.impl_witness_table = impl_witness_table (), @Eats.impl [concrete] // CHECK:STDOUT: %Eats.impl_witness: = impl_witness %Eats.impl_witness_table [concrete = constants.%Eats.impl_witness] // CHECK:STDOUT: %Feed.decl: %Feed.type = fn_decl @Feed [concrete = constants.%Feed] { // CHECK:STDOUT: %e.patt: %pattern_type = symbolic_binding_pattern e, 0 [concrete] @@ -140,12 +140,12 @@ fn F() { // CHECK:STDOUT: witness = () // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.27e: %Goat.ref as %Animal.ref { +// CHECK:STDOUT: impl @Animal.impl: %Goat.ref as %Animal.ref { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = file.%Animal.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.b88: %Goat.ref as %Eats.ref { +// CHECK:STDOUT: impl @Eats.impl: %Goat.ref as %Eats.ref { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = file.%Eats.impl_witness // CHECK:STDOUT: } @@ -225,7 +225,7 @@ fn F() { // CHECK:STDOUT: %Goat.val: %Goat = struct_value () [concrete] // CHECK:STDOUT: %.f6e: type = fn_type_with_self_type %Eat.type.e5d, %Eats.facet [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.e7a: type = fn_type @Op.2, @impl.49c(%Goat) [concrete] +// CHECK:STDOUT: %Op.type.e7a: type = fn_type @Op.2, @Destroy.impl(%Goat) [concrete] // CHECK:STDOUT: %Op.55a: %Op.type.e7a = struct_value () [concrete] // CHECK:STDOUT: %ptr.940: type = ptr_type %Goat [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.55a, @Op.2(%Goat) [concrete] @@ -274,12 +274,12 @@ fn F() { // CHECK:STDOUT: witness = () // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.32f: %Self.ref as %Animal.ref { +// CHECK:STDOUT: impl @Animal.impl: %Self.ref as %Animal.ref { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = @Goat.%Animal.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.626: %Self.ref as %Eats.ref { +// 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: // CHECK:STDOUT: !members: @@ -289,17 +289,17 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: class @Goat { // CHECK:STDOUT: %Bleet.decl: %Bleet.type = fn_decl @Bleet [concrete = constants.%Bleet] {} {} -// CHECK:STDOUT: impl_decl @impl.32f [concrete] {} { +// CHECK:STDOUT: impl_decl @Animal.impl [concrete] {} { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%Goat [concrete = constants.%Goat] // CHECK:STDOUT: %Animal.ref: type = name_ref Animal, file.%Animal.decl [concrete = constants.%Animal.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %Animal.impl_witness_table = impl_witness_table (), @impl.32f [concrete] +// CHECK:STDOUT: %Animal.impl_witness_table = impl_witness_table (), @Animal.impl [concrete] // CHECK:STDOUT: %Animal.impl_witness: = impl_witness %Animal.impl_witness_table [concrete = constants.%Animal.impl_witness] -// CHECK:STDOUT: impl_decl @impl.626 [concrete] {} { +// CHECK:STDOUT: impl_decl @Eats.impl [concrete] {} { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%Goat [concrete = constants.%Goat] // CHECK:STDOUT: %Eats.ref: type = name_ref Eats, file.%Eats.decl [concrete = constants.%Eats.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %Eats.impl_witness_table = impl_witness_table (@impl.626.%Eat.decl), @impl.626 [concrete] +// CHECK:STDOUT: %Eats.impl_witness_table = impl_witness_table (@Eats.impl.%Eat.decl), @Eats.impl [concrete] // CHECK:STDOUT: %Eats.impl_witness: = impl_witness %Eats.impl_witness_table [concrete = constants.%Eats.impl_witness] // 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] @@ -311,7 +311,7 @@ fn F() { // CHECK:STDOUT: .Animal = // CHECK:STDOUT: .Eats = // CHECK:STDOUT: .Eat = -// CHECK:STDOUT: extend @impl.626.%Eats.ref +// CHECK:STDOUT: extend @Eats.impl.%Eats.ref // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @Eat.1(@Eats.%Self: %Eats.type) { diff --git a/toolchain/check/testdata/facet/convert_facet_value_to_itself.carbon b/toolchain/check/testdata/facet/convert_facet_value_to_itself.carbon index 15f4e3fd92e9..a7573d5f424c 100644 --- a/toolchain/check/testdata/facet/convert_facet_value_to_itself.carbon +++ b/toolchain/check/testdata/facet/convert_facet_value_to_itself.carbon @@ -80,11 +80,11 @@ fn F() { // CHECK:STDOUT: %T.loc19_17.1: %Animal.type = bind_symbolic_name T, 0 [symbolic = %T.loc19_17.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %Goat.decl: type = class_decl @Goat [concrete = constants.%Goat] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @Animal.impl [concrete] {} { // CHECK:STDOUT: %Goat.ref: type = name_ref Goat, file.%Goat.decl [concrete = constants.%Goat] // CHECK:STDOUT: %Animal.ref: type = name_ref Animal, file.%Animal.decl [concrete = constants.%Animal.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %Animal.impl_witness_table = impl_witness_table (), @impl [concrete] +// CHECK:STDOUT: %Animal.impl_witness_table = impl_witness_table (), @Animal.impl [concrete] // CHECK:STDOUT: %Animal.impl_witness: = impl_witness %Animal.impl_witness_table [concrete = constants.%Animal.impl_witness] // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] {} {} // CHECK:STDOUT: } @@ -97,7 +97,7 @@ fn F() { // CHECK:STDOUT: witness = () // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %Goat.ref as %Animal.ref { +// CHECK:STDOUT: impl @Animal.impl: %Goat.ref as %Animal.ref { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = file.%Animal.impl_witness // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/facet/convert_facet_value_to_narrowed_facet_type.carbon b/toolchain/check/testdata/facet/convert_facet_value_to_narrowed_facet_type.carbon index 00c2a862be30..424a17b2448b 100644 --- a/toolchain/check/testdata/facet/convert_facet_value_to_narrowed_facet_type.carbon +++ b/toolchain/check/testdata/facet/convert_facet_value_to_narrowed_facet_type.carbon @@ -135,7 +135,7 @@ fn CallsWithTypeExplicit(U:! type) { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.BitAndWith: %BitAndWith.type.f2e = import_ref Core//prelude, BitAndWith, loaded [concrete = constants.%BitAndWith.generic] // CHECK:STDOUT: %Core.import_ref.012: %Op.type.1cc = import_ref Core//prelude, loc13_42, loaded [concrete = constants.%Op.ff4] -// CHECK:STDOUT: %BitAndWith.impl_witness_table = impl_witness_table (%Core.import_ref.012), @impl [concrete] +// CHECK:STDOUT: %BitAndWith.impl_witness_table = impl_witness_table (%Core.import_ref.012), @BitAndWith.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -318,7 +318,7 @@ fn CallsWithTypeExplicit(U:! type) { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.BitAndWith: %BitAndWith.type.f2e = import_ref Core//prelude, BitAndWith, loaded [concrete = constants.%BitAndWith.generic] // CHECK:STDOUT: %Core.import_ref.012: %Op.type.1cc = import_ref Core//prelude, loc13_42, loaded [concrete = constants.%Op.ff4] -// CHECK:STDOUT: %BitAndWith.impl_witness_table = impl_witness_table (%Core.import_ref.012), @impl [concrete] +// CHECK:STDOUT: %BitAndWith.impl_witness_table = impl_witness_table (%Core.import_ref.012), @BitAndWith.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -485,7 +485,7 @@ fn CallsWithTypeExplicit(U:! type) { // CHECK:STDOUT: %A: %Animal.type = bind_symbolic_name A, 0 [symbolic] // CHECK:STDOUT: %pattern_type.3b0: type = pattern_type %Animal.type [concrete] // CHECK:STDOUT: %A.as_type: type = facet_access_type %A [symbolic] -// CHECK:STDOUT: %Eats.impl_witness.8ab: = impl_witness file.%Eats.impl_witness_table, @impl.e7b(%A) [symbolic] +// CHECK:STDOUT: %Eats.impl_witness.8ab: = impl_witness file.%Eats.impl_witness_table, @Eats.impl(%A) [symbolic] // CHECK:STDOUT: %BitAndWith.type.f2e: type = generic_interface_type @BitAndWith [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %BitAndWith.generic: %BitAndWith.type.f2e = struct_value () [concrete] @@ -516,7 +516,7 @@ fn CallsWithTypeExplicit(U:! type) { // CHECK:STDOUT: %require_complete.ba9: = require_complete_type %W.as_type [symbolic] // CHECK:STDOUT: %Animal.lookup_impl_witness: = lookup_impl_witness %W, @Animal [symbolic] // CHECK:STDOUT: %Animal.facet: %Animal.type = facet_value %W.as_type, (%Animal.lookup_impl_witness) [symbolic] -// CHECK:STDOUT: %Eats.impl_witness.e5d: = impl_witness file.%Eats.impl_witness_table, @impl.e7b(%Animal.facet) [symbolic] +// CHECK:STDOUT: %Eats.impl_witness.e5d: = impl_witness file.%Eats.impl_witness_table, @Eats.impl(%Animal.facet) [symbolic] // CHECK:STDOUT: %Eats.lookup_impl_witness: = lookup_impl_witness %W, @Eats [symbolic] // CHECK:STDOUT: %Tame.lookup_impl_witness: = lookup_impl_witness %W, @Tame [symbolic] // CHECK:STDOUT: %facet_value: %facet_type.6ff = facet_value %W.as_type, (%Eats.lookup_impl_witness, %Tame.lookup_impl_witness) [symbolic] @@ -531,7 +531,7 @@ fn CallsWithTypeExplicit(U:! type) { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.BitAndWith: %BitAndWith.type.f2e = import_ref Core//prelude, BitAndWith, loaded [concrete = constants.%BitAndWith.generic] // CHECK:STDOUT: %Core.import_ref.012: %Op.type.1cc = import_ref Core//prelude, loc13_42, loaded [concrete = constants.%Op.ff4] -// CHECK:STDOUT: %BitAndWith.impl_witness_table = impl_witness_table (%Core.import_ref.012), @impl.865 [concrete] +// CHECK:STDOUT: %BitAndWith.impl_witness_table = impl_witness_table (%Core.import_ref.012), @BitAndWith.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -547,7 +547,7 @@ fn CallsWithTypeExplicit(U:! type) { // CHECK:STDOUT: %Eats.decl: type = interface_decl @Eats [concrete = constants.%Eats.type] {} {} // CHECK:STDOUT: %Animal.decl: type = interface_decl @Animal [concrete = constants.%Animal.type] {} {} // CHECK:STDOUT: %Tame.decl: type = interface_decl @Tame [concrete = constants.%Tame.type] {} {} -// CHECK:STDOUT: impl_decl @impl.e7b [concrete] { +// CHECK:STDOUT: impl_decl @Eats.impl [concrete] { // CHECK:STDOUT: %A.patt: %pattern_type.3b0 = symbolic_binding_pattern A, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %A.ref: %Animal.type = name_ref A, %A.loc7_14.1 [symbolic = %A.loc7_14.2 (constants.%A)] @@ -557,8 +557,8 @@ fn CallsWithTypeExplicit(U:! type) { // CHECK:STDOUT: %Animal.ref: type = name_ref Animal, file.%Animal.decl [concrete = constants.%Animal.type] // CHECK:STDOUT: %A.loc7_14.1: %Animal.type = bind_symbolic_name A, 0 [symbolic = %A.loc7_14.2 (constants.%A)] // CHECK:STDOUT: } -// CHECK:STDOUT: %Eats.impl_witness_table = impl_witness_table (), @impl.e7b [concrete] -// CHECK:STDOUT: %Eats.impl_witness: = impl_witness %Eats.impl_witness_table, @impl.e7b(constants.%A) [symbolic = @impl.e7b.%Eats.impl_witness (constants.%Eats.impl_witness.8ab)] +// CHECK:STDOUT: %Eats.impl_witness_table = impl_witness_table (), @Eats.impl [concrete] +// CHECK:STDOUT: %Eats.impl_witness: = impl_witness %Eats.impl_witness_table, @Eats.impl(constants.%A) [symbolic = @Eats.impl.%Eats.impl_witness (constants.%Eats.impl_witness.8ab)] // CHECK:STDOUT: %FeedTame2.decl: %FeedTame2.type = fn_decl @FeedTame2 [concrete = constants.%FeedTame2] { // CHECK:STDOUT: %V.patt: %pattern_type.9f3 = symbolic_binding_pattern V, 0 [concrete] // CHECK:STDOUT: %v.patt: @FeedTame2.%pattern_type (%pattern_type.760) = binding_pattern v [concrete] @@ -631,10 +631,10 @@ fn CallsWithTypeExplicit(U:! type) { // CHECK:STDOUT: witness = () // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl.e7b(%A.loc7_14.1: %Animal.type) { +// CHECK:STDOUT: generic impl @Eats.impl(%A.loc7_14.1: %Animal.type) { // CHECK:STDOUT: %A.loc7_14.2: %Animal.type = bind_symbolic_name A, 0 [symbolic = %A.loc7_14.2 (constants.%A)] // CHECK:STDOUT: %A.as_type.loc7_26.2: type = facet_access_type %A.loc7_14.2 [symbolic = %A.as_type.loc7_26.2 (constants.%A.as_type)] -// CHECK:STDOUT: %Eats.impl_witness: = impl_witness file.%Eats.impl_witness_table, @impl.e7b(%A.loc7_14.2) [symbolic = %Eats.impl_witness (constants.%Eats.impl_witness.8ab)] +// CHECK:STDOUT: %Eats.impl_witness: = impl_witness file.%Eats.impl_witness_table, @Eats.impl(%A.loc7_14.2) [symbolic = %Eats.impl_witness (constants.%Eats.impl_witness.8ab)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: @@ -694,7 +694,7 @@ fn CallsWithTypeExplicit(U:! type) { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.e7b(constants.%A) { +// CHECK:STDOUT: specific @Eats.impl(constants.%A) { // CHECK:STDOUT: %A.loc7_14.2 => constants.%A // CHECK:STDOUT: %A.as_type.loc7_26.2 => constants.%A.as_type // CHECK:STDOUT: %Eats.impl_witness => constants.%Eats.impl_witness.8ab @@ -712,7 +712,7 @@ fn CallsWithTypeExplicit(U:! type) { // CHECK:STDOUT: %pattern_type => constants.%pattern_type.5d1 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.e7b(constants.%Animal.facet) { +// CHECK:STDOUT: specific @Eats.impl(constants.%Animal.facet) { // CHECK:STDOUT: %A.loc7_14.2 => constants.%Animal.facet // CHECK:STDOUT: %A.as_type.loc7_26.2 => constants.%W.as_type // CHECK:STDOUT: %Eats.impl_witness => constants.%Eats.impl_witness.e5d diff --git a/toolchain/check/testdata/facet/convert_facet_value_value_to_blanket_impl.carbon b/toolchain/check/testdata/facet/convert_facet_value_value_to_blanket_impl.carbon index b590ec947f70..5e81c6f31fb6 100644 --- a/toolchain/check/testdata/facet/convert_facet_value_value_to_blanket_impl.carbon +++ b/toolchain/check/testdata/facet/convert_facet_value_value_to_blanket_impl.carbon @@ -31,7 +31,7 @@ fn HandleAnimal[T:! Animal](a: T) { Feed(a); } // CHECK:STDOUT: %A: %Animal.type = bind_symbolic_name A, 0 [symbolic] // CHECK:STDOUT: %pattern_type.3b0: type = pattern_type %Animal.type [concrete] // CHECK:STDOUT: %A.as_type: type = facet_access_type %A [symbolic] -// CHECK:STDOUT: %Eats.impl_witness.8abeaf.1: = impl_witness file.%Eats.impl_witness_table, @impl(%A) [symbolic] +// CHECK:STDOUT: %Eats.impl_witness.8abeaf.1: = impl_witness file.%Eats.impl_witness_table, @Eats.impl(%A) [symbolic] // CHECK:STDOUT: %T.1b5: %Eats.type = bind_symbolic_name T, 0 [symbolic] // CHECK:STDOUT: %pattern_type.a05: type = pattern_type %Eats.type [concrete] // CHECK:STDOUT: %T.as_type.27d: type = facet_access_type %T.1b5 [symbolic] @@ -46,7 +46,7 @@ fn HandleAnimal[T:! Animal](a: T) { Feed(a); } // CHECK:STDOUT: %HandleAnimal.type: type = fn_type @HandleAnimal [concrete] // CHECK:STDOUT: %HandleAnimal: %HandleAnimal.type = struct_value () [concrete] // CHECK:STDOUT: %require_complete.234: = require_complete_type %T.as_type.2ad [symbolic] -// CHECK:STDOUT: %Eats.impl_witness.8abeaf.2: = impl_witness file.%Eats.impl_witness_table, @impl(%T.fd4) [symbolic] +// CHECK:STDOUT: %Eats.impl_witness.8abeaf.2: = impl_witness file.%Eats.impl_witness_table, @Eats.impl(%T.fd4) [symbolic] // CHECK:STDOUT: %Eats.lookup_impl_witness: = lookup_impl_witness %T.fd4, @Eats [symbolic] // CHECK:STDOUT: %Eats.facet: %Eats.type = facet_value %T.as_type.2ad, (%Eats.lookup_impl_witness) [symbolic] // CHECK:STDOUT: %Feed.specific_fn: = specific_function %Feed, @Feed(%Eats.facet) [symbolic] @@ -70,7 +70,7 @@ fn HandleAnimal[T:! Animal](a: T) { Feed(a); } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Eats.decl: type = interface_decl @Eats [concrete = constants.%Eats.type] {} {} // CHECK:STDOUT: %Animal.decl: type = interface_decl @Animal [concrete = constants.%Animal.type] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] { +// CHECK:STDOUT: impl_decl @Eats.impl [concrete] { // CHECK:STDOUT: %A.patt: %pattern_type.3b0 = symbolic_binding_pattern A, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %A.ref: %Animal.type = name_ref A, %A.loc18_14.1 [symbolic = %A.loc18_14.2 (constants.%A)] @@ -80,8 +80,8 @@ fn HandleAnimal[T:! Animal](a: T) { Feed(a); } // CHECK:STDOUT: %Animal.ref: type = name_ref Animal, file.%Animal.decl [concrete = constants.%Animal.type] // CHECK:STDOUT: %A.loc18_14.1: %Animal.type = bind_symbolic_name A, 0 [symbolic = %A.loc18_14.2 (constants.%A)] // CHECK:STDOUT: } -// CHECK:STDOUT: %Eats.impl_witness_table = impl_witness_table (), @impl [concrete] -// CHECK:STDOUT: %Eats.impl_witness: = impl_witness %Eats.impl_witness_table, @impl(constants.%A) [symbolic = @impl.%Eats.impl_witness (constants.%Eats.impl_witness.8abeaf.1)] +// CHECK:STDOUT: %Eats.impl_witness_table = impl_witness_table (), @Eats.impl [concrete] +// CHECK:STDOUT: %Eats.impl_witness: = impl_witness %Eats.impl_witness_table, @Eats.impl(constants.%A) [symbolic = @Eats.impl.%Eats.impl_witness (constants.%Eats.impl_witness.8abeaf.1)] // CHECK:STDOUT: %Feed.decl: %Feed.type = fn_decl @Feed [concrete = constants.%Feed] { // CHECK:STDOUT: %T.patt: %pattern_type.a05 = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: %e.patt: @Feed.%pattern_type (%pattern_type.2b4) = binding_pattern e [concrete] @@ -130,10 +130,10 @@ fn HandleAnimal[T:! Animal](a: T) { Feed(a); } // CHECK:STDOUT: witness = () // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl(%A.loc18_14.1: %Animal.type) { +// CHECK:STDOUT: generic impl @Eats.impl(%A.loc18_14.1: %Animal.type) { // CHECK:STDOUT: %A.loc18_14.2: %Animal.type = bind_symbolic_name A, 0 [symbolic = %A.loc18_14.2 (constants.%A)] // CHECK:STDOUT: %A.as_type.loc18_26.2: type = facet_access_type %A.loc18_14.2 [symbolic = %A.as_type.loc18_26.2 (constants.%A.as_type)] -// CHECK:STDOUT: %Eats.impl_witness: = impl_witness file.%Eats.impl_witness_table, @impl(%A.loc18_14.2) [symbolic = %Eats.impl_witness (constants.%Eats.impl_witness.8abeaf.1)] +// CHECK:STDOUT: %Eats.impl_witness: = impl_witness file.%Eats.impl_witness_table, @Eats.impl(%A.loc18_14.2) [symbolic = %Eats.impl_witness (constants.%Eats.impl_witness.8abeaf.1)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: @@ -188,7 +188,7 @@ fn HandleAnimal[T:! Animal](a: T) { Feed(a); } // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl(constants.%A) { +// CHECK:STDOUT: specific @Eats.impl(constants.%A) { // CHECK:STDOUT: %A.loc18_14.2 => constants.%A // CHECK:STDOUT: %A.as_type.loc18_26.2 => constants.%A.as_type // CHECK:STDOUT: %Eats.impl_witness => constants.%Eats.impl_witness.8abeaf.1 @@ -206,7 +206,7 @@ fn HandleAnimal[T:! Animal](a: T) { Feed(a); } // CHECK:STDOUT: %pattern_type => constants.%pattern_type.36a // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl(constants.%T.fd4) { +// CHECK:STDOUT: specific @Eats.impl(constants.%T.fd4) { // CHECK:STDOUT: %A.loc18_14.2 => constants.%T.fd4 // CHECK:STDOUT: %A.as_type.loc18_26.2 => constants.%T.as_type.2ad // CHECK:STDOUT: %Eats.impl_witness => constants.%Eats.impl_witness.8abeaf.2 diff --git a/toolchain/check/testdata/facet/convert_facet_value_value_to_generic_facet_value_value.carbon b/toolchain/check/testdata/facet/convert_facet_value_value_to_generic_facet_value_value.carbon index 7b8a6910906b..24c74e7c011d 100644 --- a/toolchain/check/testdata/facet/convert_facet_value_value_to_generic_facet_value_value.carbon +++ b/toolchain/check/testdata/facet/convert_facet_value_value_to_generic_facet_value_value.carbon @@ -62,7 +62,7 @@ fn F() { // CHECK:STDOUT: %Eats.type.f54c3d.1: type = facet_type <@Eats, @Eats(%U.as_type)> [symbolic] // CHECK:STDOUT: %Self.c30: %Eats.type.f54c3d.1 = bind_symbolic_name Self, 1 [symbolic] // CHECK:STDOUT: %require_complete.42532a.1: = require_complete_type %Eats.type.f54c3d.1 [symbolic] -// CHECK:STDOUT: %Eats.impl_witness.fabf92.1: = impl_witness file.%Eats.impl_witness_table, @impl.009(%T.fd4, %U) [symbolic] +// CHECK:STDOUT: %Eats.impl_witness.fabf92.1: = impl_witness file.%Eats.impl_witness_table, @Eats.impl(%T.fd4, %U) [symbolic] // CHECK:STDOUT: %Goat: type = class_type @Goat [concrete] // CHECK:STDOUT: %Animal.impl_witness: = impl_witness file.%Animal.impl_witness_table [concrete] // CHECK:STDOUT: %Food.9af: %Edible.type = bind_symbolic_name Food, 0 [symbolic] @@ -87,7 +87,7 @@ fn F() { // CHECK:STDOUT: %require_complete.444: = require_complete_type %Food.as_type.fae [symbolic] // CHECK:STDOUT: %Eats.type.f54c3d.2: type = facet_type <@Eats, @Eats(%Food.as_type.fae)> [symbolic] // CHECK:STDOUT: %require_complete.42532a.2: = require_complete_type %Eats.type.f54c3d.2 [symbolic] -// CHECK:STDOUT: %Eats.impl_witness.fabf92.2: = impl_witness file.%Eats.impl_witness_table, @impl.009(%T.fd4, %Food.5fe) [symbolic] +// CHECK:STDOUT: %Eats.impl_witness.fabf92.2: = impl_witness file.%Eats.impl_witness_table, @Eats.impl(%T.fd4, %Food.5fe) [symbolic] // CHECK:STDOUT: %Eats.lookup_impl_witness: = lookup_impl_witness %T.fd4, @Eats, @Eats(%Food.as_type.fae) [symbolic] // CHECK:STDOUT: %Eats.facet.512: %Eats.type.f54c3d.2 = facet_value %T.as_type.2ad, (%Eats.lookup_impl_witness) [symbolic] // CHECK:STDOUT: %pattern_type.bb9: type = pattern_type %Eats.type.f54c3d.2 [symbolic] @@ -102,18 +102,18 @@ fn F() { // CHECK:STDOUT: %pattern_type.aff: type = pattern_type %Grass [concrete] // CHECK:STDOUT: %HandleAnimal.specific_fn: = specific_function %HandleAnimal, @HandleAnimal(%Animal.facet, %Edible.facet) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.7fb: type = fn_type @Op.2, @impl.49c(%Grass) [concrete] +// CHECK:STDOUT: %Op.type.7fb: type = fn_type @Op.2, @Destroy.impl(%Grass) [concrete] // CHECK:STDOUT: %Op.d66: %Op.type.7fb = struct_value () [concrete] // CHECK:STDOUT: %ptr.2bd: type = ptr_type %Grass [concrete] // CHECK:STDOUT: %Op.specific_fn.9e2: = specific_function %Op.d66, @Op.2(%Grass) [concrete] -// CHECK:STDOUT: %Op.type.e7a: type = fn_type @Op.2, @impl.49c(%Goat) [concrete] +// CHECK:STDOUT: %Op.type.e7a: type = fn_type @Op.2, @Destroy.impl(%Goat) [concrete] // CHECK:STDOUT: %Op.55a: %Op.type.e7a = struct_value () [concrete] // CHECK:STDOUT: %ptr.940: type = ptr_type %Goat [concrete] // CHECK:STDOUT: %Op.specific_fn.d9f: = specific_function %Op.55a, @Op.2(%Goat) [concrete] // CHECK:STDOUT: %Eats.type.1ae: type = facet_type <@Eats, @Eats(%Grass)> [concrete] // CHECK:STDOUT: %Self.016: %Eats.type.1ae = bind_symbolic_name Self, 1 [symbolic] // CHECK:STDOUT: %complete_type.004: = complete_type_witness %Eats.type.1ae [concrete] -// CHECK:STDOUT: %Eats.impl_witness.1cf: = impl_witness file.%Eats.impl_witness_table, @impl.009(%Animal.facet, %Edible.facet) [concrete] +// CHECK:STDOUT: %Eats.impl_witness.1cf: = impl_witness file.%Eats.impl_witness_table, @Eats.impl(%Animal.facet, %Edible.facet) [concrete] // CHECK:STDOUT: %Eats.facet.cb1: %Eats.type.1ae = facet_value %Goat, (%Eats.impl_witness.1cf) [concrete] // CHECK:STDOUT: %pattern_type.d77: type = pattern_type %Eats.type.1ae [concrete] // CHECK:STDOUT: %Feed.specific_fn.86c: = specific_function %Feed, @Feed(%Edible.facet, %Eats.facet.cb1) [concrete] @@ -143,11 +143,11 @@ fn F() { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Edible.decl: type = interface_decl @Edible [concrete = constants.%Edible.type] {} {} // CHECK:STDOUT: %Grass.decl: type = class_decl @Grass [concrete = constants.%Grass] {} {} -// CHECK:STDOUT: impl_decl @impl.592 [concrete] {} { +// CHECK:STDOUT: impl_decl @Edible.impl [concrete] {} { // CHECK:STDOUT: %Grass.ref: type = name_ref Grass, file.%Grass.decl [concrete = constants.%Grass] // CHECK:STDOUT: %Edible.ref: type = name_ref Edible, file.%Edible.decl [concrete = constants.%Edible.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %Edible.impl_witness_table = impl_witness_table (), @impl.592 [concrete] +// CHECK:STDOUT: %Edible.impl_witness_table = impl_witness_table (), @Edible.impl [concrete] // CHECK:STDOUT: %Edible.impl_witness: = impl_witness %Edible.impl_witness_table [concrete = constants.%Edible.impl_witness] // CHECK:STDOUT: %Animal.decl: type = interface_decl @Animal [concrete = constants.%Animal.type] {} {} // CHECK:STDOUT: %Eats.decl: %Eats.type.ba2 = interface_decl @Eats [concrete = constants.%Eats.generic] { @@ -155,7 +155,7 @@ fn F() { // CHECK:STDOUT: } { // CHECK:STDOUT: %Food.loc21_16.1: type = bind_symbolic_name Food, 0 [symbolic = %Food.loc21_16.2 (constants.%Food.8b3)] // CHECK:STDOUT: } -// CHECK:STDOUT: impl_decl @impl.009 [concrete] { +// CHECK:STDOUT: impl_decl @Eats.impl [concrete] { // CHECK:STDOUT: %T.patt: %pattern_type.3b0 = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: %U.patt: %pattern_type.939 = symbolic_binding_pattern U, 1 [concrete] // CHECK:STDOUT: } { @@ -172,14 +172,14 @@ fn F() { // CHECK:STDOUT: %Edible.ref: type = name_ref Edible, file.%Edible.decl [concrete = constants.%Edible.type] // CHECK:STDOUT: %U.loc26_26.1: %Edible.type = bind_symbolic_name U, 1 [symbolic = %U.loc26_26.2 (constants.%U)] // CHECK:STDOUT: } -// CHECK:STDOUT: %Eats.impl_witness_table = impl_witness_table (), @impl.009 [concrete] -// CHECK:STDOUT: %Eats.impl_witness: = impl_witness %Eats.impl_witness_table, @impl.009(constants.%T.fd4, constants.%U) [symbolic = @impl.009.%Eats.impl_witness (constants.%Eats.impl_witness.fabf92.1)] +// CHECK:STDOUT: %Eats.impl_witness_table = impl_witness_table (), @Eats.impl [concrete] +// CHECK:STDOUT: %Eats.impl_witness: = impl_witness %Eats.impl_witness_table, @Eats.impl(constants.%T.fd4, constants.%U) [symbolic = @Eats.impl.%Eats.impl_witness (constants.%Eats.impl_witness.fabf92.1)] // CHECK:STDOUT: %Goat.decl: type = class_decl @Goat [concrete = constants.%Goat] {} {} -// CHECK:STDOUT: impl_decl @impl.27e [concrete] {} { +// CHECK:STDOUT: impl_decl @Animal.impl [concrete] {} { // CHECK:STDOUT: %Goat.ref: type = name_ref Goat, file.%Goat.decl [concrete = constants.%Goat] // CHECK:STDOUT: %Animal.ref: type = name_ref Animal, file.%Animal.decl [concrete = constants.%Animal.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %Animal.impl_witness_table = impl_witness_table (), @impl.27e [concrete] +// CHECK:STDOUT: %Animal.impl_witness_table = impl_witness_table (), @Animal.impl [concrete] // CHECK:STDOUT: %Animal.impl_witness: = impl_witness %Animal.impl_witness_table [concrete = constants.%Animal.impl_witness] // CHECK:STDOUT: %Feed.decl: %Feed.type = fn_decl @Feed [concrete = constants.%Feed] { // CHECK:STDOUT: %Food.patt: %pattern_type.939 = symbolic_binding_pattern Food, 0 [concrete] @@ -280,19 +280,19 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.592: %Grass.ref as %Edible.ref { +// CHECK:STDOUT: impl @Edible.impl: %Grass.ref as %Edible.ref { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = file.%Edible.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl.009(%T.loc26_14.1: %Animal.type, %U.loc26_26.1: %Edible.type) { +// CHECK:STDOUT: generic impl @Eats.impl(%T.loc26_14.1: %Animal.type, %U.loc26_26.1: %Edible.type) { // CHECK:STDOUT: %T.loc26_14.2: %Animal.type = bind_symbolic_name T, 0 [symbolic = %T.loc26_14.2 (constants.%T.fd4)] // CHECK:STDOUT: %U.loc26_26.2: %Edible.type = bind_symbolic_name U, 1 [symbolic = %U.loc26_26.2 (constants.%U)] // CHECK:STDOUT: %T.as_type.loc26_38.2: type = facet_access_type %T.loc26_14.2 [symbolic = %T.as_type.loc26_38.2 (constants.%T.as_type.2ad)] // CHECK:STDOUT: %U.as_type.loc26_49.2: type = facet_access_type %U.loc26_26.2 [symbolic = %U.as_type.loc26_49.2 (constants.%U.as_type)] // CHECK:STDOUT: %Eats.type.loc26_49.2: type = facet_type <@Eats, @Eats(%U.as_type.loc26_49.2)> [symbolic = %Eats.type.loc26_49.2 (constants.%Eats.type.f54c3d.1)] // CHECK:STDOUT: %require_complete: = require_complete_type %Eats.type.loc26_49.2 [symbolic = %require_complete (constants.%require_complete.42532a.1)] -// CHECK:STDOUT: %Eats.impl_witness: = impl_witness file.%Eats.impl_witness_table, @impl.009(%T.loc26_14.2, %U.loc26_26.2) [symbolic = %Eats.impl_witness (constants.%Eats.impl_witness.fabf92.1)] +// CHECK:STDOUT: %Eats.impl_witness: = impl_witness file.%Eats.impl_witness_table, @Eats.impl(%T.loc26_14.2, %U.loc26_26.2) [symbolic = %Eats.impl_witness (constants.%Eats.impl_witness.fabf92.1)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: @@ -302,7 +302,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.27e: %Goat.ref as %Animal.ref { +// CHECK:STDOUT: impl @Animal.impl: %Goat.ref as %Animal.ref { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = file.%Animal.impl_witness // CHECK:STDOUT: } @@ -432,7 +432,7 @@ fn F() { // CHECK:STDOUT: %Self.2 => constants.%Self.c30 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.009(constants.%T.fd4, constants.%U) { +// CHECK:STDOUT: specific @Eats.impl(constants.%T.fd4, constants.%U) { // CHECK:STDOUT: %T.loc26_14.2 => constants.%T.fd4 // CHECK:STDOUT: %U.loc26_26.2 => constants.%U // CHECK:STDOUT: %T.as_type.loc26_38.2 => constants.%T.as_type.2ad @@ -470,7 +470,7 @@ fn F() { // CHECK:STDOUT: %Food.loc21_16.2 => constants.%Food.as_type.fae // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.009(constants.%T.fd4, constants.%Food.5fe) { +// CHECK:STDOUT: specific @Eats.impl(constants.%T.fd4, constants.%Food.5fe) { // CHECK:STDOUT: %T.loc26_14.2 => constants.%T.fd4 // CHECK:STDOUT: %U.loc26_26.2 => constants.%Food.5fe // CHECK:STDOUT: %T.as_type.loc26_38.2 => constants.%T.as_type.2ad @@ -522,7 +522,7 @@ fn F() { // CHECK:STDOUT: %Self.2 => constants.%Self.016 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.009(constants.%Animal.facet, constants.%Edible.facet) { +// CHECK:STDOUT: specific @Eats.impl(constants.%Animal.facet, constants.%Edible.facet) { // CHECK:STDOUT: %T.loc26_14.2 => constants.%Animal.facet // CHECK:STDOUT: %U.loc26_26.2 => constants.%Edible.facet // CHECK:STDOUT: %T.as_type.loc26_38.2 => constants.%Goat diff --git a/toolchain/check/testdata/facet/convert_facet_value_value_to_itself.carbon b/toolchain/check/testdata/facet/convert_facet_value_value_to_itself.carbon index 0efbdaf667d4..93435d7d4852 100644 --- a/toolchain/check/testdata/facet/convert_facet_value_value_to_itself.carbon +++ b/toolchain/check/testdata/facet/convert_facet_value_value_to_itself.carbon @@ -52,7 +52,7 @@ fn F() { // CHECK:STDOUT: %pattern_type.ab7: type = pattern_type %Goat [concrete] // CHECK:STDOUT: %HandleAnimal.specific_fn: = specific_function %HandleAnimal, @HandleAnimal(%Animal.facet) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.e7a: type = fn_type @Op.2, @impl.49c(%Goat) [concrete] +// CHECK:STDOUT: %Op.type.e7a: type = fn_type @Op.2, @Destroy.impl(%Goat) [concrete] // CHECK:STDOUT: %Op.55a: %Op.type.e7a = struct_value () [concrete] // CHECK:STDOUT: %ptr.940: type = ptr_type %Goat [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.55a, @Op.2(%Goat) [concrete] @@ -110,11 +110,11 @@ fn F() { // CHECK:STDOUT: %a: @HandleAnimal.%T.as_type.loc19_32.2 (%T.as_type) = bind_name a, %a.param // CHECK:STDOUT: } // CHECK:STDOUT: %Goat.decl: type = class_decl @Goat [concrete = constants.%Goat] {} {} -// CHECK:STDOUT: impl_decl @impl.27e [concrete] {} { +// CHECK:STDOUT: impl_decl @Animal.impl [concrete] {} { // CHECK:STDOUT: %Goat.ref: type = name_ref Goat, file.%Goat.decl [concrete = constants.%Goat] // CHECK:STDOUT: %Animal.ref: type = name_ref Animal, file.%Animal.decl [concrete = constants.%Animal.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %Animal.impl_witness_table = impl_witness_table (), @impl.27e [concrete] +// CHECK:STDOUT: %Animal.impl_witness_table = impl_witness_table (), @Animal.impl [concrete] // CHECK:STDOUT: %Animal.impl_witness: = impl_witness %Animal.impl_witness_table [concrete = constants.%Animal.impl_witness] // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] {} {} // CHECK:STDOUT: } @@ -127,7 +127,7 @@ fn F() { // CHECK:STDOUT: witness = () // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.27e: %Goat.ref as %Animal.ref { +// CHECK:STDOUT: impl @Animal.impl: %Goat.ref as %Animal.ref { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = file.%Animal.impl_witness // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/facet/convert_interface.carbon b/toolchain/check/testdata/facet/convert_interface.carbon index 95dcf550c6bc..7e1bdfefede8 100644 --- a/toolchain/check/testdata/facet/convert_interface.carbon +++ b/toolchain/check/testdata/facet/convert_interface.carbon @@ -57,11 +57,11 @@ fn G() { F(Animal); } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Eats.decl: type = interface_decl @Eats [concrete = constants.%Eats.type] {} {} // CHECK:STDOUT: %Animal.decl: type = interface_decl @Animal [concrete = constants.%Animal.type] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @Eats.impl [concrete] {} { // CHECK:STDOUT: %Animal.ref: type = name_ref Animal, file.%Animal.decl [concrete = constants.%Animal.type] // CHECK:STDOUT: %Eats.ref: type = name_ref Eats, file.%Eats.decl [concrete = constants.%Eats.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %Eats.impl_witness_table = impl_witness_table (), @impl [concrete] +// CHECK:STDOUT: %Eats.impl_witness_table = impl_witness_table (), @Eats.impl [concrete] // CHECK:STDOUT: %Eats.impl_witness: = impl_witness %Eats.impl_witness_table [concrete = constants.%Eats.impl_witness] // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { // CHECK:STDOUT: %e.patt: %pattern_type = binding_pattern e [concrete] @@ -90,7 +90,7 @@ fn G() { F(Animal); } // CHECK:STDOUT: witness = () // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %Animal.ref as %Eats.ref { +// CHECK:STDOUT: impl @Eats.impl: %Animal.ref as %Eats.ref { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = file.%Eats.impl_witness // 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 256dd0b214ea..e294a562aa87 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 @@ -101,13 +101,13 @@ fn G() { // CHECK:STDOUT: %GenericParam.decl: type = class_decl @GenericParam [concrete = constants.%GenericParam] {} {} // CHECK:STDOUT: %WrongGenericParam.decl: type = class_decl @WrongGenericParam [concrete = constants.%WrongGenericParam] {} {} // CHECK:STDOUT: %ImplsGeneric.decl: type = class_decl @ImplsGeneric [concrete = constants.%ImplsGeneric] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @Generic.impl [concrete] {} { // CHECK:STDOUT: %ImplsGeneric.ref: type = name_ref ImplsGeneric, file.%ImplsGeneric.decl [concrete = constants.%ImplsGeneric] // CHECK:STDOUT: %Generic.ref: %Generic.type.c21 = name_ref Generic, file.%Generic.decl [concrete = constants.%Generic.generic] // CHECK:STDOUT: %GenericParam.ref: type = name_ref GenericParam, file.%GenericParam.decl [concrete = constants.%GenericParam] // CHECK:STDOUT: %Generic.type: type = facet_type <@Generic, @Generic(constants.%GenericParam)> [concrete = constants.%Generic.type.769] // CHECK:STDOUT: } -// CHECK:STDOUT: %Generic.impl_witness_table = impl_witness_table (@impl.%F.decl), @impl [concrete] +// CHECK:STDOUT: %Generic.impl_witness_table = impl_witness_table (@Generic.impl.%F.decl), @Generic.impl [concrete] // CHECK:STDOUT: %Generic.impl_witness: = impl_witness %Generic.impl_witness_table [concrete = constants.%Generic.impl_witness] // CHECK:STDOUT: %CallGenericMethod.decl: %CallGenericMethod.type = fn_decl @CallGenericMethod [concrete = constants.%CallGenericMethod] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] @@ -147,7 +147,7 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %ImplsGeneric.ref as %Generic.type { +// 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: // CHECK:STDOUT: !members: diff --git a/toolchain/check/testdata/facet/fail_convert_type_erased_type_to_facet.carbon b/toolchain/check/testdata/facet/fail_convert_type_erased_type_to_facet.carbon index eb8365cb6c28..d2c54a01cbf6 100644 --- a/toolchain/check/testdata/facet/fail_convert_type_erased_type_to_facet.carbon +++ b/toolchain/check/testdata/facet/fail_convert_type_erased_type_to_facet.carbon @@ -68,11 +68,11 @@ fn F() { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Animal.decl: type = interface_decl @Animal [concrete = constants.%Animal.type] {} {} // CHECK:STDOUT: %Goat.decl: type = class_decl @Goat [concrete = constants.%Goat] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @Animal.impl [concrete] {} { // CHECK:STDOUT: %Goat.ref: type = name_ref Goat, file.%Goat.decl [concrete = constants.%Goat] // CHECK:STDOUT: %Animal.ref: type = name_ref Animal, file.%Animal.decl [concrete = constants.%Animal.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %Animal.impl_witness_table = impl_witness_table (), @impl [concrete] +// CHECK:STDOUT: %Animal.impl_witness_table = impl_witness_table (), @Animal.impl [concrete] // CHECK:STDOUT: %Animal.impl_witness: = impl_witness %Animal.impl_witness_table [concrete = constants.%Animal.impl_witness] // CHECK:STDOUT: %WalkAnimal.decl: %WalkAnimal.type = fn_decl @WalkAnimal [concrete = constants.%WalkAnimal] { // CHECK:STDOUT: %a.patt: %pattern_type.3b0 = symbolic_binding_pattern a, 0 [concrete] @@ -91,7 +91,7 @@ fn F() { // CHECK:STDOUT: witness = () // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %Goat.ref as %Animal.ref { +// CHECK:STDOUT: impl @Animal.impl: %Goat.ref as %Animal.ref { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = file.%Animal.impl_witness // CHECK:STDOUT: } 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 02b17cebe3b4..e881a41e9054 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 @@ -84,11 +84,11 @@ fn G(holds_to: HoldsType((RuntimeConvertTo, ))) { // CHECK:STDOUT: %.f4e: type = fn_type_with_self_type %Convert.type.50a, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Convert.bound: = bound_method %from, %Convert.e81 [symbolic] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.139: type = fn_type @Op.2, @impl.49c(%RuntimeConvertTo) [concrete] +// CHECK:STDOUT: %Op.type.139: type = fn_type @Op.2, @Destroy.impl(%RuntimeConvertTo) [concrete] // CHECK:STDOUT: %Op.d2d: %Op.type.139 = struct_value () [concrete] // CHECK:STDOUT: %ptr.339: type = ptr_type %RuntimeConvertTo [concrete] // CHECK:STDOUT: %Op.specific_fn.373: = specific_function %Op.d2d, @Op.2(%RuntimeConvertTo) [concrete] -// CHECK:STDOUT: %Op.type.147: type = fn_type @Op.2, @impl.49c(%RuntimeConvertFrom) [concrete] +// CHECK:STDOUT: %Op.type.147: type = fn_type @Op.2, @Destroy.impl(%RuntimeConvertFrom) [concrete] // CHECK:STDOUT: %Op.3f3: %Op.type.147 = struct_value () [concrete] // CHECK:STDOUT: %ptr.415: type = ptr_type %RuntimeConvertFrom [concrete] // CHECK:STDOUT: %Op.specific_fn.5db: = specific_function %Op.3f3, @Op.2(%RuntimeConvertFrom) [concrete] @@ -126,14 +126,14 @@ fn G(holds_to: HoldsType((RuntimeConvertTo, ))) { // CHECK:STDOUT: } // CHECK:STDOUT: %RuntimeConvertFrom.decl: type = class_decl @RuntimeConvertFrom [concrete = constants.%RuntimeConvertFrom] {} {} // CHECK:STDOUT: %RuntimeConvertTo.decl: type = class_decl @RuntimeConvertTo [concrete = constants.%RuntimeConvertTo] {} {} -// CHECK:STDOUT: impl_decl @impl.423 [concrete] {} { +// CHECK:STDOUT: impl_decl @ImplicitAs.impl [concrete] {} { // CHECK:STDOUT: %RuntimeConvertFrom.ref: type = name_ref RuntimeConvertFrom, file.%RuntimeConvertFrom.decl [concrete = constants.%RuntimeConvertFrom] // CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %ImplicitAs.ref: %ImplicitAs.type.cc7 = name_ref ImplicitAs, imports.%Core.ImplicitAs [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %RuntimeConvertTo.ref: type = name_ref RuntimeConvertTo, file.%RuntimeConvertTo.decl [concrete = constants.%RuntimeConvertTo] // CHECK:STDOUT: %ImplicitAs.type: type = facet_type <@ImplicitAs, @ImplicitAs(constants.%RuntimeConvertTo)> [concrete = constants.%ImplicitAs.type.580] // CHECK:STDOUT: } -// CHECK:STDOUT: %ImplicitAs.impl_witness_table = impl_witness_table (@impl.423.%Convert.decl), @impl.423 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table = impl_witness_table (@ImplicitAs.impl.%Convert.decl), @ImplicitAs.impl [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness: = impl_witness %ImplicitAs.impl_witness_table [concrete = constants.%ImplicitAs.impl_witness] // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { // CHECK:STDOUT: %T.patt: %pattern_type.f1e = symbolic_binding_pattern T, 0 [concrete] @@ -177,7 +177,7 @@ fn G(holds_to: HoldsType((RuntimeConvertTo, ))) { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.423: %RuntimeConvertFrom.ref as %ImplicitAs.type { +// 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: %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] @@ -186,7 +186,7 @@ fn G(holds_to: HoldsType((RuntimeConvertTo, ))) { // CHECK:STDOUT: } { // CHECK:STDOUT: %RuntimeConvertTo.ref: type = name_ref RuntimeConvertTo, file.%RuntimeConvertTo.decl [concrete = constants.%RuntimeConvertTo] // CHECK:STDOUT: %self.param: %RuntimeConvertFrom = value_param call_param0 -// CHECK:STDOUT: %Self.ref: type = name_ref Self, @impl.423.%RuntimeConvertFrom.ref [concrete = constants.%RuntimeConvertFrom] +// CHECK:STDOUT: %Self.ref: type = name_ref Self, @ImplicitAs.impl.%RuntimeConvertFrom.ref [concrete = constants.%RuntimeConvertFrom] // CHECK:STDOUT: %self: %RuntimeConvertFrom = bind_name self, %self.param // CHECK:STDOUT: %return.param: ref %RuntimeConvertTo = out_param call_param1 // CHECK:STDOUT: %return: ref %RuntimeConvertTo = return_slot %return.param diff --git a/toolchain/check/testdata/for/actual.carbon b/toolchain/check/testdata/for/actual.carbon index 9670e2ddb996..ba87a0bc7c2c 100644 --- a/toolchain/check/testdata/for/actual.carbon +++ b/toolchain/check/testdata/for/actual.carbon @@ -87,14 +87,14 @@ fn Read() { // CHECK:STDOUT: %None.fd6: %None.type.ef2 = struct_value () [symbolic] // 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, @impl.7a3(%N) [symbolic] -// CHECK:STDOUT: %NewCursor.type.b02: type = fn_type @NewCursor.2, @impl.7a3(%N) [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.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, @impl.7a3(%N) [symbolic] +// CHECK:STDOUT: %Next.type.2c8: type = fn_type @Next.2, @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] @@ -122,14 +122,14 @@ fn Read() { // CHECK:STDOUT: %To.c80: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] // CHECK:STDOUT: %ImplicitAs.type.cc7: type = generic_interface_type @ImplicitAs [concrete] // CHECK:STDOUT: %ImplicitAs.generic: %ImplicitAs.type.cc7 = struct_value () [concrete] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To.c80) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To.c80) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] // CHECK:STDOUT: %M: Core.IntLiteral = bind_symbolic_name M, 1 [symbolic] -// CHECK:STDOUT: %Less.type.2c7: type = fn_type @Less.2, @impl.db3(%N, %M) [symbolic] +// CHECK:STDOUT: %Less.type.2c7: type = fn_type @Less.2, @OrderedWith.impl.db3(%N, %M) [symbolic] // CHECK:STDOUT: %Less.a5a: %Less.type.2c7 = struct_value () [symbolic] // CHECK:STDOUT: %Inc.type: type = facet_type <@Inc> [concrete] -// CHECK:STDOUT: %OrderedWith.impl_witness.df5: = impl_witness imports.%OrderedWith.impl_witness_table.2b2, @impl.db3(%N, %N) [symbolic] -// CHECK:STDOUT: %Less.type.98c: type = fn_type @Less.2, @impl.db3(%N, %N) [symbolic] +// CHECK:STDOUT: %OrderedWith.impl_witness.df5: = impl_witness imports.%OrderedWith.impl_witness_table.2b2, @OrderedWith.impl.db3(%N, %N) [symbolic] +// CHECK:STDOUT: %Less.type.98c: type = fn_type @Less.2, @OrderedWith.impl.db3(%N, %N) [symbolic] // CHECK:STDOUT: %Less.4be: %Less.type.98c = struct_value () [symbolic] // CHECK:STDOUT: %OrderedWith.facet: %OrderedWith.type.872 = facet_value %Int.49d0e6.1, (%OrderedWith.impl_witness.df5) [symbolic] // CHECK:STDOUT: %.99c: type = fn_type_with_self_type %Less.type.8fe, %OrderedWith.facet [symbolic] @@ -174,8 +174,8 @@ fn Read() { // CHECK:STDOUT: %Make.specific_fn: = specific_function %Make.0dc, @Make(%int_32) [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.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.921: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet.921 [concrete] @@ -183,7 +183,7 @@ fn Read() { // CHECK:STDOUT: %Convert.specific_fn: = specific_function %Convert.956, @Convert.2(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_0.5c6, %Convert.specific_fn [concrete] // CHECK:STDOUT: %int_0.6a9: %i32 = int_value 0 [concrete] -// CHECK:STDOUT: %Op.type.2d1: type = fn_type @Op.97, @impl.49c(%IntRange.365) [concrete] +// CHECK:STDOUT: %Op.type.2d1: type = fn_type @Op.97, @Destroy.impl(%IntRange.365) [concrete] // CHECK:STDOUT: %Op.fa8: %Op.type.2d1 = struct_value () [concrete] // CHECK:STDOUT: %ptr.049: type = ptr_type %IntRange.365 [concrete] // CHECK:STDOUT: %Op.specific_fn.df8: = specific_function %Op.fa8, @Op.97(%IntRange.365) [concrete] @@ -218,13 +218,13 @@ fn Read() { // CHECK:STDOUT: %Core.import_ref.1cc: @OrderedWith.%OrderedWith.assoc_type (%OrderedWith.assoc_type.03c) = import_ref Core//prelude/operators/comparison, loc26_44, loaded [symbolic = @OrderedWith.%assoc0 (constants.%assoc0.3c6)] // CHECK:STDOUT: %Core.import_ref.910: @OrderedWith.%Less.type (%Less.type.f19) = import_ref Core//prelude/operators/comparison, loc26_44, loaded [symbolic = @OrderedWith.%Less (constants.%Less.02e)] // CHECK:STDOUT: %Core.import_ref.146ebd.1 = import_ref Core//prelude/operators/comparison, loc26_44, unloaded -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/types/int, loc19_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] -// CHECK:STDOUT: %Core.import_ref.a5f: @impl.db3.%Less.type (%Less.type.2c7) = import_ref Core//prelude/types/int, loc51_46, loaded [symbolic = @impl.db3.%Less (constants.%Less.a5a)] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/types/int, loc19_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5f: @OrderedWith.impl.db3.%Less.type (%Less.type.2c7) = import_ref Core//prelude/types/int, loc51_46, loaded [symbolic = @OrderedWith.impl.db3.%Less (constants.%Less.a5a)] // CHECK:STDOUT: %Core.import_ref.a58 = import_ref Core//prelude/types/int, loc52_58, unloaded // CHECK:STDOUT: %Core.import_ref.a39 = import_ref Core//prelude/types/int, loc53_49, unloaded // CHECK:STDOUT: %Core.import_ref.c4c = import_ref Core//prelude/types/int, loc54_61, unloaded -// CHECK:STDOUT: %OrderedWith.impl_witness_table.2b2 = impl_witness_table (%Core.import_ref.a5f, %Core.import_ref.a58, %Core.import_ref.a39, %Core.import_ref.c4c), @impl.db3 [concrete] +// CHECK:STDOUT: %OrderedWith.impl_witness_table.2b2 = impl_witness_table (%Core.import_ref.a5f, %Core.import_ref.a58, %Core.import_ref.a39, %Core.import_ref.c4c), @OrderedWith.impl.db3 [concrete] // CHECK:STDOUT: %Core.Inc: type = import_ref Core//prelude/operators/arithmetic, Inc, loaded [concrete = constants.%Inc.type] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/operators/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] @@ -269,22 +269,22 @@ fn Read() { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl.7a3(@IntRange.%N.loc4_16.1: Core.IntLiteral) { +// CHECK:STDOUT: generic impl @Iterate.impl(@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: %Int.loc9_54.2: type = class_type @Int, @Int(%N) [symbolic = %Int.loc9_54.2 (constants.%Int.49d0e6.1)] // CHECK:STDOUT: %Iterate_where.type: type = facet_type <@Iterate where constants.%impl.elem1.164 = %Int.loc9_54.2 and constants.%impl.elem0.19f = %Int.loc9_54.2> [symbolic = %Iterate_where.type (constants.%Iterate_where.type)] // CHECK:STDOUT: %require_complete: = require_complete_type %Iterate_where.type [symbolic = %require_complete (constants.%require_complete.d96)] -// CHECK:STDOUT: %Iterate.impl_witness: = impl_witness @IntRange.%Iterate.impl_witness_table, @impl.7a3(%N) [symbolic = %Iterate.impl_witness (constants.%Iterate.impl_witness)] +// 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, @impl.7a3(%N) [symbolic = %NewCursor.type (constants.%NewCursor.type.b02)] -// CHECK:STDOUT: %NewCursor: @impl.7a3.%NewCursor.type (%NewCursor.type.b02) = struct_value () [symbolic = %NewCursor (constants.%NewCursor.f32)] -// CHECK:STDOUT: %Next.type: type = fn_type @Next.2, @impl.7a3(%N) [symbolic = %Next.type (constants.%Next.type.2c8)] -// CHECK:STDOUT: %Next: @impl.7a3.%Next.type (%Next.type.2c8) = struct_value () [symbolic = %Next (constants.%Next.259)] +// CHECK:STDOUT: %NewCursor.type: type = fn_type @NewCursor.2, @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: @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: @impl.7a3.%NewCursor.type (%NewCursor.type.b02) = fn_decl @NewCursor.2 [symbolic = @impl.7a3.%NewCursor (constants.%NewCursor.f32)] { +// 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] @@ -303,7 +303,7 @@ fn Read() { // 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: } -// CHECK:STDOUT: %Next.decl: @impl.7a3.%Next.type (%Next.type.2c8) = fn_decl @Next.2 [symbolic = @impl.7a3.%Next (constants.%Next.259)] { +// 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] @@ -388,7 +388,7 @@ fn Read() { // CHECK:STDOUT: %return.param: ref @Make.%IntRange (%IntRange.349) = out_param call_param2 // CHECK:STDOUT: %return: ref @Make.%IntRange (%IntRange.349) = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: impl_decl @impl.7a3 [concrete] {} { +// CHECK:STDOUT: impl_decl @Iterate.impl [concrete] {} { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%IntRange.349 [symbolic = %IntRange (constants.%IntRange.349)] // CHECK:STDOUT: %Core.ref.loc9_11: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %Iterate.ref: type = name_ref Iterate, imports.%Core.Iterate [concrete = constants.%Iterate.type] @@ -416,10 +416,10 @@ fn Read() { // CHECK:STDOUT: requirement_rewrite %impl.elem0, %Int.loc9_85 // CHECK:STDOUT: } // CHECK:STDOUT: } -// CHECK:STDOUT: %Iterate.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant.loc9_87.2, %impl_witness_assoc_constant.loc9_87.1, @impl.7a3.%NewCursor.decl, @impl.7a3.%Next.decl), @impl.7a3 [concrete] -// CHECK:STDOUT: %Iterate.impl_witness: = impl_witness %Iterate.impl_witness_table, @impl.7a3(constants.%N) [symbolic = @impl.7a3.%Iterate.impl_witness (constants.%Iterate.impl_witness)] -// CHECK:STDOUT: %impl_witness_assoc_constant.loc9_87.1: type = impl_witness_assoc_constant constants.%Int.49d0e6.1 [symbolic = @impl.7a3.%Int.loc9_54.2 (constants.%Int.49d0e6.1)] -// CHECK:STDOUT: %impl_witness_assoc_constant.loc9_87.2: type = impl_witness_assoc_constant constants.%Int.49d0e6.1 [symbolic = @impl.7a3.%Int.loc9_54.2 (constants.%Int.49d0e6.1)] +// CHECK:STDOUT: %Iterate.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant.loc9_87.2, %impl_witness_assoc_constant.loc9_87.1, @Iterate.impl.%NewCursor.decl, @Iterate.impl.%Next.decl), @Iterate.impl [concrete] +// CHECK:STDOUT: %Iterate.impl_witness: = impl_witness %Iterate.impl_witness_table, @Iterate.impl(constants.%N) [symbolic = @Iterate.impl.%Iterate.impl_witness (constants.%Iterate.impl_witness)] +// CHECK:STDOUT: %impl_witness_assoc_constant.loc9_87.1: type = impl_witness_assoc_constant constants.%Int.49d0e6.1 [symbolic = @Iterate.impl.%Int.loc9_54.2 (constants.%Int.49d0e6.1)] +// CHECK:STDOUT: %impl_witness_assoc_constant.loc9_87.2: type = impl_witness_assoc_constant constants.%Int.49d0e6.1 [symbolic = @Iterate.impl.%Int.loc9_54.2 (constants.%Int.49d0e6.1)] // CHECK:STDOUT: %Core.ref.loc22: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %Int.ref.loc22: %Int.type = name_ref Int, imports.%Core.Int [concrete = constants.%Int.generic] // CHECK:STDOUT: %N.ref.loc22: Core.IntLiteral = name_ref N, %N.loc4_16.1 [symbolic = %N.loc4_16.2 (constants.%N)] @@ -513,11 +513,11 @@ fn Read() { // 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: %OrderedWith.impl_witness: = impl_witness imports.%OrderedWith.impl_witness_table.2b2, @impl.db3(%N, %N) [symbolic = %OrderedWith.impl_witness (constants.%OrderedWith.impl_witness.df5)] +// 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: %.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, @impl.db3(%N, %N) [symbolic = %Less.type.loc13_17.2 (constants.%Less.type.98c)] +// 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.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)] @@ -709,7 +709,7 @@ fn Read() { // CHECK:STDOUT: // CHECK:STDOUT: specific @ElementType(constants.%Iterate.facet.7f1) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.7a3(constants.%N) { +// CHECK:STDOUT: specific @Iterate.impl(constants.%N) { // CHECK:STDOUT: %N => constants.%N // CHECK:STDOUT: %IntRange => constants.%IntRange.349 // CHECK:STDOUT: %Int.loc9_54.2 => constants.%Int.49d0e6.1 @@ -813,7 +813,7 @@ fn Read() { // CHECK:STDOUT: %ImplicitAs.type.9ba: type = facet_type <@ImplicitAs, @ImplicitAs(%i32)> [concrete] // CHECK:STDOUT: %Convert.type.6da: type = fn_type @Convert.1, @ImplicitAs(%i32) [concrete] // CHECK:STDOUT: %To.c80: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0b2: type = fn_type @Convert.3, @impl.c81(%To.c80) [symbolic] +// CHECK:STDOUT: %Convert.type.0b2: type = fn_type @Convert.3, @ImplicitAs.impl.c81(%To.c80) [symbolic] // CHECK:STDOUT: %Convert.6d7: %Convert.type.0b2 = struct_value () [symbolic] // CHECK:STDOUT: %OrderedWith.type.256: type = facet_type <@OrderedWith, @OrderedWith(%Int.7ff11f.1)> [symbolic] // CHECK:STDOUT: %require_complete.10b: = require_complete_type %OrderedWith.type.256 [symbolic] @@ -823,8 +823,8 @@ fn Read() { // CHECK:STDOUT: %pattern_type.6d0: type = pattern_type %ptr.58a [symbolic] // CHECK:STDOUT: %require_complete.656: = require_complete_type %ptr.58a [symbolic] // CHECK:STDOUT: %Inc.type: type = facet_type <@Inc> [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.e34: = impl_witness imports.%ImplicitAs.impl_witness_table.e36, @impl.c81(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.ed5: type = fn_type @Convert.3, @impl.c81(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.e34: = impl_witness imports.%ImplicitAs.impl_witness_table.e36, @ImplicitAs.impl.c81(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.ed5: type = fn_type @Convert.3, @ImplicitAs.impl.c81(%int_32) [concrete] // CHECK:STDOUT: %Convert.16d: %Convert.type.ed5 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.2e7: %ImplicitAs.type.9ba = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.e34) [concrete] // CHECK:STDOUT: %.d6a: type = fn_type_with_self_type %Convert.type.6da, %ImplicitAs.facet.2e7 [concrete] @@ -841,19 +841,19 @@ fn Read() { // CHECK:STDOUT: %impl.elem1: type = impl_witness_access %Iterate.lookup_impl_witness, element1 [symbolic_self] // CHECK:STDOUT: %Iterate_where.type: type = facet_type <@Iterate where %impl.elem0.a12 = %Int.7ff11f.1 and %impl.elem1 = %Int.7ff11f.1> [symbolic] // CHECK:STDOUT: %require_complete.6f5: = require_complete_type %Iterate_where.type [symbolic] -// CHECK:STDOUT: %Iterate.impl_witness: = impl_witness imports.%Iterate.impl_witness_table, @impl.e7f(%N) [symbolic] -// CHECK:STDOUT: %NewCursor.type: type = fn_type @NewCursor, @impl.e7f(%N) [symbolic] +// CHECK:STDOUT: %Iterate.impl_witness: = impl_witness imports.%Iterate.impl_witness_table, @Iterate.impl(%N) [symbolic] +// CHECK:STDOUT: %NewCursor.type: type = fn_type @NewCursor, @Iterate.impl(%N) [symbolic] // CHECK:STDOUT: %NewCursor: %NewCursor.type = struct_value () [symbolic] -// CHECK:STDOUT: %Next.type: type = fn_type @Next, @impl.e7f(%N) [symbolic] +// CHECK:STDOUT: %Next.type: type = fn_type @Next, @Iterate.impl(%N) [symbolic] // CHECK:STDOUT: %Next: %Next.type = struct_value () [symbolic] // CHECK:STDOUT: %Optional.e9f: type = class_type @Optional, @Optional(%Int.7ff11f.1) [symbolic] // CHECK:STDOUT: %pattern_type.fd8: type = pattern_type %Optional.e9f [symbolic] // CHECK:STDOUT: %require_complete.5a1: = require_complete_type %Optional.e9f [symbolic] // CHECK:STDOUT: %assoc0.d1b: %OrderedWith.assoc_type.e53 = assoc_entity element0, imports.%Main.import_ref.014 [symbolic] -// CHECK:STDOUT: %OrderedWith.impl_witness.350: = impl_witness imports.%OrderedWith.impl_witness_table.0e1, @impl.5b6(%N, %N) [symbolic] +// CHECK:STDOUT: %OrderedWith.impl_witness.350: = impl_witness imports.%OrderedWith.impl_witness_table.0e1, @OrderedWith.impl.5b6(%N, %N) [symbolic] // CHECK:STDOUT: %OrderedWith.facet: %OrderedWith.type.256 = facet_value %Int.7ff11f.1, (%OrderedWith.impl_witness.350) [symbolic] // CHECK:STDOUT: %.3bd: type = fn_type_with_self_type %Less.type.016, %OrderedWith.facet [symbolic] -// CHECK:STDOUT: %Less.type.4f5: type = fn_type @Less.2, @impl.5b6(%N, %N) [symbolic] +// CHECK:STDOUT: %Less.type.4f5: type = fn_type @Less.2, @OrderedWith.impl.5b6(%N, %N) [symbolic] // CHECK:STDOUT: %Less.3b5: %Less.type.4f5 = struct_value () [symbolic] // CHECK:STDOUT: %Less.specific_fn.5e2: = specific_function %Less.3b5, @Less.2(%N, %N) [symbolic] // CHECK:STDOUT: %Inc.lookup_impl_witness: = lookup_impl_witness %Int.7ff11f.1, @Inc [symbolic] @@ -880,7 +880,7 @@ fn Read() { // CHECK:STDOUT: %None.type.8c4: type = fn_type @None, @Optional(%Int.7ff11f.1) [symbolic] // CHECK:STDOUT: %None.7a7: %None.type.8c4 = struct_value () [symbolic] // CHECK:STDOUT: %None.specific_fn: = specific_function %None.7a7, @None(%Int.7ff11f.1) [symbolic] -// CHECK:STDOUT: %Op.type.2d1: type = fn_type @Op.97, @impl.49c(%IntRange.365) [concrete] +// CHECK:STDOUT: %Op.type.2d1: type = fn_type @Op.97, @Destroy.impl(%IntRange.365) [concrete] // CHECK:STDOUT: %Op.fa8: %Op.type.2d1 = struct_value () [concrete] // CHECK:STDOUT: %ptr.049: type = ptr_type %IntRange.365 [concrete] // CHECK:STDOUT: %Op.specific_fn.df8: = specific_function %Op.fa8, @Op.97(%IntRange.365) [concrete] @@ -905,23 +905,23 @@ fn Read() { // CHECK:STDOUT: %Main.import_ref.261 = import_ref Main//lib, loc23_18, unloaded // CHECK:STDOUT: %Main.import_ref.f1e294.2: Core.IntLiteral = import_ref Main//lib, loc4_16, loaded [symbolic = @IntRange.%N (constants.%N)] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/operators/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a86: @impl.c81.%Convert.type (%Convert.type.0b2) = import_ref Core//prelude/types/int, loc19_39, loaded [symbolic = @impl.c81.%Convert (constants.%Convert.6d7)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.e36 = impl_witness_table (%Core.import_ref.a86), @impl.c81 [concrete] +// CHECK:STDOUT: %Core.import_ref.a86: @ImplicitAs.impl.c81.%Convert.type (%Convert.type.0b2) = import_ref Core//prelude/types/int, loc19_39, loaded [symbolic = @ImplicitAs.impl.c81.%Convert (constants.%Convert.6d7)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.e36 = impl_witness_table (%Core.import_ref.a86), @ImplicitAs.impl.c81 [concrete] // CHECK:STDOUT: %Core.import_ref.e33 = import_ref Core//prelude/types/int, loc51_46, unloaded // CHECK:STDOUT: %Core.import_ref.a58 = import_ref Core//prelude/types/int, loc52_58, unloaded // CHECK:STDOUT: %Core.import_ref.a39 = import_ref Core//prelude/types/int, loc53_49, unloaded // CHECK:STDOUT: %Core.import_ref.c4c = import_ref Core//prelude/types/int, loc54_61, unloaded -// CHECK:STDOUT: %OrderedWith.impl_witness_table.0e1 = impl_witness_table (%Core.import_ref.e33, %Core.import_ref.a58, %Core.import_ref.a39, %Core.import_ref.c4c), @impl.5b6 [concrete] +// CHECK:STDOUT: %OrderedWith.impl_witness_table.0e1 = impl_witness_table (%Core.import_ref.e33, %Core.import_ref.a58, %Core.import_ref.a39, %Core.import_ref.c4c), @OrderedWith.impl.5b6 [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: %Main.import_ref.0c8 = import_ref Main//lib, loc9_87, unloaded // CHECK:STDOUT: %Main.import_ref.f1e294.3: Core.IntLiteral = import_ref Main//lib, loc4_16, loaded [symbolic = @IntRange.%N (constants.%N)] -// CHECK:STDOUT: %Main.import_ref.dae: type = import_ref Main//lib, loc9_8, loaded [symbolic = @impl.e7f.%IntRange (constants.%IntRange.349)] -// CHECK:STDOUT: %Main.import_ref.35b: type = import_ref Main//lib, loc9_24, loaded [symbolic = @impl.e7f.%Iterate_where.type (constants.%Iterate_where.type)] +// CHECK:STDOUT: %Main.import_ref.dae: type = import_ref Main//lib, loc9_8, loaded [symbolic = @Iterate.impl.%IntRange (constants.%IntRange.349)] +// CHECK:STDOUT: %Main.import_ref.35b: type = import_ref Main//lib, loc9_24, loaded [symbolic = @Iterate.impl.%Iterate_where.type (constants.%Iterate_where.type)] // CHECK:STDOUT: %Main.import_ref.e3faa9.1 = import_ref Main//lib, loc9_87, unloaded // CHECK:STDOUT: %Main.import_ref.e3faa9.2 = import_ref Main//lib, loc9_87, unloaded // CHECK:STDOUT: %Main.import_ref.11c = import_ref Main//lib, loc10_47, unloaded // CHECK:STDOUT: %Main.import_ref.f97 = import_ref Main//lib, loc11_77, unloaded -// CHECK:STDOUT: %Iterate.impl_witness_table = impl_witness_table (%Main.import_ref.e3faa9.1, %Main.import_ref.e3faa9.2, %Main.import_ref.11c, %Main.import_ref.f97), @impl.e7f [concrete] +// CHECK:STDOUT: %Iterate.impl_witness_table = impl_witness_table (%Main.import_ref.e3faa9.1, %Main.import_ref.e3faa9.2, %Main.import_ref.11c, %Main.import_ref.f97), @Iterate.impl [concrete] // CHECK:STDOUT: %Main.import_ref.f1e294.4: Core.IntLiteral = import_ref Main//lib, loc4_16, loaded [symbolic = @IntRange.%N (constants.%N)] // CHECK:STDOUT: %Main.import_ref.f1e294.5: Core.IntLiteral = import_ref Main//lib, loc4_16, loaded [symbolic = @IntRange.%N (constants.%N)] // CHECK:STDOUT: %Main.import_ref.014 = import_ref Main//lib, inst519 [indirect], unloaded @@ -939,19 +939,19 @@ fn Read() { // CHECK:STDOUT: %Read.decl: %Read.type = fn_decl @Read [concrete = constants.%Read] {} {} // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl.e7f(imports.%Main.import_ref.f1e294.3: Core.IntLiteral) [from "lib.carbon"] { +// CHECK:STDOUT: generic impl @Iterate.impl(imports.%Main.import_ref.f1e294.3: Core.IntLiteral) [from "lib.carbon"] { // 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: %Int: type = class_type @Int, @Int(%N) [symbolic = %Int (constants.%Int.7ff11f.1)] // CHECK:STDOUT: %Iterate_where.type: type = facet_type <@Iterate where constants.%impl.elem0.a12 = %Int and constants.%impl.elem1 = %Int> [symbolic = %Iterate_where.type (constants.%Iterate_where.type)] // CHECK:STDOUT: %require_complete: = require_complete_type %Iterate_where.type [symbolic = %require_complete (constants.%require_complete.6f5)] -// CHECK:STDOUT: %Iterate.impl_witness: = impl_witness imports.%Iterate.impl_witness_table, @impl.e7f(%N) [symbolic = %Iterate.impl_witness (constants.%Iterate.impl_witness)] +// CHECK:STDOUT: %Iterate.impl_witness: = impl_witness imports.%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, @impl.e7f(%N) [symbolic = %NewCursor.type (constants.%NewCursor.type)] -// CHECK:STDOUT: %NewCursor: @impl.e7f.%NewCursor.type (%NewCursor.type) = struct_value () [symbolic = %NewCursor (constants.%NewCursor)] -// CHECK:STDOUT: %Next.type: type = fn_type @Next, @impl.e7f(%N) [symbolic = %Next.type (constants.%Next.type)] -// CHECK:STDOUT: %Next: @impl.e7f.%Next.type (%Next.type) = struct_value () [symbolic = %Next (constants.%Next)] +// CHECK:STDOUT: %NewCursor.type: type = fn_type @NewCursor, @Iterate.impl(%N) [symbolic = %NewCursor.type (constants.%NewCursor.type)] +// CHECK:STDOUT: %NewCursor: @Iterate.impl.%NewCursor.type (%NewCursor.type) = struct_value () [symbolic = %NewCursor (constants.%NewCursor)] +// CHECK:STDOUT: %Next.type: type = fn_type @Next, @Iterate.impl(%N) [symbolic = %Next.type (constants.%Next.type)] +// CHECK:STDOUT: %Next: @Iterate.impl.%Next.type (%Next.type) = struct_value () [symbolic = %Next (constants.%Next)] // CHECK:STDOUT: // CHECK:STDOUT: impl: imports.%Main.import_ref.dae as imports.%Main.import_ref.35b { // CHECK:STDOUT: !members: @@ -1086,11 +1086,11 @@ fn Read() { // CHECK:STDOUT: %require_complete.5: = require_complete_type %OrderedWith.type [symbolic = %require_complete.5 (constants.%require_complete.10b)] // CHECK:STDOUT: %OrderedWith.assoc_type: type = assoc_entity_type @OrderedWith, @OrderedWith(%Int) [symbolic = %OrderedWith.assoc_type (constants.%OrderedWith.assoc_type.e53)] // CHECK:STDOUT: %assoc0: @Next.%OrderedWith.assoc_type (%OrderedWith.assoc_type.e53) = assoc_entity element0, imports.%Main.import_ref.014 [symbolic = %assoc0 (constants.%assoc0.d1b)] -// CHECK:STDOUT: %OrderedWith.impl_witness: = impl_witness imports.%OrderedWith.impl_witness_table.0e1, @impl.5b6(%N, %N) [symbolic = %OrderedWith.impl_witness (constants.%OrderedWith.impl_witness.350)] +// CHECK:STDOUT: %OrderedWith.impl_witness: = impl_witness imports.%OrderedWith.impl_witness_table.0e1, @OrderedWith.impl.5b6(%N, %N) [symbolic = %OrderedWith.impl_witness (constants.%OrderedWith.impl_witness.350)] // CHECK:STDOUT: %Less.type.1: type = fn_type @Less.1, @OrderedWith(%Int) [symbolic = %Less.type.1 (constants.%Less.type.016)] // CHECK:STDOUT: %OrderedWith.facet: @Next.%OrderedWith.type (%OrderedWith.type.256) = facet_value %Int, (%OrderedWith.impl_witness) [symbolic = %OrderedWith.facet (constants.%OrderedWith.facet)] // CHECK:STDOUT: %.1: type = fn_type_with_self_type %Less.type.1, %OrderedWith.facet [symbolic = %.1 (constants.%.3bd)] -// CHECK:STDOUT: %Less.type.2: type = fn_type @Less.2, @impl.5b6(%N, %N) [symbolic = %Less.type.2 (constants.%Less.type.4f5)] +// CHECK:STDOUT: %Less.type.2: type = fn_type @Less.2, @OrderedWith.impl.5b6(%N, %N) [symbolic = %Less.type.2 (constants.%Less.type.4f5)] // CHECK:STDOUT: %Less: @Next.%Less.type.2 (%Less.type.4f5) = struct_value () [symbolic = %Less (constants.%Less.3b5)] // CHECK:STDOUT: %Less.specific_fn: = specific_function %Less, @Less.2(%N, %N) [symbolic = %Less.specific_fn (constants.%Less.specific_fn.5e2)] // CHECK:STDOUT: %Inc.lookup_impl_witness: = lookup_impl_witness %Int, @Inc [symbolic = %Inc.lookup_impl_witness (constants.%Inc.lookup_impl_witness)] @@ -1156,7 +1156,7 @@ fn Read() { // CHECK:STDOUT: %complete_type => constants.%complete_type.a43 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.e7f(constants.%N) { +// CHECK:STDOUT: specific @Iterate.impl(constants.%N) { // CHECK:STDOUT: %N => constants.%N // CHECK:STDOUT: %IntRange => constants.%IntRange.349 // CHECK:STDOUT: %Int => constants.%Int.7ff11f.1 diff --git a/toolchain/check/testdata/for/basic.carbon b/toolchain/check/testdata/for/basic.carbon index 217757bb91ed..392514a0251c 100644 --- a/toolchain/check/testdata/for/basic.carbon +++ b/toolchain/check/testdata/for/basic.carbon @@ -82,11 +82,11 @@ fn Run() { // CHECK:STDOUT: %HasValue.ada: %HasValue.type.b7a = struct_value () [concrete] // CHECK:STDOUT: %Get.type.130: type = fn_type @Get, @Optional(%empty_tuple.type) [concrete] // CHECK:STDOUT: %Get.6e8: %Get.type.130 = struct_value () [concrete] -// CHECK:STDOUT: %Op.type.7e4: type = fn_type @Op.2, @impl.49c(%Optional.f9a) [concrete] +// CHECK:STDOUT: %Op.type.7e4: type = fn_type @Op.2, @Destroy.impl(%Optional.f9a) [concrete] // CHECK:STDOUT: %Op.466: %Op.type.7e4 = struct_value () [concrete] // CHECK:STDOUT: %ptr.511: type = ptr_type %Optional.f9a [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] -// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @impl.49c(%empty_tuple.type) [concrete] +// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @Destroy.impl(%empty_tuple.type) [concrete] // CHECK:STDOUT: %Op.ea3: %Op.type.a63 = struct_value () [concrete] // CHECK:STDOUT: %Body.type: type = fn_type @Body [concrete] // CHECK:STDOUT: %Body: %Body.type = struct_value () [concrete] @@ -97,7 +97,7 @@ fn Run() { // CHECK:STDOUT: %.708: type = fn_type_with_self_type %Next.type.941, %Iterate.facet.d50 [concrete] // CHECK:STDOUT: %HasValue.specific_fn: = specific_function %HasValue.ada, @HasValue(%empty_tuple.type) [concrete] // CHECK:STDOUT: %Get.specific_fn: = specific_function %Get.6e8, @Get(%empty_tuple.type) [concrete] -// CHECK:STDOUT: %Op.type.8d6: type = fn_type @Op.2, @impl.49c(%TrivialRange) [concrete] +// CHECK:STDOUT: %Op.type.8d6: type = fn_type @Op.2, @Destroy.impl(%TrivialRange) [concrete] // CHECK:STDOUT: %Op.90d: %Op.type.8d6 = struct_value () [concrete] // CHECK:STDOUT: %ptr.41d: type = ptr_type %TrivialRange [concrete] // CHECK:STDOUT: } @@ -121,7 +121,7 @@ fn Run() { // CHECK:STDOUT: %impl.elem2: %.510 = impl_witness_access constants.%Iterate.impl_witness, element2 [concrete = constants.%NewCursor.c20a1c.2] // CHECK:STDOUT: %bound_method.loc18_35.1: = bound_method %.loc18_20.1, %impl.elem2 // CHECK:STDOUT: %.loc18_20.2: %TrivialRange = bind_value %.loc18_20.1 -// CHECK:STDOUT: %NewCursor.ref: %NewCursor.type.bd2331.1 = name_ref NewCursor, @impl.f4d.%NewCursor.decl.loc6_32.1 [concrete = constants.%NewCursor.c20a1c.1] +// CHECK:STDOUT: %NewCursor.ref: %NewCursor.type.bd2331.1 = name_ref NewCursor, @Iterate.impl.%NewCursor.decl.loc6_32.1 [concrete = constants.%NewCursor.c20a1c.1] // CHECK:STDOUT: %NewCursor.bound: = bound_method %.loc18_20.2, %NewCursor.ref // CHECK:STDOUT: %NewCursor.call: init %empty_tuple.type = call %NewCursor.bound(%.loc18_20.2) // CHECK:STDOUT: %var: ref %empty_tuple.type = var invalid diff --git a/toolchain/check/testdata/for/pattern.carbon b/toolchain/check/testdata/for/pattern.carbon index 7a0cc2b9b5c0..44e55954efb2 100644 --- a/toolchain/check/testdata/for/pattern.carbon +++ b/toolchain/check/testdata/for/pattern.carbon @@ -139,18 +139,18 @@ fn Run() { // CHECK:STDOUT: %Make.specific_fn: = specific_function %Make.74d, @Make(%C) [concrete] // CHECK:STDOUT: %Iterate.type: type = facet_type <@Iterate> [concrete] // CHECK:STDOUT: %NewCursor.type.427: type = fn_type @NewCursor.1 [concrete] -// CHECK:STDOUT: %NewCursor.type.f5f: type = fn_type @NewCursor.2, @impl.86e(%T) [symbolic] +// CHECK:STDOUT: %NewCursor.type.f5f: type = fn_type @NewCursor.2, @Iterate.impl(%T) [symbolic] // CHECK:STDOUT: %NewCursor.ec1: %NewCursor.type.f5f = struct_value () [symbolic] -// CHECK:STDOUT: %Next.type.264: type = fn_type @Next.1, @impl.86e(%T) [symbolic] +// CHECK:STDOUT: %Next.type.264: type = fn_type @Next.1, @Iterate.impl(%T) [symbolic] // CHECK:STDOUT: %Next.08e: %Next.type.264 = struct_value () [symbolic] // CHECK:STDOUT: %HasValue.type.f81: type = fn_type @HasValue, @Optional(%T) [symbolic] // CHECK:STDOUT: %HasValue.6fd: %HasValue.type.f81 = struct_value () [symbolic] // CHECK:STDOUT: %Get.type.b8f: type = fn_type @Get, @Optional(%T) [symbolic] // CHECK:STDOUT: %Get.9c8: %Get.type.b8f = struct_value () [symbolic] -// CHECK:STDOUT: %Iterate.impl_witness.52a: = impl_witness imports.%Iterate.impl_witness_table, @impl.86e(%C) [concrete] -// CHECK:STDOUT: %NewCursor.type.951: type = fn_type @NewCursor.2, @impl.86e(%C) [concrete] +// CHECK:STDOUT: %Iterate.impl_witness.52a: = impl_witness imports.%Iterate.impl_witness_table, @Iterate.impl(%C) [concrete] +// CHECK:STDOUT: %NewCursor.type.951: type = fn_type @NewCursor.2, @Iterate.impl(%C) [concrete] // CHECK:STDOUT: %NewCursor.535: %NewCursor.type.951 = struct_value () [concrete] -// CHECK:STDOUT: %Next.type.63f: type = fn_type @Next.1, @impl.86e(%C) [concrete] +// CHECK:STDOUT: %Next.type.63f: type = fn_type @Next.1, @Iterate.impl(%C) [concrete] // CHECK:STDOUT: %Next.899: %Next.type.63f = struct_value () [concrete] // CHECK:STDOUT: %Iterate.facet: %Iterate.type = facet_value %EmptyRange.cc8, (%Iterate.impl_witness.52a) [concrete] // CHECK:STDOUT: %.2f6: type = fn_type_with_self_type %NewCursor.type.427, %Iterate.facet [concrete] @@ -165,15 +165,15 @@ fn Run() { // CHECK:STDOUT: %Get.9c1: %Get.type.115 = struct_value () [concrete] // CHECK:STDOUT: %HasValue.specific_fn: = specific_function %HasValue.513, @HasValue(%C) [concrete] // CHECK:STDOUT: %Get.specific_fn: = specific_function %Get.9c1, @Get(%C) [concrete] -// CHECK:STDOUT: %Op.type.f77: type = fn_type @Op.2, @impl.d2b(%C) [concrete] +// CHECK:STDOUT: %Op.type.f77: type = fn_type @Op.2, @Destroy.impl(%C) [concrete] // CHECK:STDOUT: %Op.01c: %Op.type.f77 = struct_value () [concrete] // CHECK:STDOUT: %ptr.019: type = ptr_type %C [concrete] -// CHECK:STDOUT: %Op.type.e93: type = fn_type @Op.2, @impl.d2b(%Optional.cf0) [concrete] +// CHECK:STDOUT: %Op.type.e93: type = fn_type @Op.2, @Destroy.impl(%Optional.cf0) [concrete] // CHECK:STDOUT: %Op.a97: %Op.type.e93 = struct_value () [concrete] // CHECK:STDOUT: %ptr.8e6: type = ptr_type %Optional.cf0 [concrete] -// CHECK:STDOUT: %Op.type.8b2: type = fn_type @Op.2, @impl.d2b(%empty_struct_type) [concrete] +// CHECK:STDOUT: %Op.type.8b2: type = fn_type @Op.2, @Destroy.impl(%empty_struct_type) [concrete] // CHECK:STDOUT: %Op.ca6: %Op.type.8b2 = struct_value () [concrete] -// CHECK:STDOUT: %Op.type.699: type = fn_type @Op.2, @impl.d2b(%EmptyRange.cc8) [concrete] +// CHECK:STDOUT: %Op.type.699: type = fn_type @Op.2, @Destroy.impl(%EmptyRange.cc8) [concrete] // CHECK:STDOUT: %Op.d12: %Op.type.699 = struct_value () [concrete] // CHECK:STDOUT: %ptr.35d: type = ptr_type %EmptyRange.cc8 [concrete] // CHECK:STDOUT: } @@ -183,9 +183,9 @@ fn Run() { // CHECK:STDOUT: %Main.import_ref.6ea: @EmptyRange.%Make.type (%Make.type.bd2) = import_ref Main//empty_range, loc5_21, loaded [symbolic = @EmptyRange.%Make (constants.%Make.ed1)] // CHECK:STDOUT: %Main.import_ref.6ce = import_ref Main//empty_range, loc7_68, unloaded // CHECK:STDOUT: %Main.import_ref.999 = import_ref Main//empty_range, loc7_68, unloaded -// CHECK:STDOUT: %Main.import_ref.57b: @impl.86e.%NewCursor.type (%NewCursor.type.f5f) = import_ref Main//empty_range, loc8_38, loaded [symbolic = @impl.86e.%NewCursor (constants.%NewCursor.ec1)] -// CHECK:STDOUT: %Main.import_ref.170: @impl.86e.%Next.type (%Next.type.264) = import_ref Main//empty_range, loc11_58, loaded [symbolic = @impl.86e.%Next (constants.%Next.08e)] -// CHECK:STDOUT: %Iterate.impl_witness_table = impl_witness_table (%Main.import_ref.6ce, %Main.import_ref.999, %Main.import_ref.57b, %Main.import_ref.170), @impl.86e [concrete] +// CHECK:STDOUT: %Main.import_ref.57b: @Iterate.impl.%NewCursor.type (%NewCursor.type.f5f) = import_ref Main//empty_range, loc8_38, loaded [symbolic = @Iterate.impl.%NewCursor (constants.%NewCursor.ec1)] +// CHECK:STDOUT: %Main.import_ref.170: @Iterate.impl.%Next.type (%Next.type.264) = import_ref Main//empty_range, loc11_58, loaded [symbolic = @Iterate.impl.%Next (constants.%Next.08e)] +// CHECK:STDOUT: %Iterate.impl_witness_table = impl_witness_table (%Main.import_ref.6ce, %Main.import_ref.999, %Main.import_ref.57b, %Main.import_ref.170), @Iterate.impl [concrete] // CHECK:STDOUT: %Main.import_ref.7f9: @Optional.%HasValue.type (%HasValue.type.f81) = import_ref Main//empty_range, inst136 [indirect], loaded [symbolic = @Optional.%HasValue (constants.%HasValue.6fd)] // CHECK:STDOUT: %Main.import_ref.d10: @Optional.%Get.type (%Get.type.b8f) = import_ref Main//empty_range, inst137 [indirect], loaded [symbolic = @Optional.%Get (constants.%Get.9c8)] // CHECK:STDOUT: } @@ -299,18 +299,18 @@ fn Run() { // CHECK:STDOUT: %Make.specific_fn: = specific_function %Make.74d, @Make(%C) [concrete] // CHECK:STDOUT: %Iterate.type: type = facet_type <@Iterate> [concrete] // CHECK:STDOUT: %NewCursor.type.427: type = fn_type @NewCursor.1 [concrete] -// CHECK:STDOUT: %NewCursor.type.f5f: type = fn_type @NewCursor.2, @impl.86e(%T) [symbolic] +// CHECK:STDOUT: %NewCursor.type.f5f: type = fn_type @NewCursor.2, @Iterate.impl(%T) [symbolic] // CHECK:STDOUT: %NewCursor.ec1: %NewCursor.type.f5f = struct_value () [symbolic] -// CHECK:STDOUT: %Next.type.264: type = fn_type @Next.1, @impl.86e(%T) [symbolic] +// CHECK:STDOUT: %Next.type.264: type = fn_type @Next.1, @Iterate.impl(%T) [symbolic] // CHECK:STDOUT: %Next.08e: %Next.type.264 = struct_value () [symbolic] // CHECK:STDOUT: %HasValue.type.f81: type = fn_type @HasValue, @Optional(%T) [symbolic] // CHECK:STDOUT: %HasValue.6fd: %HasValue.type.f81 = struct_value () [symbolic] // CHECK:STDOUT: %Get.type.b8f: type = fn_type @Get, @Optional(%T) [symbolic] // CHECK:STDOUT: %Get.9c8: %Get.type.b8f = struct_value () [symbolic] -// CHECK:STDOUT: %Iterate.impl_witness.52a: = impl_witness imports.%Iterate.impl_witness_table, @impl.86e(%C) [concrete] -// CHECK:STDOUT: %NewCursor.type.951: type = fn_type @NewCursor.2, @impl.86e(%C) [concrete] +// CHECK:STDOUT: %Iterate.impl_witness.52a: = impl_witness imports.%Iterate.impl_witness_table, @Iterate.impl(%C) [concrete] +// CHECK:STDOUT: %NewCursor.type.951: type = fn_type @NewCursor.2, @Iterate.impl(%C) [concrete] // CHECK:STDOUT: %NewCursor.535: %NewCursor.type.951 = struct_value () [concrete] -// CHECK:STDOUT: %Next.type.63f: type = fn_type @Next.1, @impl.86e(%C) [concrete] +// CHECK:STDOUT: %Next.type.63f: type = fn_type @Next.1, @Iterate.impl(%C) [concrete] // CHECK:STDOUT: %Next.899: %Next.type.63f = struct_value () [concrete] // CHECK:STDOUT: %Iterate.facet: %Iterate.type = facet_value %EmptyRange.cc8, (%Iterate.impl_witness.52a) [concrete] // CHECK:STDOUT: %.2f6: type = fn_type_with_self_type %NewCursor.type.427, %Iterate.facet [concrete] @@ -325,14 +325,14 @@ fn Run() { // CHECK:STDOUT: %Get.9c1: %Get.type.115 = struct_value () [concrete] // CHECK:STDOUT: %HasValue.specific_fn: = specific_function %HasValue.513, @HasValue(%C) [concrete] // CHECK:STDOUT: %Get.specific_fn: = specific_function %Get.9c1, @Get(%C) [concrete] -// CHECK:STDOUT: %Op.type.f77: type = fn_type @Op.2, @impl.d2b(%C) [concrete] +// CHECK:STDOUT: %Op.type.f77: type = fn_type @Op.2, @Destroy.impl(%C) [concrete] // CHECK:STDOUT: %Op.01c: %Op.type.f77 = struct_value () [concrete] -// CHECK:STDOUT: %Op.type.e93: type = fn_type @Op.2, @impl.d2b(%Optional.cf0) [concrete] +// CHECK:STDOUT: %Op.type.e93: type = fn_type @Op.2, @Destroy.impl(%Optional.cf0) [concrete] // CHECK:STDOUT: %Op.a97: %Op.type.e93 = struct_value () [concrete] // CHECK:STDOUT: %ptr.8e6: type = ptr_type %Optional.cf0 [concrete] -// CHECK:STDOUT: %Op.type.8b2: type = fn_type @Op.2, @impl.d2b(%empty_struct_type) [concrete] +// CHECK:STDOUT: %Op.type.8b2: type = fn_type @Op.2, @Destroy.impl(%empty_struct_type) [concrete] // CHECK:STDOUT: %Op.ca6: %Op.type.8b2 = struct_value () [concrete] -// CHECK:STDOUT: %Op.type.699: type = fn_type @Op.2, @impl.d2b(%EmptyRange.cc8) [concrete] +// CHECK:STDOUT: %Op.type.699: type = fn_type @Op.2, @Destroy.impl(%EmptyRange.cc8) [concrete] // CHECK:STDOUT: %Op.d12: %Op.type.699 = struct_value () [concrete] // CHECK:STDOUT: %ptr.35d: type = ptr_type %EmptyRange.cc8 [concrete] // CHECK:STDOUT: } @@ -342,9 +342,9 @@ fn Run() { // CHECK:STDOUT: %Main.import_ref.6ea: @EmptyRange.%Make.type (%Make.type.bd2) = import_ref Main//empty_range, loc5_21, loaded [symbolic = @EmptyRange.%Make (constants.%Make.ed1)] // CHECK:STDOUT: %Main.import_ref.6ce = import_ref Main//empty_range, loc7_68, unloaded // CHECK:STDOUT: %Main.import_ref.999 = import_ref Main//empty_range, loc7_68, unloaded -// CHECK:STDOUT: %Main.import_ref.57b: @impl.86e.%NewCursor.type (%NewCursor.type.f5f) = import_ref Main//empty_range, loc8_38, loaded [symbolic = @impl.86e.%NewCursor (constants.%NewCursor.ec1)] -// CHECK:STDOUT: %Main.import_ref.170: @impl.86e.%Next.type (%Next.type.264) = import_ref Main//empty_range, loc11_58, loaded [symbolic = @impl.86e.%Next (constants.%Next.08e)] -// CHECK:STDOUT: %Iterate.impl_witness_table = impl_witness_table (%Main.import_ref.6ce, %Main.import_ref.999, %Main.import_ref.57b, %Main.import_ref.170), @impl.86e [concrete] +// CHECK:STDOUT: %Main.import_ref.57b: @Iterate.impl.%NewCursor.type (%NewCursor.type.f5f) = import_ref Main//empty_range, loc8_38, loaded [symbolic = @Iterate.impl.%NewCursor (constants.%NewCursor.ec1)] +// CHECK:STDOUT: %Main.import_ref.170: @Iterate.impl.%Next.type (%Next.type.264) = import_ref Main//empty_range, loc11_58, loaded [symbolic = @Iterate.impl.%Next (constants.%Next.08e)] +// CHECK:STDOUT: %Iterate.impl_witness_table = impl_witness_table (%Main.import_ref.6ce, %Main.import_ref.999, %Main.import_ref.57b, %Main.import_ref.170), @Iterate.impl [concrete] // CHECK:STDOUT: %Main.import_ref.7f9: @Optional.%HasValue.type (%HasValue.type.f81) = import_ref Main//empty_range, inst136 [indirect], loaded [symbolic = @Optional.%HasValue (constants.%HasValue.6fd)] // CHECK:STDOUT: %Main.import_ref.d10: @Optional.%Get.type (%Get.type.b8f) = import_ref Main//empty_range, inst137 [indirect], loaded [symbolic = @Optional.%Get (constants.%Get.9c8)] // CHECK:STDOUT: } @@ -468,18 +468,18 @@ fn Run() { // CHECK:STDOUT: %Make.specific_fn: = specific_function %Make.743, @Make(%tuple.type.784) [concrete] // CHECK:STDOUT: %Iterate.type: type = facet_type <@Iterate> [concrete] // CHECK:STDOUT: %NewCursor.type.427: type = fn_type @NewCursor.1 [concrete] -// CHECK:STDOUT: %NewCursor.type.f5f: type = fn_type @NewCursor.2, @impl.86e(%T) [symbolic] +// CHECK:STDOUT: %NewCursor.type.f5f: type = fn_type @NewCursor.2, @Iterate.impl(%T) [symbolic] // CHECK:STDOUT: %NewCursor.ec1: %NewCursor.type.f5f = struct_value () [symbolic] -// CHECK:STDOUT: %Next.type.264: type = fn_type @Next.1, @impl.86e(%T) [symbolic] +// CHECK:STDOUT: %Next.type.264: type = fn_type @Next.1, @Iterate.impl(%T) [symbolic] // CHECK:STDOUT: %Next.08e: %Next.type.264 = struct_value () [symbolic] // CHECK:STDOUT: %HasValue.type.f81: type = fn_type @HasValue, @Optional(%T) [symbolic] // CHECK:STDOUT: %HasValue.6fd: %HasValue.type.f81 = struct_value () [symbolic] // CHECK:STDOUT: %Get.type.b8f: type = fn_type @Get, @Optional(%T) [symbolic] // CHECK:STDOUT: %Get.9c8: %Get.type.b8f = struct_value () [symbolic] -// CHECK:STDOUT: %Iterate.impl_witness.6db: = impl_witness imports.%Iterate.impl_witness_table, @impl.86e(%tuple.type.784) [concrete] -// CHECK:STDOUT: %NewCursor.type.d32: type = fn_type @NewCursor.2, @impl.86e(%tuple.type.784) [concrete] +// CHECK:STDOUT: %Iterate.impl_witness.6db: = impl_witness imports.%Iterate.impl_witness_table, @Iterate.impl(%tuple.type.784) [concrete] +// CHECK:STDOUT: %NewCursor.type.d32: type = fn_type @NewCursor.2, @Iterate.impl(%tuple.type.784) [concrete] // CHECK:STDOUT: %NewCursor.763: %NewCursor.type.d32 = struct_value () [concrete] -// CHECK:STDOUT: %Next.type.482: type = fn_type @Next.1, @impl.86e(%tuple.type.784) [concrete] +// CHECK:STDOUT: %Next.type.482: type = fn_type @Next.1, @Iterate.impl(%tuple.type.784) [concrete] // CHECK:STDOUT: %Next.e60: %Next.type.482 = struct_value () [concrete] // CHECK:STDOUT: %Iterate.facet: %Iterate.type = facet_value %EmptyRange.2f3, (%Iterate.impl_witness.6db) [concrete] // CHECK:STDOUT: %.2bf: type = fn_type_with_self_type %NewCursor.type.427, %Iterate.facet [concrete] @@ -495,14 +495,14 @@ fn Run() { // CHECK:STDOUT: %ptr.b85: type = ptr_type %tuple.type.784 [concrete] // CHECK:STDOUT: %HasValue.specific_fn: = specific_function %HasValue.4f9, @HasValue(%tuple.type.784) [concrete] // CHECK:STDOUT: %Get.specific_fn: = specific_function %Get.d99, @Get(%tuple.type.784) [concrete] -// CHECK:STDOUT: %Op.type.973: type = fn_type @Op.2, @impl.d2b(%tuple.type.784) [concrete] +// CHECK:STDOUT: %Op.type.973: type = fn_type @Op.2, @Destroy.impl(%tuple.type.784) [concrete] // CHECK:STDOUT: %Op.149: %Op.type.973 = struct_value () [concrete] -// CHECK:STDOUT: %Op.type.1cc: type = fn_type @Op.2, @impl.d2b(%Optional.79e) [concrete] +// CHECK:STDOUT: %Op.type.1cc: type = fn_type @Op.2, @Destroy.impl(%Optional.79e) [concrete] // CHECK:STDOUT: %Op.3ef: %Op.type.1cc = struct_value () [concrete] // CHECK:STDOUT: %ptr.07d: type = ptr_type %Optional.79e [concrete] -// CHECK:STDOUT: %Op.type.8b2: type = fn_type @Op.2, @impl.d2b(%empty_struct_type) [concrete] +// CHECK:STDOUT: %Op.type.8b2: type = fn_type @Op.2, @Destroy.impl(%empty_struct_type) [concrete] // CHECK:STDOUT: %Op.ca6: %Op.type.8b2 = struct_value () [concrete] -// CHECK:STDOUT: %Op.type.f1e: type = fn_type @Op.2, @impl.d2b(%EmptyRange.2f3) [concrete] +// CHECK:STDOUT: %Op.type.f1e: type = fn_type @Op.2, @Destroy.impl(%EmptyRange.2f3) [concrete] // CHECK:STDOUT: %Op.155: %Op.type.f1e = struct_value () [concrete] // CHECK:STDOUT: %ptr.5cf: type = ptr_type %EmptyRange.2f3 [concrete] // CHECK:STDOUT: } @@ -512,9 +512,9 @@ fn Run() { // CHECK:STDOUT: %Main.import_ref.6ea: @EmptyRange.%Make.type (%Make.type.bd2) = import_ref Main//empty_range, loc5_21, loaded [symbolic = @EmptyRange.%Make (constants.%Make.ed1)] // CHECK:STDOUT: %Main.import_ref.6ce = import_ref Main//empty_range, loc7_68, unloaded // CHECK:STDOUT: %Main.import_ref.999 = import_ref Main//empty_range, loc7_68, unloaded -// CHECK:STDOUT: %Main.import_ref.57b: @impl.86e.%NewCursor.type (%NewCursor.type.f5f) = import_ref Main//empty_range, loc8_38, loaded [symbolic = @impl.86e.%NewCursor (constants.%NewCursor.ec1)] -// CHECK:STDOUT: %Main.import_ref.170: @impl.86e.%Next.type (%Next.type.264) = import_ref Main//empty_range, loc11_58, loaded [symbolic = @impl.86e.%Next (constants.%Next.08e)] -// CHECK:STDOUT: %Iterate.impl_witness_table = impl_witness_table (%Main.import_ref.6ce, %Main.import_ref.999, %Main.import_ref.57b, %Main.import_ref.170), @impl.86e [concrete] +// CHECK:STDOUT: %Main.import_ref.57b: @Iterate.impl.%NewCursor.type (%NewCursor.type.f5f) = import_ref Main//empty_range, loc8_38, loaded [symbolic = @Iterate.impl.%NewCursor (constants.%NewCursor.ec1)] +// CHECK:STDOUT: %Main.import_ref.170: @Iterate.impl.%Next.type (%Next.type.264) = import_ref Main//empty_range, loc11_58, loaded [symbolic = @Iterate.impl.%Next (constants.%Next.08e)] +// CHECK:STDOUT: %Iterate.impl_witness_table = impl_witness_table (%Main.import_ref.6ce, %Main.import_ref.999, %Main.import_ref.57b, %Main.import_ref.170), @Iterate.impl [concrete] // CHECK:STDOUT: %Main.import_ref.7f9: @Optional.%HasValue.type (%HasValue.type.f81) = import_ref Main//empty_range, inst136 [indirect], loaded [symbolic = @Optional.%HasValue (constants.%HasValue.6fd)] // CHECK:STDOUT: %Main.import_ref.d10: @Optional.%Get.type (%Get.type.b8f) = import_ref Main//empty_range, inst137 [indirect], loaded [symbolic = @Optional.%Get (constants.%Get.9c8)] // CHECK:STDOUT: } @@ -653,18 +653,18 @@ fn Run() { // CHECK:STDOUT: %Make.specific_fn: = specific_function %Make.d4f, @Make(%tuple.type.56b) [concrete] // CHECK:STDOUT: %Iterate.type: type = facet_type <@Iterate> [concrete] // CHECK:STDOUT: %NewCursor.type.427: type = fn_type @NewCursor.1 [concrete] -// CHECK:STDOUT: %NewCursor.type.f5f: type = fn_type @NewCursor.2, @impl.86e(%T) [symbolic] +// CHECK:STDOUT: %NewCursor.type.f5f: type = fn_type @NewCursor.2, @Iterate.impl(%T) [symbolic] // CHECK:STDOUT: %NewCursor.ec1: %NewCursor.type.f5f = struct_value () [symbolic] -// CHECK:STDOUT: %Next.type.264: type = fn_type @Next.1, @impl.86e(%T) [symbolic] +// CHECK:STDOUT: %Next.type.264: type = fn_type @Next.1, @Iterate.impl(%T) [symbolic] // CHECK:STDOUT: %Next.08e: %Next.type.264 = struct_value () [symbolic] // CHECK:STDOUT: %HasValue.type.f81: type = fn_type @HasValue, @Optional(%T) [symbolic] // CHECK:STDOUT: %HasValue.6fd: %HasValue.type.f81 = struct_value () [symbolic] // CHECK:STDOUT: %Get.type.b8f: type = fn_type @Get, @Optional(%T) [symbolic] // CHECK:STDOUT: %Get.9c8: %Get.type.b8f = struct_value () [symbolic] -// CHECK:STDOUT: %Iterate.impl_witness.627: = impl_witness imports.%Iterate.impl_witness_table, @impl.86e(%tuple.type.56b) [concrete] -// CHECK:STDOUT: %NewCursor.type.59c: type = fn_type @NewCursor.2, @impl.86e(%tuple.type.56b) [concrete] +// CHECK:STDOUT: %Iterate.impl_witness.627: = impl_witness imports.%Iterate.impl_witness_table, @Iterate.impl(%tuple.type.56b) [concrete] +// CHECK:STDOUT: %NewCursor.type.59c: type = fn_type @NewCursor.2, @Iterate.impl(%tuple.type.56b) [concrete] // CHECK:STDOUT: %NewCursor.263: %NewCursor.type.59c = struct_value () [concrete] -// CHECK:STDOUT: %Next.type.70f: type = fn_type @Next.1, @impl.86e(%tuple.type.56b) [concrete] +// CHECK:STDOUT: %Next.type.70f: type = fn_type @Next.1, @Iterate.impl(%tuple.type.56b) [concrete] // CHECK:STDOUT: %Next.852: %Next.type.70f = struct_value () [concrete] // CHECK:STDOUT: %Iterate.facet: %Iterate.type = facet_value %EmptyRange.90a, (%Iterate.impl_witness.627) [concrete] // CHECK:STDOUT: %.8bd: type = fn_type_with_self_type %NewCursor.type.427, %Iterate.facet [concrete] @@ -679,15 +679,15 @@ fn Run() { // CHECK:STDOUT: %Get.8a7: %Get.type.4a4 = struct_value () [concrete] // CHECK:STDOUT: %HasValue.specific_fn: = specific_function %HasValue.bef, @HasValue(%tuple.type.56b) [concrete] // CHECK:STDOUT: %Get.specific_fn: = specific_function %Get.8a7, @Get(%tuple.type.56b) [concrete] -// CHECK:STDOUT: %Op.type.65e: type = fn_type @Op.2, @impl.d2b(%tuple.type.56b) [concrete] +// CHECK:STDOUT: %Op.type.65e: type = fn_type @Op.2, @Destroy.impl(%tuple.type.56b) [concrete] // CHECK:STDOUT: %Op.587: %Op.type.65e = struct_value () [concrete] // CHECK:STDOUT: %ptr.9f0: type = ptr_type %tuple.type.56b [concrete] -// CHECK:STDOUT: %Op.type.400: type = fn_type @Op.2, @impl.d2b(%Optional.657) [concrete] +// CHECK:STDOUT: %Op.type.400: type = fn_type @Op.2, @Destroy.impl(%Optional.657) [concrete] // CHECK:STDOUT: %Op.5ec: %Op.type.400 = struct_value () [concrete] // CHECK:STDOUT: %ptr.036: type = ptr_type %Optional.657 [concrete] -// CHECK:STDOUT: %Op.type.8b2: type = fn_type @Op.2, @impl.d2b(%empty_struct_type) [concrete] +// CHECK:STDOUT: %Op.type.8b2: type = fn_type @Op.2, @Destroy.impl(%empty_struct_type) [concrete] // CHECK:STDOUT: %Op.ca6: %Op.type.8b2 = struct_value () [concrete] -// CHECK:STDOUT: %Op.type.cee: type = fn_type @Op.2, @impl.d2b(%EmptyRange.90a) [concrete] +// CHECK:STDOUT: %Op.type.cee: type = fn_type @Op.2, @Destroy.impl(%EmptyRange.90a) [concrete] // CHECK:STDOUT: %Op.323: %Op.type.cee = struct_value () [concrete] // CHECK:STDOUT: %ptr.f9b: type = ptr_type %EmptyRange.90a [concrete] // CHECK:STDOUT: } @@ -697,9 +697,9 @@ fn Run() { // CHECK:STDOUT: %Main.import_ref.6ea: @EmptyRange.%Make.type (%Make.type.bd2) = import_ref Main//empty_range, loc5_21, loaded [symbolic = @EmptyRange.%Make (constants.%Make.ed1)] // CHECK:STDOUT: %Main.import_ref.6ce = import_ref Main//empty_range, loc7_68, unloaded // CHECK:STDOUT: %Main.import_ref.999 = import_ref Main//empty_range, loc7_68, unloaded -// CHECK:STDOUT: %Main.import_ref.57b: @impl.86e.%NewCursor.type (%NewCursor.type.f5f) = import_ref Main//empty_range, loc8_38, loaded [symbolic = @impl.86e.%NewCursor (constants.%NewCursor.ec1)] -// CHECK:STDOUT: %Main.import_ref.170: @impl.86e.%Next.type (%Next.type.264) = import_ref Main//empty_range, loc11_58, loaded [symbolic = @impl.86e.%Next (constants.%Next.08e)] -// CHECK:STDOUT: %Iterate.impl_witness_table = impl_witness_table (%Main.import_ref.6ce, %Main.import_ref.999, %Main.import_ref.57b, %Main.import_ref.170), @impl.86e [concrete] +// CHECK:STDOUT: %Main.import_ref.57b: @Iterate.impl.%NewCursor.type (%NewCursor.type.f5f) = import_ref Main//empty_range, loc8_38, loaded [symbolic = @Iterate.impl.%NewCursor (constants.%NewCursor.ec1)] +// CHECK:STDOUT: %Main.import_ref.170: @Iterate.impl.%Next.type (%Next.type.264) = import_ref Main//empty_range, loc11_58, loaded [symbolic = @Iterate.impl.%Next (constants.%Next.08e)] +// CHECK:STDOUT: %Iterate.impl_witness_table = impl_witness_table (%Main.import_ref.6ce, %Main.import_ref.999, %Main.import_ref.57b, %Main.import_ref.170), @Iterate.impl [concrete] // CHECK:STDOUT: %Main.import_ref.7f9: @Optional.%HasValue.type (%HasValue.type.f81) = import_ref Main//empty_range, inst136 [indirect], loaded [symbolic = @Optional.%HasValue (constants.%HasValue.6fd)] // CHECK:STDOUT: %Main.import_ref.d10: @Optional.%Get.type (%Get.type.b8f) = import_ref Main//empty_range, inst137 [indirect], loaded [symbolic = @Optional.%Get (constants.%Get.9c8)] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/builtin/call.carbon b/toolchain/check/testdata/function/builtin/call.carbon index 0a56b1253ca0..1a07ed9a1ecd 100644 --- a/toolchain/check/testdata/function/builtin/call.carbon +++ b/toolchain/check/testdata/function/builtin/call.carbon @@ -37,15 +37,15 @@ fn RuntimeCall(a: i32, b: i32) -> i32 { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.type.2fd: type = facet_type <@ImplicitAs, @ImplicitAs(Core.IntLiteral)> [concrete] // CHECK:STDOUT: %From: Core.IntLiteral = bind_symbolic_name From, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.708: type = fn_type @Convert.3, @impl.971(%From) [symbolic] +// CHECK:STDOUT: %Convert.type.708: type = fn_type @Convert.3, @ImplicitAs.impl.971(%From) [symbolic] // CHECK:STDOUT: %Convert.c68: %Convert.type.708 = struct_value () [symbolic] // CHECK:STDOUT: %Convert.type.71e: type = fn_type @Convert.1, @ImplicitAs(Core.IntLiteral) [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.921: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet.921 [concrete] @@ -57,8 +57,8 @@ fn RuntimeCall(a: i32, b: i32) -> i32 { // CHECK:STDOUT: %bound_method.b92: = bound_method %int_2.ecc, %Convert.specific_fn.b6f [concrete] // CHECK:STDOUT: %int_2.ef8: %i32 = int_value 2 [concrete] // CHECK:STDOUT: %int_3.822: %i32 = int_value 3 [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a11: = impl_witness imports.%ImplicitAs.impl_witness_table.1d9, @impl.971(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.4ad: type = fn_type @Convert.3, @impl.971(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a11: = impl_witness imports.%ImplicitAs.impl_witness_table.1d9, @ImplicitAs.impl.971(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.4ad: type = fn_type @Convert.3, @ImplicitAs.impl.971(%int_32) [concrete] // CHECK:STDOUT: %Convert.960: %Convert.type.4ad = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.f49: %ImplicitAs.type.2fd = facet_value %i32, (%ImplicitAs.impl_witness.a11) [concrete] // CHECK:STDOUT: %.0ea: type = fn_type_with_self_type %Convert.type.71e, %ImplicitAs.facet.f49 [concrete] @@ -81,10 +81,10 @@ fn RuntimeCall(a: i32, b: i32) -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] -// CHECK:STDOUT: %Core.import_ref.85c: @impl.971.%Convert.type (%Convert.type.708) = import_ref Core//prelude/parts/int, loc20_44, loaded [symbolic = @impl.971.%Convert (constants.%Convert.c68)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1d9 = impl_witness_table (%Core.import_ref.85c), @impl.971 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.85c: @ImplicitAs.impl.971.%Convert.type (%Convert.type.708) = import_ref Core//prelude/parts/int, loc20_44, loaded [symbolic = @ImplicitAs.impl.971.%Convert (constants.%Convert.c68)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1d9 = impl_witness_table (%Core.import_ref.85c), @ImplicitAs.impl.971 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/function/builtin/call_from_operator.carbon b/toolchain/check/testdata/function/builtin/call_from_operator.carbon index 9321f2688ce2..3300a296ff27 100644 --- a/toolchain/check/testdata/function/builtin/call_from_operator.carbon +++ b/toolchain/check/testdata/function/builtin/call_from_operator.carbon @@ -186,7 +186,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: } { // CHECK:STDOUT: %T.loc15_22.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc15_22.2 (constants.%T)] // CHECK:STDOUT: } -// CHECK:STDOUT: impl_decl @impl.fcd [concrete] {} { +// CHECK:STDOUT: impl_decl @AddWith.impl [concrete] {} { // CHECK:STDOUT: %int_32.loc19_6: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %int.make_type_signed.loc19_6: init type = call constants.%Int(%int_32.loc19_6) [concrete = constants.%i32.builtin] // CHECK:STDOUT: %.loc19_6.1: type = value_of_initializer %int.make_type_signed.loc19_6 [concrete = constants.%i32.builtin] @@ -198,9 +198,9 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %.loc19_24.2: type = converted %int.make_type_signed.loc19_21, %.loc19_24.1 [concrete = constants.%i32.builtin] // CHECK:STDOUT: %AddWith.type: type = facet_type <@AddWith, @AddWith(constants.%i32.builtin)> [concrete = constants.%AddWith.type.49d] // CHECK:STDOUT: } -// CHECK:STDOUT: %AddWith.impl_witness_table = impl_witness_table (@impl.fcd.%Op.decl), @impl.fcd [concrete] +// CHECK:STDOUT: %AddWith.impl_witness_table = impl_witness_table (@AddWith.impl.%Op.decl), @AddWith.impl [concrete] // CHECK:STDOUT: %AddWith.impl_witness: = impl_witness %AddWith.impl_witness_table [concrete = constants.%AddWith.impl_witness] -// CHECK:STDOUT: impl_decl @impl.028 [concrete] {} { +// CHECK:STDOUT: impl_decl @As.impl [concrete] {} { // CHECK:STDOUT: %IntLiteral.ref: %IntLiteral.type = name_ref IntLiteral, file.%IntLiteral.decl [concrete = constants.%IntLiteral] // CHECK:STDOUT: %int_literal.make_type: init type = call %IntLiteral.ref() [concrete = Core.IntLiteral] // CHECK:STDOUT: %.loc23_17.1: type = value_of_initializer %int_literal.make_type [concrete = Core.IntLiteral] @@ -212,9 +212,9 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %.loc23_28.2: type = converted %int.make_type_signed, %.loc23_28.1 [concrete = constants.%i32.builtin] // CHECK:STDOUT: %As.type: type = facet_type <@As, @As(constants.%i32.builtin)> [concrete = constants.%As.type.a09] // CHECK:STDOUT: } -// CHECK:STDOUT: %As.impl_witness_table = impl_witness_table (@impl.028.%Convert.decl), @impl.028 [concrete] +// CHECK:STDOUT: %As.impl_witness_table = impl_witness_table (@As.impl.%Convert.decl), @As.impl [concrete] // CHECK:STDOUT: %As.impl_witness: = impl_witness %As.impl_witness_table [concrete = constants.%As.impl_witness] -// CHECK:STDOUT: impl_decl @impl.e13 [concrete] {} { +// CHECK:STDOUT: impl_decl @ImplicitAs.impl.e13 [concrete] {} { // CHECK:STDOUT: %IntLiteral.ref: %IntLiteral.type = name_ref IntLiteral, file.%IntLiteral.decl [concrete = constants.%IntLiteral] // CHECK:STDOUT: %int_literal.make_type: init type = call %IntLiteral.ref() [concrete = Core.IntLiteral] // CHECK:STDOUT: %.loc27_17.1: type = value_of_initializer %int_literal.make_type [concrete = Core.IntLiteral] @@ -226,9 +226,9 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %.loc27_36.2: type = converted %int.make_type_signed, %.loc27_36.1 [concrete = constants.%i32.builtin] // CHECK:STDOUT: %ImplicitAs.type: type = facet_type <@ImplicitAs, @ImplicitAs(constants.%i32.builtin)> [concrete = constants.%ImplicitAs.type.11a] // CHECK:STDOUT: } -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.loc27 = impl_witness_table (@impl.e13.%Convert.decl), @impl.e13 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.loc27 = impl_witness_table (@ImplicitAs.impl.e13.%Convert.decl), @ImplicitAs.impl.e13 [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness.loc27: = impl_witness %ImplicitAs.impl_witness_table.loc27 [concrete = constants.%ImplicitAs.impl_witness.be0] -// CHECK:STDOUT: impl_decl @impl.3df [concrete] {} { +// CHECK:STDOUT: impl_decl @ImplicitAs.impl.3df [concrete] {} { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %int.make_type_signed: init type = call constants.%Int(%int_32) [concrete = constants.%i32.builtin] // CHECK:STDOUT: %.loc31_6.1: type = value_of_initializer %int.make_type_signed [concrete = constants.%i32.builtin] @@ -240,7 +240,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %.loc31_36.2: type = converted %int_literal.make_type, %.loc31_36.1 [concrete = Core.IntLiteral] // CHECK:STDOUT: %ImplicitAs.type: type = facet_type <@ImplicitAs, @ImplicitAs(Core.IntLiteral)> [concrete = constants.%ImplicitAs.type.9fc] // CHECK:STDOUT: } -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.loc31 = impl_witness_table (@impl.3df.%Convert.decl), @impl.3df [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.loc31 = impl_witness_table (@ImplicitAs.impl.3df.%Convert.decl), @ImplicitAs.impl.3df [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness.loc31: = impl_witness %ImplicitAs.impl_witness_table.loc31 [concrete = constants.%ImplicitAs.impl_witness.95b] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -379,7 +379,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: -// CHECK:STDOUT: impl @impl.fcd: %.loc19_6.2 as %AddWith.type { +// 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: %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] @@ -388,12 +388,12 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %return.patt: %pattern_type.956 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.956 = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %Self.ref.loc20_37: type = name_ref Self, @impl.fcd.%.loc19_6.2 [concrete = constants.%i32.builtin] +// CHECK:STDOUT: %Self.ref.loc20_37: type = name_ref Self, @AddWith.impl.%.loc19_6.2 [concrete = constants.%i32.builtin] // CHECK:STDOUT: %self.param: %i32.builtin = value_param call_param0 -// CHECK:STDOUT: %Self.ref.loc20_15: type = name_ref Self, @impl.fcd.%.loc19_6.2 [concrete = constants.%i32.builtin] +// CHECK:STDOUT: %Self.ref.loc20_15: type = name_ref Self, @AddWith.impl.%.loc19_6.2 [concrete = constants.%i32.builtin] // CHECK:STDOUT: %self: %i32.builtin = bind_name self, %self.param // CHECK:STDOUT: %other.param: %i32.builtin = value_param call_param1 -// CHECK:STDOUT: %Self.ref.loc20_28: type = name_ref Self, @impl.fcd.%.loc19_6.2 [concrete = constants.%i32.builtin] +// CHECK:STDOUT: %Self.ref.loc20_28: type = name_ref Self, @AddWith.impl.%.loc19_6.2 [concrete = constants.%i32.builtin] // CHECK:STDOUT: %other: %i32.builtin = bind_name other, %other.param // CHECK:STDOUT: %return.param: ref %i32.builtin = out_param call_param2 // CHECK:STDOUT: %return: ref %i32.builtin = return_slot %return.param @@ -404,7 +404,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: witness = file.%AddWith.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.028: %.loc23_17.2 as %As.type { +// 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: %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] @@ -416,7 +416,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %.loc24_31.1: type = value_of_initializer %int.make_type_signed [concrete = constants.%i32.builtin] // CHECK:STDOUT: %.loc24_31.2: type = converted %int.make_type_signed, %.loc24_31.1 [concrete = constants.%i32.builtin] // CHECK:STDOUT: %self.param: Core.IntLiteral = value_param call_param0 -// CHECK:STDOUT: %Self.ref: type = name_ref Self, @impl.028.%.loc23_17.2 [concrete = Core.IntLiteral] +// CHECK:STDOUT: %Self.ref: type = name_ref Self, @As.impl.%.loc23_17.2 [concrete = Core.IntLiteral] // CHECK:STDOUT: %self: Core.IntLiteral = bind_name self, %self.param // CHECK:STDOUT: %return.param: ref %i32.builtin = out_param call_param1 // CHECK:STDOUT: %return: ref %i32.builtin = return_slot %return.param @@ -427,7 +427,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: witness = file.%As.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.e13: %.loc27_17.2 as %ImplicitAs.type { +// 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: %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] @@ -439,7 +439,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %.loc28_31.1: type = value_of_initializer %int.make_type_signed [concrete = constants.%i32.builtin] // CHECK:STDOUT: %.loc28_31.2: type = converted %int.make_type_signed, %.loc28_31.1 [concrete = constants.%i32.builtin] // CHECK:STDOUT: %self.param: Core.IntLiteral = value_param call_param0 -// CHECK:STDOUT: %Self.ref: type = name_ref Self, @impl.e13.%.loc27_17.2 [concrete = Core.IntLiteral] +// CHECK:STDOUT: %Self.ref: type = name_ref Self, @ImplicitAs.impl.e13.%.loc27_17.2 [concrete = Core.IntLiteral] // CHECK:STDOUT: %self: Core.IntLiteral = bind_name self, %self.param // CHECK:STDOUT: %return.param: ref %i32.builtin = out_param call_param1 // CHECK:STDOUT: %return: ref %i32.builtin = return_slot %return.param @@ -450,7 +450,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: witness = file.%ImplicitAs.impl_witness.loc27 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.3df: %.loc31_6.2 as %ImplicitAs.type { +// 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: %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] @@ -462,7 +462,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %.loc32_42.1: type = value_of_initializer %int_literal.make_type [concrete = Core.IntLiteral] // CHECK:STDOUT: %.loc32_42.2: type = converted %int_literal.make_type, %.loc32_42.1 [concrete = Core.IntLiteral] // CHECK:STDOUT: %self.param: %i32.builtin = value_param call_param0 -// CHECK:STDOUT: %Self.ref: type = name_ref Self, @impl.3df.%.loc31_6.2 [concrete = constants.%i32.builtin] +// CHECK:STDOUT: %Self.ref: type = name_ref Self, @ImplicitAs.impl.3df.%.loc31_6.2 [concrete = constants.%i32.builtin] // CHECK:STDOUT: %self: %i32.builtin = bind_name self, %self.param // CHECK:STDOUT: %return.param: ref Core.IntLiteral = out_param call_param1 // CHECK:STDOUT: %return: ref Core.IntLiteral = return_slot %return.param @@ -798,17 +798,17 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %Core.import_ref.efb: type = import_ref Core//default, loc31_36, loaded [concrete = constants.%ImplicitAs.type.2fd] // CHECK:STDOUT: %Core.import_ref.1c752f.2: @ImplicitAs.%Convert.type (%Convert.type.275) = import_ref Core//default, loc16_32, loaded [symbolic = @ImplicitAs.%Convert (constants.%Convert.42e)] // CHECK:STDOUT: %Core.import_ref.73a: %Convert.type.953 = import_ref Core//default, loc24_35, loaded [concrete = constants.%Convert.5bc] -// CHECK:STDOUT: %As.impl_witness_table = impl_witness_table (%Core.import_ref.73a), @impl.2cc [concrete] +// CHECK:STDOUT: %As.impl_witness_table = impl_witness_table (%Core.import_ref.73a), @As.impl [concrete] // CHECK:STDOUT: %Core.AddWith: %AddWith.type.e05 = import_ref Core//default, AddWith, loaded [concrete = constants.%AddWith.generic] // CHECK:STDOUT: %Core.import_ref.7e6ace.2 = import_ref Core//default, loc8_41, unloaded // CHECK:STDOUT: %Core.import_ref.079: %Op.type.2bc = import_ref Core//default, loc20_42, loaded [concrete = constants.%Op.9d1] -// CHECK:STDOUT: %AddWith.impl_witness_table = impl_witness_table (%Core.import_ref.079), @impl.23c [concrete] +// CHECK:STDOUT: %AddWith.impl_witness_table = impl_witness_table (%Core.import_ref.079), @AddWith.impl [concrete] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//default, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.207961.2 = import_ref Core//default, loc16_32, unloaded // CHECK:STDOUT: %Core.import_ref.4f9: %Convert.type.0e4 = import_ref Core//default, loc32_44, loaded [concrete = constants.%Convert.b32] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.5fc = impl_witness_table (%Core.import_ref.4f9), @impl.ddc [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.5fc = impl_witness_table (%Core.import_ref.4f9), @ImplicitAs.impl.ddc [concrete] // CHECK:STDOUT: %Core.import_ref.f35: %Convert.type.49f = import_ref Core//default, loc28_35, loaded [concrete = constants.%Convert.cb5] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.78e = impl_witness_table (%Core.import_ref.f35), @impl.68b [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.78e = impl_witness_table (%Core.import_ref.f35), @ImplicitAs.impl.68b [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -919,22 +919,22 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.23c: imports.%Core.import_ref.c8c7cd.1 as imports.%Core.import_ref.ef3 [from "core.carbon"] { +// CHECK:STDOUT: impl @AddWith.impl: imports.%Core.import_ref.c8c7cd.1 as imports.%Core.import_ref.ef3 [from "core.carbon"] { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = imports.%Core.import_ref.772 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.2cc: imports.%Core.import_ref.8721d7.1 as imports.%Core.import_ref.1e5 [from "core.carbon"] { +// CHECK:STDOUT: impl @As.impl: imports.%Core.import_ref.8721d7.1 as imports.%Core.import_ref.1e5 [from "core.carbon"] { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = imports.%Core.import_ref.cb6 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.68b: imports.%Core.import_ref.8721d7.2 as imports.%Core.import_ref.4d9 [from "core.carbon"] { +// CHECK:STDOUT: impl @ImplicitAs.impl.68b: imports.%Core.import_ref.8721d7.2 as imports.%Core.import_ref.4d9 [from "core.carbon"] { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = imports.%Core.import_ref.c62 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.ddc: imports.%Core.import_ref.c8c7cd.2 as imports.%Core.import_ref.efb [from "core.carbon"] { +// CHECK:STDOUT: impl @ImplicitAs.impl.ddc: imports.%Core.import_ref.c8c7cd.2 as imports.%Core.import_ref.efb [from "core.carbon"] { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = imports.%Core.import_ref.c5f // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/builtin/method.carbon b/toolchain/check/testdata/function/builtin/method.carbon index 182d05a6f356..242a2a4e3359 100644 --- a/toolchain/check/testdata/function/builtin/method.carbon +++ b/toolchain/check/testdata/function/builtin/method.carbon @@ -50,17 +50,17 @@ var arr: array(i32, (1 as i32).(I.F)(2)); // CHECK:STDOUT: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] // CHECK:STDOUT: %ImplicitAs.type.cc7: type = generic_interface_type @ImplicitAs [concrete] // CHECK:STDOUT: %ImplicitAs.generic: %ImplicitAs.type.cc7 = struct_value () [concrete] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.3, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.3, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.type.2fd: type = facet_type <@ImplicitAs, @ImplicitAs(Core.IntLiteral)> [concrete] // CHECK:STDOUT: %From: Core.IntLiteral = bind_symbolic_name From, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.708: type = fn_type @Convert.4, @impl.971(%From) [symbolic] +// CHECK:STDOUT: %Convert.type.708: type = fn_type @Convert.4, @ImplicitAs.impl.971(%From) [symbolic] // CHECK:STDOUT: %Convert.c68: %Convert.type.708 = struct_value () [symbolic] // CHECK:STDOUT: %Convert.type.71e: type = fn_type @Convert.2, @ImplicitAs(Core.IntLiteral) [concrete] -// CHECK:STDOUT: %Convert.type.062: type = fn_type @Convert.5, @impl.686(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.062: type = fn_type @Convert.5, @As.impl.686(%To) [symbolic] // CHECK:STDOUT: %Convert.527: %Convert.type.062 = struct_value () [symbolic] -// CHECK:STDOUT: %As.impl_witness.6b4: = impl_witness imports.%As.impl_witness_table.eb4, @impl.686(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.4fd: type = fn_type @Convert.5, @impl.686(%int_32) [concrete] +// CHECK:STDOUT: %As.impl_witness.6b4: = impl_witness imports.%As.impl_witness_table.eb4, @As.impl.686(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.4fd: type = fn_type @Convert.5, @As.impl.686(%int_32) [concrete] // CHECK:STDOUT: %Convert.197: %Convert.type.4fd = struct_value () [concrete] // CHECK:STDOUT: %As.facet: %As.type.fd4 = facet_value Core.IntLiteral, (%As.impl_witness.6b4) [concrete] // CHECK:STDOUT: %.982: type = fn_type_with_self_type %Convert.type.99b, %As.facet [concrete] @@ -73,8 +73,8 @@ var arr: array(i32, (1 as i32).(I.F)(2)); // CHECK:STDOUT: %int_2.ecc: Core.IntLiteral = int_value 2 [concrete] // CHECK:STDOUT: %ImplicitAs.type.205: type = facet_type <@ImplicitAs, @ImplicitAs(%i32)> [concrete] // CHECK:STDOUT: %Convert.type.1b6: type = fn_type @Convert.2, @ImplicitAs(%i32) [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.3, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.3, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.921: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet.921 [concrete] @@ -83,8 +83,8 @@ var arr: array(i32, (1 as i32).(I.F)(2)); // CHECK:STDOUT: %bound_method.b92: = bound_method %int_2.ecc, %Convert.specific_fn.b6f [concrete] // CHECK:STDOUT: %int_2.ef8: %i32 = int_value 2 [concrete] // CHECK:STDOUT: %int_3.822: %i32 = int_value 3 [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a11: = impl_witness imports.%ImplicitAs.impl_witness_table.1d9, @impl.971(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.4ad: type = fn_type @Convert.4, @impl.971(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a11: = impl_witness imports.%ImplicitAs.impl_witness_table.1d9, @ImplicitAs.impl.971(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.4ad: type = fn_type @Convert.4, @ImplicitAs.impl.971(%int_32) [concrete] // CHECK:STDOUT: %Convert.960: %Convert.type.4ad = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.f49: %ImplicitAs.type.2fd = facet_value %i32, (%ImplicitAs.impl_witness.a11) [concrete] // CHECK:STDOUT: %.0ea: type = fn_type_with_self_type %Convert.type.71e, %ImplicitAs.facet.f49 [concrete] @@ -106,12 +106,12 @@ var arr: array(i32, (1 as i32).(I.F)(2)); // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.As: %As.type.90f = import_ref Core//prelude/parts/as, As, loaded [concrete = constants.%As.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] -// CHECK:STDOUT: %Core.import_ref.85c: @impl.971.%Convert.type (%Convert.type.708) = import_ref Core//prelude/parts/int, loc20_44, loaded [symbolic = @impl.971.%Convert (constants.%Convert.c68)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1d9 = impl_witness_table (%Core.import_ref.85c), @impl.971 [concrete] -// CHECK:STDOUT: %Core.import_ref.78a: @impl.686.%Convert.type (%Convert.type.062) = import_ref Core//prelude/parts/int, loc25_39, loaded [symbolic = @impl.686.%Convert (constants.%Convert.527)] -// CHECK:STDOUT: %As.impl_witness_table.eb4 = impl_witness_table (%Core.import_ref.78a), @impl.686 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.85c: @ImplicitAs.impl.971.%Convert.type (%Convert.type.708) = import_ref Core//prelude/parts/int, loc20_44, loaded [symbolic = @ImplicitAs.impl.971.%Convert (constants.%Convert.c68)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1d9 = impl_witness_table (%Core.import_ref.85c), @ImplicitAs.impl.971 [concrete] +// CHECK:STDOUT: %Core.import_ref.78a: @As.impl.686.%Convert.type (%Convert.type.062) = import_ref Core//prelude/parts/int, loc25_39, loaded [symbolic = @As.impl.686.%Convert (constants.%Convert.527)] +// CHECK:STDOUT: %As.impl_witness_table.eb4 = impl_witness_table (%Core.import_ref.78a), @As.impl.686 [concrete] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -123,12 +123,12 @@ var arr: array(i32, (1 as i32).(I.F)(2)); // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %I.decl: type = interface_decl @I [concrete = constants.%I.type] {} {} -// CHECK:STDOUT: impl_decl @impl.a9a [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl [concrete] {} { // 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: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (@impl.a9a.%F.decl), @impl.a9a [concrete] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (@I.impl.%F.decl), @I.impl [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %arr.patt: %pattern_type.5d8 = binding_pattern arr [concrete] @@ -213,7 +213,7 @@ var arr: array(i32, (1 as i32).(I.F)(2)); // CHECK:STDOUT: witness = (%F.decl) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.a9a: %i32 as %I.ref { +// 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: %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] diff --git a/toolchain/check/testdata/function/call/alias.carbon b/toolchain/check/testdata/function/call/alias.carbon index 1807078c6845..bfc78145fc31 100644 --- a/toolchain/check/testdata/function/call/alias.carbon +++ b/toolchain/check/testdata/function/call/alias.carbon @@ -31,7 +31,7 @@ fn Main() { // CHECK:STDOUT: %Main.type: type = fn_type @Main [concrete] // CHECK:STDOUT: %Main: %Main.type = struct_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @impl(%empty_tuple.type) [concrete] +// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @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.2(%empty_tuple.type) [concrete] diff --git a/toolchain/check/testdata/function/call/fail_not_callable.carbon b/toolchain/check/testdata/function/call/fail_not_callable.carbon index c34fad55208f..924f9a545177 100644 --- a/toolchain/check/testdata/function/call/fail_not_callable.carbon +++ b/toolchain/check/testdata/function/call/fail_not_callable.carbon @@ -32,7 +32,7 @@ fn Run() { // CHECK:STDOUT: %pattern_type.7ce: type = pattern_type %i32 [concrete] // CHECK:STDOUT: %str: String = string_literal "hello" [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.a17: type = fn_type @Op.2, @impl.49c(%i32) [concrete] +// CHECK:STDOUT: %Op.type.a17: type = fn_type @Op.2, @Destroy.impl(%i32) [concrete] // CHECK:STDOUT: %Op.e6a: %Op.type.a17 = struct_value () [concrete] // CHECK:STDOUT: %ptr.235: type = ptr_type %i32 [concrete] // CHECK:STDOUT: %Op.specific_fn.014: = specific_function %Op.e6a, @Op.2(%i32) [concrete] diff --git a/toolchain/check/testdata/function/call/fail_return_type_mismatch.carbon b/toolchain/check/testdata/function/call/fail_return_type_mismatch.carbon index 7efab8b5c268..a9454eb0e1bd 100644 --- a/toolchain/check/testdata/function/call/fail_return_type_mismatch.carbon +++ b/toolchain/check/testdata/function/call/fail_return_type_mismatch.carbon @@ -46,7 +46,7 @@ fn Run() { // CHECK:STDOUT: %ImplicitAs.type.cc7: type = generic_interface_type @ImplicitAs [concrete] // CHECK:STDOUT: %ImplicitAs.generic: %ImplicitAs.type.cc7 = struct_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.a17: type = fn_type @Op.3, @impl.49c(%i32) [concrete] +// CHECK:STDOUT: %Op.type.a17: type = fn_type @Op.3, @Destroy.impl(%i32) [concrete] // CHECK:STDOUT: %Op.e6a: %Op.type.a17 = struct_value () [concrete] // CHECK:STDOUT: %ptr.235: type = ptr_type %i32 [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.e6a, @Op.3(%i32) [concrete] diff --git a/toolchain/check/testdata/function/call/i32.carbon b/toolchain/check/testdata/function/call/i32.carbon index 4c18a89ad86e..a4c2f62160aa 100644 --- a/toolchain/check/testdata/function/call/i32.carbon +++ b/toolchain/check/testdata/function/call/i32.carbon @@ -39,10 +39,10 @@ fn Main() { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -51,7 +51,7 @@ fn Main() { // CHECK:STDOUT: %bound_method: = bound_method %int_1.5b8, %Convert.specific_fn [concrete] // CHECK:STDOUT: %int_1.5d2: %i32 = int_value 1 [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.a17: type = fn_type @Op.3, @impl.49c(%i32) [concrete] +// CHECK:STDOUT: %Op.type.a17: type = fn_type @Op.3, @Destroy.impl(%i32) [concrete] // CHECK:STDOUT: %Op.e6a: %Op.type.a17 = struct_value () [concrete] // CHECK:STDOUT: %ptr.235: type = ptr_type %i32 [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.e6a, @Op.3(%i32) [concrete] @@ -67,8 +67,8 @@ fn Main() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/function/call/more_param_ir.carbon b/toolchain/check/testdata/function/call/more_param_ir.carbon index e2adfc224611..08dfb2af4233 100644 --- a/toolchain/check/testdata/function/call/more_param_ir.carbon +++ b/toolchain/check/testdata/function/call/more_param_ir.carbon @@ -43,10 +43,10 @@ fn Main() { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -61,7 +61,7 @@ fn Main() { // CHECK:STDOUT: %bound_method.efa: = bound_method %int_6.462, %Convert.specific_fn [concrete] // CHECK:STDOUT: %int_6.e56: %i32 = int_value 6 [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.438: type = fn_type @Op.3, @impl.49c(%tuple.type.a1c) [concrete] +// CHECK:STDOUT: %Op.type.438: type = fn_type @Op.3, @Destroy.impl(%tuple.type.a1c) [concrete] // CHECK:STDOUT: %Op.c8e: %Op.type.438 = struct_value () [concrete] // CHECK:STDOUT: %ptr.0b7: type = ptr_type %tuple.type.a1c [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.c8e, @Op.3(%tuple.type.a1c) [concrete] @@ -77,8 +77,8 @@ fn Main() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/function/call/params_one.carbon b/toolchain/check/testdata/function/call/params_one.carbon index f4e74eb4bd4e..427f47454f29 100644 --- a/toolchain/check/testdata/function/call/params_one.carbon +++ b/toolchain/check/testdata/function/call/params_one.carbon @@ -37,10 +37,10 @@ fn Main() { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -59,8 +59,8 @@ fn Main() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/function/call/params_one_comma.carbon b/toolchain/check/testdata/function/call/params_one_comma.carbon index 525a404ef6c3..25b46b2206e8 100644 --- a/toolchain/check/testdata/function/call/params_one_comma.carbon +++ b/toolchain/check/testdata/function/call/params_one_comma.carbon @@ -38,10 +38,10 @@ fn Main() { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -60,8 +60,8 @@ fn Main() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/function/call/params_two.carbon b/toolchain/check/testdata/function/call/params_two.carbon index 67612578c315..781dc14f1cfd 100644 --- a/toolchain/check/testdata/function/call/params_two.carbon +++ b/toolchain/check/testdata/function/call/params_two.carbon @@ -38,10 +38,10 @@ fn Main() { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -63,8 +63,8 @@ fn Main() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/function/call/params_two_comma.carbon b/toolchain/check/testdata/function/call/params_two_comma.carbon index 4943ff27ac16..efdcf91c3c7b 100644 --- a/toolchain/check/testdata/function/call/params_two_comma.carbon +++ b/toolchain/check/testdata/function/call/params_two_comma.carbon @@ -39,10 +39,10 @@ fn Main() { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -64,8 +64,8 @@ fn Main() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/function/call/prefer_unqualified_lookup.carbon b/toolchain/check/testdata/function/call/prefer_unqualified_lookup.carbon index c8bf6adf16bb..c0e7ac8c8e8f 100644 --- a/toolchain/check/testdata/function/call/prefer_unqualified_lookup.carbon +++ b/toolchain/check/testdata/function/call/prefer_unqualified_lookup.carbon @@ -53,10 +53,10 @@ fn Class(F:! type).Inner.G() -> i32 { return F(); } // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -76,8 +76,8 @@ fn Class(F:! type).Inner.G() -> i32 { return F(); } // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/function/call/return_implicit.carbon b/toolchain/check/testdata/function/call/return_implicit.carbon index 2b39cba574de..eb7b5f767267 100644 --- a/toolchain/check/testdata/function/call/return_implicit.carbon +++ b/toolchain/check/testdata/function/call/return_implicit.carbon @@ -29,7 +29,7 @@ fn Main() { // CHECK:STDOUT: %Main: %Main.type = struct_value () [concrete] // CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @impl(%empty_tuple.type) [concrete] +// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @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.2(%empty_tuple.type) [concrete] diff --git a/toolchain/check/testdata/function/declaration/fail_import_incomplete_return.carbon b/toolchain/check/testdata/function/declaration/fail_import_incomplete_return.carbon index 7bc459aad18f..2095a53e636e 100644 --- a/toolchain/check/testdata/function/declaration/fail_import_incomplete_return.carbon +++ b/toolchain/check/testdata/function/declaration/fail_import_incomplete_return.carbon @@ -212,7 +212,7 @@ fn CallFAndGIncomplete() { // CHECK:STDOUT: %ReturnDUsed.type: type = fn_type @ReturnDUsed [concrete] // CHECK:STDOUT: %ReturnDUsed: %ReturnDUsed.type = struct_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.548: type = fn_type @Op.2, @impl(%D) [concrete] +// CHECK:STDOUT: %Op.type.548: type = fn_type @Op.2, @Destroy.impl(%D) [concrete] // CHECK:STDOUT: %Op.2d4: %Op.type.548 = struct_value () [concrete] // CHECK:STDOUT: %ptr.19c: type = ptr_type %D [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.2d4, @Op.2(%D) [concrete] diff --git a/toolchain/check/testdata/function/declaration/import.carbon b/toolchain/check/testdata/function/declaration/import.carbon index 218e440a534f..9d4418502227 100644 --- a/toolchain/check/testdata/function/declaration/import.carbon +++ b/toolchain/check/testdata/function/declaration/import.carbon @@ -478,10 +478,10 @@ import library "extern_api"; // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -520,8 +520,8 @@ import library "extern_api"; // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -673,10 +673,10 @@ import library "extern_api"; // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -701,8 +701,8 @@ import library "extern_api"; // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -884,10 +884,10 @@ import library "extern_api"; // CHECK:STDOUT: %ImplicitAs.type.9ba: type = facet_type <@ImplicitAs, @ImplicitAs(%i32)> [concrete] // CHECK:STDOUT: %Convert.type.6da: type = fn_type @Convert.1, @ImplicitAs(%i32) [concrete] // CHECK:STDOUT: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0b2: type = fn_type @Convert.2, @impl.c81(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0b2: type = fn_type @Convert.2, @ImplicitAs.impl.c81(%To) [symbolic] // CHECK:STDOUT: %Convert.6d7: %Convert.type.0b2 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.e34: = impl_witness imports.%ImplicitAs.impl_witness_table.e36, @impl.c81(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.ed5: type = fn_type @Convert.2, @impl.c81(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.e34: = impl_witness imports.%ImplicitAs.impl_witness_table.e36, @ImplicitAs.impl.c81(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.ed5: type = fn_type @Convert.2, @ImplicitAs.impl.c81(%int_32) [concrete] // CHECK:STDOUT: %Convert.16d: %Convert.type.ed5 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.9ba = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.e34) [concrete] // CHECK:STDOUT: %.d6a: type = fn_type_with_self_type %Convert.type.6da, %ImplicitAs.facet [concrete] @@ -912,8 +912,8 @@ import library "extern_api"; // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a86: @impl.c81.%Convert.type (%Convert.type.0b2) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.c81.%Convert (constants.%Convert.6d7)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.e36 = impl_witness_table (%Core.import_ref.a86), @impl.c81 [concrete] +// CHECK:STDOUT: %Core.import_ref.a86: @ImplicitAs.impl.c81.%Convert.type (%Convert.type.0b2) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.c81.%Convert (constants.%Convert.6d7)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.e36 = impl_witness_table (%Core.import_ref.a86), @ImplicitAs.impl.c81 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -1085,10 +1085,10 @@ import library "extern_api"; // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -1127,8 +1127,8 @@ import library "extern_api"; // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -1270,10 +1270,10 @@ import library "extern_api"; // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -1312,8 +1312,8 @@ import library "extern_api"; // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/function/definition/fail_local_decl.carbon b/toolchain/check/testdata/function/definition/fail_local_decl.carbon index 44d3f50b17a7..e100ea014686 100644 --- a/toolchain/check/testdata/function/definition/fail_local_decl.carbon +++ b/toolchain/check/testdata/function/definition/fail_local_decl.carbon @@ -103,7 +103,7 @@ fn F() { // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %pattern_type.a96: type = pattern_type %empty_struct_type [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.069: type = fn_type @Op.2, @impl(%empty_struct_type) [concrete] +// CHECK:STDOUT: %Op.type.069: type = fn_type @Op.2, @Destroy.impl(%empty_struct_type) [concrete] // CHECK:STDOUT: %Op.d5a: %Op.type.069 = struct_value () [concrete] // CHECK:STDOUT: %ptr.c28: type = ptr_type %empty_struct_type [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.d5a, @Op.2(%empty_struct_type) [concrete] diff --git a/toolchain/check/testdata/function/definition/import.carbon b/toolchain/check/testdata/function/definition/import.carbon index 389eaa183050..c58f87ec8a16 100644 --- a/toolchain/check/testdata/function/definition/import.carbon +++ b/toolchain/check/testdata/function/definition/import.carbon @@ -266,10 +266,10 @@ fn D() {} // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -299,8 +299,8 @@ fn D() {} // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/function/generic/call.carbon b/toolchain/check/testdata/function/generic/call.carbon index e8bd8eea9796..85af16cc2f22 100644 --- a/toolchain/check/testdata/function/generic/call.carbon +++ b/toolchain/check/testdata/function/generic/call.carbon @@ -83,7 +83,7 @@ fn CallSpecific(x: C) -> C { // CHECK:STDOUT: %CallSpecific: %CallSpecific.type = struct_value () [concrete] // CHECK:STDOUT: %Function.specific_fn.1b5: = specific_function %Function, @Function(%C) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.153: type = fn_type @Op.2, @impl(%C) [concrete] +// CHECK:STDOUT: %Op.type.153: type = fn_type @Op.2, @Destroy.impl(%C) [concrete] // CHECK:STDOUT: %Op.5d7: %Op.type.153 = struct_value () [concrete] // CHECK:STDOUT: %ptr.019: type = ptr_type %C [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.5d7, @Op.2(%C) [concrete] @@ -318,7 +318,7 @@ fn CallSpecific(x: C) -> C { // CHECK:STDOUT: %CallSpecific: %CallSpecific.type = struct_value () [concrete] // CHECK:STDOUT: %Function.specific_fn.1b5: = specific_function %Function, @Function(%C) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.153: type = fn_type @Op.2, @impl(%C) [concrete] +// CHECK:STDOUT: %Op.type.153: type = fn_type @Op.2, @Destroy.impl(%C) [concrete] // CHECK:STDOUT: %Op.5d7: %Op.type.153 = struct_value () [concrete] // CHECK:STDOUT: %ptr.019: type = ptr_type %C [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.5d7, @Op.2(%C) [concrete] 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 14b4ebcda210..2ffd7d14cbb5 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 @@ -127,20 +127,20 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: %GenericParam.decl: type = class_decl @GenericParam [concrete = constants.%GenericParam] {} {} // CHECK:STDOUT: %ImplsGeneric.decl: type = class_decl @ImplsGeneric [concrete = constants.%ImplsGeneric] {} {} -// CHECK:STDOUT: impl_decl @impl.046 [concrete] {} { +// CHECK:STDOUT: impl_decl @Generic.impl [concrete] {} { // CHECK:STDOUT: %ImplsGeneric.ref: type = name_ref ImplsGeneric, file.%ImplsGeneric.decl [concrete = constants.%ImplsGeneric] // CHECK:STDOUT: %Generic.ref: %Generic.type.c21 = name_ref Generic, file.%Generic.decl [concrete = constants.%Generic.generic] // CHECK:STDOUT: %GenericParam.ref: type = name_ref GenericParam, file.%GenericParam.decl [concrete = constants.%GenericParam] // CHECK:STDOUT: %Generic.type: type = facet_type <@Generic, @Generic(constants.%GenericParam)> [concrete = constants.%Generic.type.769] // CHECK:STDOUT: } -// CHECK:STDOUT: %Generic.impl_witness_table = impl_witness_table (@impl.046.%F.decl), @impl.046 [concrete] +// CHECK:STDOUT: %Generic.impl_witness_table = impl_witness_table (@Generic.impl.%F.decl), @Generic.impl [concrete] // CHECK:STDOUT: %Generic.impl_witness: = impl_witness %Generic.impl_witness_table [concrete = constants.%Generic.impl_witness] // CHECK:STDOUT: %Other.decl: type = interface_decl @Other [concrete = constants.%Other.type] {} {} -// CHECK:STDOUT: impl_decl @impl.728 [concrete] {} { +// CHECK:STDOUT: impl_decl @Other.impl [concrete] {} { // CHECK:STDOUT: %ImplsGeneric.ref: type = name_ref ImplsGeneric, file.%ImplsGeneric.decl [concrete = constants.%ImplsGeneric] // CHECK:STDOUT: %Other.ref: type = name_ref Other, file.%Other.decl [concrete = constants.%Other.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %Other.impl_witness_table = impl_witness_table (@impl.728.%G.decl), @impl.728 [concrete] +// CHECK:STDOUT: %Other.impl_witness_table = impl_witness_table (@Other.impl.%G.decl), @Other.impl [concrete] // CHECK:STDOUT: %Other.impl_witness: = impl_witness %Other.impl_witness_table [concrete = constants.%Other.impl_witness] // CHECK:STDOUT: %CallGenericMethod.decl: %CallGenericMethod.type = fn_decl @CallGenericMethod [concrete = constants.%CallGenericMethod] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] @@ -191,7 +191,7 @@ fn G() { // CHECK:STDOUT: witness = (%G.decl) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.046: %ImplsGeneric.ref as %Generic.type { +// 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: // CHECK:STDOUT: !members: @@ -199,7 +199,7 @@ fn G() { // CHECK:STDOUT: witness = file.%Generic.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.728: %ImplsGeneric.ref as %Other.ref { +// 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: // CHECK:STDOUT: !members: diff --git a/toolchain/check/testdata/function/generic/deduce.carbon b/toolchain/check/testdata/function/generic/deduce.carbon index c12627a382af..80079e5f12ea 100644 --- a/toolchain/check/testdata/function/generic/deduce.carbon +++ b/toolchain/check/testdata/function/generic/deduce.carbon @@ -530,7 +530,7 @@ fn F() { // CHECK:STDOUT: %ExplicitAndAlsoDeduced.specific_fn.720: = specific_function %ExplicitAndAlsoDeduced, @ExplicitAndAlsoDeduced(%A) [concrete] // CHECK:STDOUT: %A.val: %A = struct_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.b96: type = fn_type @Op.2, @impl(%A) [concrete] +// CHECK:STDOUT: %Op.type.b96: type = fn_type @Op.2, @Destroy.impl(%A) [concrete] // CHECK:STDOUT: %Op.885: %Op.type.b96 = struct_value () [concrete] // CHECK:STDOUT: %complete_type.7ea: = complete_type_witness %ptr.6db [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.885, @Op.2(%A) [concrete] @@ -827,10 +827,10 @@ fn F() { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -851,8 +851,8 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -958,10 +958,10 @@ fn F() { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -982,8 +982,8 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -1559,7 +1559,7 @@ fn F() { // CHECK:STDOUT: %DD.type: type = generic_class_type @DD [concrete] // CHECK:STDOUT: %DD.generic: %DD.type = struct_value () [concrete] // CHECK:STDOUT: %DD.296: type = class_type @DD, @DD(%E) [symbolic] -// CHECK:STDOUT: %Z.impl_witness.c98: = impl_witness file.%Z.impl_witness_table.loc9, @impl.266(%E) [symbolic] +// CHECK:STDOUT: %Z.impl_witness.c98: = impl_witness file.%Z.impl_witness_table.loc9, @Z.impl.266(%E) [symbolic] // CHECK:STDOUT: %D: %Z.type = bind_symbolic_name D, 0 [symbolic] // CHECK:STDOUT: %pattern_type.5af: type = pattern_type %Z.type [concrete] // CHECK:STDOUT: %CC.type: type = generic_class_type @CC [concrete] @@ -1568,14 +1568,14 @@ fn F() { // CHECK:STDOUT: %Z.lookup_impl_witness: = lookup_impl_witness %DD.296, @Z [symbolic] // CHECK:STDOUT: %Z.facet.aae: %Z.type = facet_value %DD.296, (%Z.lookup_impl_witness) [symbolic] // CHECK:STDOUT: %CC.23e: type = class_type @CC, @CC(%Z.facet.aae) [symbolic] -// CHECK:STDOUT: %Z.impl_witness.b58: = impl_witness file.%Z.impl_witness_table.loc12, @impl.497(%E) [symbolic] +// CHECK:STDOUT: %Z.impl_witness.b58: = impl_witness file.%Z.impl_witness_table.loc12, @Z.impl.497(%E) [symbolic] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: %DD.689: type = class_type @DD, @DD(%EE) [concrete] -// CHECK:STDOUT: %Z.impl_witness.0e8: = impl_witness file.%Z.impl_witness_table.loc9, @impl.266(%EE) [concrete] +// CHECK:STDOUT: %Z.impl_witness.0e8: = impl_witness file.%Z.impl_witness_table.loc9, @Z.impl.266(%EE) [concrete] // CHECK:STDOUT: %Z.facet.a96: %Z.type = facet_value %DD.689, (%Z.impl_witness.0e8) [concrete] // CHECK:STDOUT: %CC.402: type = class_type @CC, @CC(%Z.facet.a96) [concrete] -// CHECK:STDOUT: %Z.impl_witness.db1: = impl_witness file.%Z.impl_witness_table.loc12, @impl.497(%EE) [concrete] +// CHECK:STDOUT: %Z.impl_witness.db1: = impl_witness file.%Z.impl_witness_table.loc12, @Z.impl.497(%EE) [concrete] // CHECK:STDOUT: %Z.facet.49b: %Z.type = facet_value %CC.402, (%Z.impl_witness.db1) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -1598,18 +1598,18 @@ fn F() { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Z.decl: type = interface_decl @Z [concrete = constants.%Z.type] {} {} // CHECK:STDOUT: %EE.decl: type = class_decl @EE [concrete = constants.%EE] {} {} -// CHECK:STDOUT: impl_decl @impl.a6b [concrete] {} { +// CHECK:STDOUT: impl_decl @Z.impl.a6b [concrete] {} { // CHECK:STDOUT: %EE.ref: type = name_ref EE, file.%EE.decl [concrete = constants.%EE] // CHECK:STDOUT: %Z.ref: type = name_ref Z, file.%Z.decl [concrete = constants.%Z.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %Z.impl_witness_table.loc6 = impl_witness_table (), @impl.a6b [concrete] +// CHECK:STDOUT: %Z.impl_witness_table.loc6 = impl_witness_table (), @Z.impl.a6b [concrete] // CHECK:STDOUT: %Z.impl_witness.loc6: = impl_witness %Z.impl_witness_table.loc6 [concrete = constants.%Z.impl_witness.354] // CHECK:STDOUT: %DD.decl: %DD.type = class_decl @DD [concrete = constants.%DD.generic] { // CHECK:STDOUT: %E.patt: %pattern_type.98f = symbolic_binding_pattern E, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %E.loc8_10.1: type = bind_symbolic_name E, 0 [symbolic = %E.loc8_10.2 (constants.%E)] // CHECK:STDOUT: } -// CHECK:STDOUT: impl_decl @impl.266 [concrete] { +// CHECK:STDOUT: impl_decl @Z.impl.266 [concrete] { // CHECK:STDOUT: %E.patt: %pattern_type.98f = symbolic_binding_pattern E, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %DD.ref: %DD.type = name_ref DD, file.%DD.decl [concrete = constants.%DD.generic] @@ -1618,15 +1618,15 @@ fn F() { // CHECK:STDOUT: %Z.ref: type = name_ref Z, file.%Z.decl [concrete = constants.%Z.type] // CHECK:STDOUT: %E.loc9_14.1: type = bind_symbolic_name E, 0 [symbolic = %E.loc9_14.2 (constants.%E)] // CHECK:STDOUT: } -// CHECK:STDOUT: %Z.impl_witness_table.loc9 = impl_witness_table (), @impl.266 [concrete] -// CHECK:STDOUT: %Z.impl_witness.loc9: = impl_witness %Z.impl_witness_table.loc9, @impl.266(constants.%E) [symbolic = @impl.266.%Z.impl_witness (constants.%Z.impl_witness.c98)] +// CHECK:STDOUT: %Z.impl_witness_table.loc9 = impl_witness_table (), @Z.impl.266 [concrete] +// CHECK:STDOUT: %Z.impl_witness.loc9: = impl_witness %Z.impl_witness_table.loc9, @Z.impl.266(constants.%E) [symbolic = @Z.impl.266.%Z.impl_witness (constants.%Z.impl_witness.c98)] // CHECK:STDOUT: %CC.decl: %CC.type = class_decl @CC [concrete = constants.%CC.generic] { // CHECK:STDOUT: %D.patt: %pattern_type.5af = symbolic_binding_pattern D, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %Z.ref: type = name_ref Z, file.%Z.decl [concrete = constants.%Z.type] // CHECK:STDOUT: %D.loc11_10.1: %Z.type = bind_symbolic_name D, 0 [symbolic = %D.loc11_10.2 (constants.%D)] // CHECK:STDOUT: } -// CHECK:STDOUT: impl_decl @impl.497 [concrete] { +// CHECK:STDOUT: impl_decl @Z.impl.497 [concrete] { // CHECK:STDOUT: %E.patt: %pattern_type.98f = symbolic_binding_pattern E, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %CC.ref: %CC.type = name_ref CC, file.%CC.decl [concrete = constants.%CC.generic] @@ -1639,8 +1639,8 @@ fn F() { // CHECK:STDOUT: %Z.ref: type = name_ref Z, file.%Z.decl [concrete = constants.%Z.type] // CHECK:STDOUT: %E.loc12_14.1: type = bind_symbolic_name E, 0 [symbolic = %E.loc12_14.2 (constants.%E)] // CHECK:STDOUT: } -// CHECK:STDOUT: %Z.impl_witness_table.loc12 = impl_witness_table (), @impl.497 [concrete] -// CHECK:STDOUT: %Z.impl_witness.loc12: = impl_witness %Z.impl_witness_table.loc12, @impl.497(constants.%E) [symbolic = @impl.497.%Z.impl_witness (constants.%Z.impl_witness.b58)] +// CHECK:STDOUT: %Z.impl_witness_table.loc12 = impl_witness_table (), @Z.impl.497 [concrete] +// CHECK:STDOUT: %Z.impl_witness.loc12: = impl_witness %Z.impl_witness_table.loc12, @Z.impl.497(constants.%E) [symbolic = @Z.impl.497.%Z.impl_witness (constants.%Z.impl_witness.b58)] // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] {} {} // CHECK:STDOUT: } // CHECK:STDOUT: @@ -1652,15 +1652,15 @@ fn F() { // CHECK:STDOUT: witness = () // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.a6b: %EE.ref as %Z.ref { +// CHECK:STDOUT: impl @Z.impl.a6b: %EE.ref as %Z.ref { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = file.%Z.impl_witness.loc6 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl.266(%E.loc9_14.1: type) { +// CHECK:STDOUT: generic impl @Z.impl.266(%E.loc9_14.1: type) { // CHECK:STDOUT: %E.loc9_14.2: type = bind_symbolic_name E, 0 [symbolic = %E.loc9_14.2 (constants.%E)] // CHECK:STDOUT: %DD.loc9_28.2: type = class_type @DD, @DD(%E.loc9_14.2) [symbolic = %DD.loc9_28.2 (constants.%DD.296)] -// CHECK:STDOUT: %Z.impl_witness: = impl_witness file.%Z.impl_witness_table.loc9, @impl.266(%E.loc9_14.2) [symbolic = %Z.impl_witness (constants.%Z.impl_witness.c98)] +// CHECK:STDOUT: %Z.impl_witness: = impl_witness file.%Z.impl_witness_table.loc9, @Z.impl.266(%E.loc9_14.2) [symbolic = %Z.impl_witness (constants.%Z.impl_witness.c98)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: @@ -1670,13 +1670,13 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl.497(%E.loc12_14.1: type) { +// CHECK:STDOUT: generic impl @Z.impl.497(%E.loc12_14.1: type) { // CHECK:STDOUT: %E.loc12_14.2: type = bind_symbolic_name E, 0 [symbolic = %E.loc12_14.2 (constants.%E)] // CHECK:STDOUT: %DD.loc12_31.2: type = class_type @DD, @DD(%E.loc12_14.2) [symbolic = %DD.loc12_31.2 (constants.%DD.296)] // CHECK:STDOUT: %Z.lookup_impl_witness: = lookup_impl_witness %DD.loc12_31.2, @Z [symbolic = %Z.lookup_impl_witness (constants.%Z.lookup_impl_witness)] // CHECK:STDOUT: %Z.facet.loc12_32.2: %Z.type = facet_value %DD.loc12_31.2, (%Z.lookup_impl_witness) [symbolic = %Z.facet.loc12_32.2 (constants.%Z.facet.aae)] // CHECK:STDOUT: %CC.loc12_32.2: type = class_type @CC, @CC(%Z.facet.loc12_32.2) [symbolic = %CC.loc12_32.2 (constants.%CC.23e)] -// CHECK:STDOUT: %Z.impl_witness: = impl_witness file.%Z.impl_witness_table.loc12, @impl.497(%E.loc12_14.2) [symbolic = %Z.impl_witness (constants.%Z.impl_witness.b58)] +// CHECK:STDOUT: %Z.impl_witness: = impl_witness file.%Z.impl_witness_table.loc12, @Z.impl.497(%E.loc12_14.2) [symbolic = %Z.impl_witness (constants.%Z.impl_witness.b58)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: @@ -1744,7 +1744,7 @@ fn F() { // CHECK:STDOUT: %E.loc8_10.2 => constants.%E // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.266(constants.%E) { +// CHECK:STDOUT: specific @Z.impl.266(constants.%E) { // CHECK:STDOUT: %E.loc9_14.2 => constants.%E // CHECK:STDOUT: %DD.loc9_28.2 => constants.%DD.296 // CHECK:STDOUT: %Z.impl_witness => constants.%Z.impl_witness.c98 @@ -1760,7 +1760,7 @@ fn F() { // CHECK:STDOUT: %D.loc11_10.2 => constants.%Z.facet.aae // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.497(constants.%E) { +// CHECK:STDOUT: specific @Z.impl.497(constants.%E) { // CHECK:STDOUT: %E.loc12_14.2 => constants.%E // CHECK:STDOUT: %DD.loc12_31.2 => constants.%DD.296 // CHECK:STDOUT: %Z.lookup_impl_witness => constants.%Z.lookup_impl_witness @@ -1773,7 +1773,7 @@ fn F() { // CHECK:STDOUT: %E.loc8_10.2 => constants.%EE // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.266(constants.%EE) { +// CHECK:STDOUT: specific @Z.impl.266(constants.%EE) { // CHECK:STDOUT: %E.loc9_14.2 => constants.%EE // CHECK:STDOUT: %DD.loc9_28.2 => constants.%DD.689 // CHECK:STDOUT: %Z.impl_witness => constants.%Z.impl_witness.0e8 @@ -1785,7 +1785,7 @@ fn F() { // CHECK:STDOUT: %D.loc11_10.2 => constants.%Z.facet.a96 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.497(constants.%EE) { +// CHECK:STDOUT: specific @Z.impl.497(constants.%EE) { // CHECK:STDOUT: %E.loc12_14.2 => constants.%EE // CHECK:STDOUT: %DD.loc12_31.2 => constants.%DD.689 // CHECK:STDOUT: %Z.lookup_impl_witness => constants.%Z.impl_witness.0e8 diff --git a/toolchain/check/testdata/function/generic/deduce_nested_facet_value.carbon b/toolchain/check/testdata/function/generic/deduce_nested_facet_value.carbon index a9228cae8411..aba83f764bad 100644 --- a/toolchain/check/testdata/function/generic/deduce_nested_facet_value.carbon +++ b/toolchain/check/testdata/function/generic/deduce_nested_facet_value.carbon @@ -73,13 +73,13 @@ fn F() { // CHECK:STDOUT: %E.as_type: type = facet_access_type %E [symbolic] // CHECK:STDOUT: %Y.facet.7ec: %Y.type = facet_value %E.as_type, (%Y.lookup_impl_witness) [symbolic] // CHECK:STDOUT: %CC.d02: type = class_type @CC, @CC(%Y.facet.7ec) [symbolic] -// CHECK:STDOUT: %Z.impl_witness.741: = impl_witness file.%Z.impl_witness_table, @impl.562(%E) [symbolic] +// CHECK:STDOUT: %Z.impl_witness.741: = impl_witness file.%Z.impl_witness_table, @Z.impl(%E) [symbolic] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: %Y.facet.268: %Y.type = facet_value %DD, (%Y.impl_witness) [concrete] // CHECK:STDOUT: %CC.7bf: type = class_type @CC, @CC(%Y.facet.268) [concrete] // CHECK:STDOUT: %facet_value: %facet_type = facet_value %DD, (%Y.impl_witness, %W.impl_witness) [concrete] -// CHECK:STDOUT: %Z.impl_witness.3b0: = impl_witness file.%Z.impl_witness_table, @impl.562(%facet_value) [concrete] +// CHECK:STDOUT: %Z.impl_witness.3b0: = impl_witness file.%Z.impl_witness_table, @Z.impl(%facet_value) [concrete] // CHECK:STDOUT: %Z.facet: %Z.type = facet_value %CC.7bf, (%Z.impl_witness.3b0) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -91,7 +91,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.BitAndWith: %BitAndWith.type.f2e = import_ref Core//prelude, BitAndWith, loaded [concrete = constants.%BitAndWith.generic] // CHECK:STDOUT: %Core.import_ref.012: %Op.type.1cc = import_ref Core//prelude, loc13_42, loaded [concrete = constants.%Op.ff4] -// CHECK:STDOUT: %BitAndWith.impl_witness_table = impl_witness_table (%Core.import_ref.012), @impl.865 [concrete] +// CHECK:STDOUT: %BitAndWith.impl_witness_table = impl_witness_table (%Core.import_ref.012), @BitAndWith.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -108,17 +108,17 @@ fn F() { // CHECK:STDOUT: %Y.decl: type = interface_decl @Y [concrete = constants.%Y.type] {} {} // CHECK:STDOUT: %W.decl: type = interface_decl @W [concrete = constants.%W.type] {} {} // CHECK:STDOUT: %DD.decl: type = class_decl @DD [concrete = constants.%DD] {} {} -// CHECK:STDOUT: impl_decl @impl.3d7 [concrete] {} { +// CHECK:STDOUT: impl_decl @Y.impl [concrete] {} { // CHECK:STDOUT: %DD.ref: type = name_ref DD, file.%DD.decl [concrete = constants.%DD] // CHECK:STDOUT: %Y.ref: type = name_ref Y, file.%Y.decl [concrete = constants.%Y.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %Y.impl_witness_table = impl_witness_table (), @impl.3d7 [concrete] +// CHECK:STDOUT: %Y.impl_witness_table = impl_witness_table (), @Y.impl [concrete] // CHECK:STDOUT: %Y.impl_witness: = impl_witness %Y.impl_witness_table [concrete = constants.%Y.impl_witness] -// CHECK:STDOUT: impl_decl @impl.e11 [concrete] {} { +// CHECK:STDOUT: impl_decl @W.impl [concrete] {} { // CHECK:STDOUT: %DD.ref: type = name_ref DD, file.%DD.decl [concrete = constants.%DD] // CHECK:STDOUT: %W.ref: type = name_ref W, file.%W.decl [concrete = constants.%W.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %W.impl_witness_table = impl_witness_table (), @impl.e11 [concrete] +// CHECK:STDOUT: %W.impl_witness_table = impl_witness_table (), @W.impl [concrete] // CHECK:STDOUT: %W.impl_witness: = impl_witness %W.impl_witness_table [concrete = constants.%W.impl_witness] // CHECK:STDOUT: %CC.decl: %CC.type = class_decl @CC [concrete = constants.%CC.generic] { // CHECK:STDOUT: %D.patt: %pattern_type.667 = symbolic_binding_pattern D, 0 [concrete] @@ -127,7 +127,7 @@ fn F() { // CHECK:STDOUT: %D.loc12_10.1: %Y.type = bind_symbolic_name D, 0 [symbolic = %D.loc12_10.2 (constants.%D)] // CHECK:STDOUT: } // CHECK:STDOUT: %Z.decl: type = interface_decl @Z [concrete = constants.%Z.type] {} {} -// CHECK:STDOUT: impl_decl @impl.562 [concrete] { +// CHECK:STDOUT: impl_decl @Z.impl [concrete] { // CHECK:STDOUT: %E.patt: %pattern_type.122 = symbolic_binding_pattern E, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %CC.ref: %CC.type = name_ref CC, file.%CC.decl [concrete = constants.%CC.generic] @@ -148,8 +148,8 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %E.loc19_14.1: %facet_type = bind_symbolic_name E, 0 [symbolic = %E.loc19_14.2 (constants.%E)] // CHECK:STDOUT: } -// CHECK:STDOUT: %Z.impl_witness_table = impl_witness_table (), @impl.562 [concrete] -// CHECK:STDOUT: %Z.impl_witness: = impl_witness %Z.impl_witness_table, @impl.562(constants.%E) [symbolic = @impl.562.%Z.impl_witness (constants.%Z.impl_witness.741)] +// CHECK:STDOUT: %Z.impl_witness_table = impl_witness_table (), @Z.impl [concrete] +// CHECK:STDOUT: %Z.impl_witness: = impl_witness %Z.impl_witness_table, @Z.impl(constants.%E) [symbolic = @Z.impl.%Z.impl_witness (constants.%Z.impl_witness.741)] // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] {} {} // CHECK:STDOUT: } // CHECK:STDOUT: @@ -177,23 +177,23 @@ fn F() { // CHECK:STDOUT: witness = () // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.3d7: %DD.ref as %Y.ref { +// CHECK:STDOUT: impl @Y.impl: %DD.ref as %Y.ref { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = file.%Y.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.e11: %DD.ref as %W.ref { +// CHECK:STDOUT: impl @W.impl: %DD.ref as %W.ref { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = file.%W.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl.562(%E.loc19_14.1: %facet_type) { +// CHECK:STDOUT: generic impl @Z.impl(%E.loc19_14.1: %facet_type) { // CHECK:STDOUT: %E.loc19_14.2: %facet_type = bind_symbolic_name E, 0 [symbolic = %E.loc19_14.2 (constants.%E)] // CHECK:STDOUT: %Y.lookup_impl_witness: = lookup_impl_witness %E.loc19_14.2, @Y [symbolic = %Y.lookup_impl_witness (constants.%Y.lookup_impl_witness)] // CHECK:STDOUT: %E.as_type.loc19_29.2: type = facet_access_type %E.loc19_14.2 [symbolic = %E.as_type.loc19_29.2 (constants.%E.as_type)] // CHECK:STDOUT: %Y.facet.loc19_29.2: %Y.type = facet_value %E.as_type.loc19_29.2, (%Y.lookup_impl_witness) [symbolic = %Y.facet.loc19_29.2 (constants.%Y.facet.7ec)] // CHECK:STDOUT: %CC.loc19_29.2: type = class_type @CC, @CC(%Y.facet.loc19_29.2) [symbolic = %CC.loc19_29.2 (constants.%CC.d02)] -// CHECK:STDOUT: %Z.impl_witness: = impl_witness file.%Z.impl_witness_table, @impl.562(%E.loc19_14.2) [symbolic = %Z.impl_witness (constants.%Z.impl_witness.741)] +// CHECK:STDOUT: %Z.impl_witness: = impl_witness file.%Z.impl_witness_table, @Z.impl(%E.loc19_14.2) [symbolic = %Z.impl_witness (constants.%Z.impl_witness.741)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: @@ -250,7 +250,7 @@ fn F() { // CHECK:STDOUT: %D.loc12_10.2 => constants.%Y.facet.7ec // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.562(constants.%E) { +// CHECK:STDOUT: specific @Z.impl(constants.%E) { // CHECK:STDOUT: %E.loc19_14.2 => constants.%E // CHECK:STDOUT: %Y.lookup_impl_witness => constants.%Y.lookup_impl_witness // CHECK:STDOUT: %E.as_type.loc19_29.2 => constants.%E.as_type @@ -263,7 +263,7 @@ fn F() { // CHECK:STDOUT: %D.loc12_10.2 => constants.%Y.facet.268 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.562(constants.%facet_value) { +// CHECK:STDOUT: specific @Z.impl(constants.%facet_value) { // CHECK:STDOUT: %E.loc19_14.2 => constants.%facet_value // CHECK:STDOUT: %Y.lookup_impl_witness => constants.%Y.impl_witness // CHECK:STDOUT: %E.as_type.loc19_29.2 => constants.%DD diff --git a/toolchain/check/testdata/function/generic/param_in_type.carbon b/toolchain/check/testdata/function/generic/param_in_type.carbon index 506f2f52eb09..bd3cb9901161 100644 --- a/toolchain/check/testdata/function/generic/param_in_type.carbon +++ b/toolchain/check/testdata/function/generic/param_in_type.carbon @@ -28,10 +28,10 @@ fn F(N:! i32, a: array(i32, N)*); // CHECK:STDOUT: %ImplicitAs.type.2fd: type = facet_type <@ImplicitAs, @ImplicitAs(Core.IntLiteral)> [concrete] // CHECK:STDOUT: %Convert.type.71e: type = fn_type @Convert.1, @ImplicitAs(Core.IntLiteral) [concrete] // CHECK:STDOUT: %From: Core.IntLiteral = bind_symbolic_name From, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.708: type = fn_type @Convert.3, @impl.971(%From) [symbolic] +// CHECK:STDOUT: %Convert.type.708: type = fn_type @Convert.3, @ImplicitAs.impl.971(%From) [symbolic] // CHECK:STDOUT: %Convert.c68: %Convert.type.708 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a11: = impl_witness imports.%ImplicitAs.impl_witness_table.1d9, @impl.971(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.4ad: type = fn_type @Convert.3, @impl.971(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a11: = impl_witness imports.%ImplicitAs.impl_witness_table.1d9, @ImplicitAs.impl.971(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.4ad: type = fn_type @Convert.3, @ImplicitAs.impl.971(%int_32) [concrete] // CHECK:STDOUT: %Convert.960: %Convert.type.4ad = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.2fd = facet_value %i32, (%ImplicitAs.impl_witness.a11) [concrete] // CHECK:STDOUT: %.0ea: type = fn_type_with_self_type %Convert.type.71e, %ImplicitAs.facet [concrete] @@ -55,8 +55,8 @@ fn F(N:! i32, a: array(i32, N)*); // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.85c: @impl.971.%Convert.type (%Convert.type.708) = import_ref Core//prelude/parts/int, loc20_44, loaded [symbolic = @impl.971.%Convert (constants.%Convert.c68)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1d9 = impl_witness_table (%Core.import_ref.85c), @impl.971 [concrete] +// CHECK:STDOUT: %Core.import_ref.85c: @ImplicitAs.impl.971.%Convert.type (%Convert.type.708) = import_ref Core//prelude/parts/int, loc20_44, loaded [symbolic = @ImplicitAs.impl.971.%Convert (constants.%Convert.c68)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1d9 = impl_witness_table (%Core.import_ref.85c), @ImplicitAs.impl.971 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/function/generic/resolve_used.carbon b/toolchain/check/testdata/function/generic/resolve_used.carbon index c9062bf23ecc..fd34b99f305c 100644 --- a/toolchain/check/testdata/function/generic/resolve_used.carbon +++ b/toolchain/check/testdata/function/generic/resolve_used.carbon @@ -56,7 +56,7 @@ fn CallNegative() { // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %Op.type.bae: type = fn_type @Op.1 [concrete] // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic] -// CHECK:STDOUT: %Op.type.bc9: type = fn_type @Op.3, @impl.49c(%T) [symbolic] +// CHECK:STDOUT: %Op.type.bc9: type = fn_type @Op.3, @Destroy.impl(%T) [symbolic] // CHECK:STDOUT: %Op.46f: %Op.type.bc9 = struct_value () [symbolic] // CHECK:STDOUT: %ptr.784: type = ptr_type %Int.49d0e6.1 [symbolic] // CHECK:STDOUT: %require_complete.0f5: = require_complete_type %ptr.784 [symbolic] @@ -72,8 +72,8 @@ fn CallNegative() { // CHECK:STDOUT: %i0: type = class_type @Int, @Int(%int_0) [concrete] // CHECK:STDOUT: %complete_type.d94: = complete_type_witness [concrete] // CHECK:STDOUT: %pattern_type.47b: type = pattern_type %i0 [concrete] -// CHECK:STDOUT: %Destroy.impl_witness.404: = impl_witness imports.%Destroy.impl_witness_table, @impl.49c(%i0) [concrete] -// CHECK:STDOUT: %Op.type.1c2: type = fn_type @Op.3, @impl.49c(%i0) [concrete] +// CHECK:STDOUT: %Destroy.impl_witness.404: = impl_witness imports.%Destroy.impl_witness_table, @Destroy.impl(%i0) [concrete] +// CHECK:STDOUT: %Op.type.1c2: type = fn_type @Op.3, @Destroy.impl(%i0) [concrete] // CHECK:STDOUT: %Op.912: %Op.type.1c2 = struct_value () [concrete] // CHECK:STDOUT: %ptr.3f1: type = ptr_type %i0 [concrete] // CHECK:STDOUT: %complete_type.588: = complete_type_witness %ptr.3f1 [concrete] @@ -93,8 +93,8 @@ fn CallNegative() { // CHECK:STDOUT: %Core.IntLiteral: %IntLiteral.type = import_ref Core//prelude/parts/int_literal, IntLiteral, loaded [concrete = constants.%IntLiteral] // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] -// CHECK:STDOUT: %Core.import_ref.0b9: @impl.49c.%Op.type (%Op.type.bc9) = import_ref Core//prelude/parts/destroy, loc8_29, loaded [symbolic = @impl.49c.%Op (constants.%Op.46f)] -// CHECK:STDOUT: %Destroy.impl_witness_table = impl_witness_table (%Core.import_ref.0b9), @impl.49c [concrete] +// CHECK:STDOUT: %Core.import_ref.0b9: @Destroy.impl.%Op.type (%Op.type.bc9) = import_ref Core//prelude/parts/destroy, loc8_29, loaded [symbolic = @Destroy.impl.%Op (constants.%Op.46f)] +// CHECK:STDOUT: %Destroy.impl_witness_table = impl_witness_table (%Core.import_ref.0b9), @Destroy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/function/generic/return_slot.carbon b/toolchain/check/testdata/function/generic/return_slot.carbon index 9a6ac3f76cdc..6a26558ed42f 100644 --- a/toolchain/check/testdata/function/generic/return_slot.carbon +++ b/toolchain/check/testdata/function/generic/return_slot.carbon @@ -70,15 +70,15 @@ fn G() { // CHECK:STDOUT: %Make.e4b: %Make.type.708 = struct_value () [concrete] // CHECK:STDOUT: %Make.specific_fn.834: = specific_function %Make.e4b, @Make(%C) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.153: type = fn_type @Op.2, @impl.49c(%C) [concrete] +// CHECK:STDOUT: %Op.type.153: type = fn_type @Op.2, @Destroy.impl(%C) [concrete] // CHECK:STDOUT: %Op.5d7: %Op.type.153 = struct_value () [concrete] // CHECK:STDOUT: %ptr.019: type = ptr_type %C [concrete] // CHECK:STDOUT: %Op.specific_fn.6eb: = specific_function %Op.5d7, @Op.2(%C) [concrete] -// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @impl.49c(%empty_tuple.type) [concrete] +// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @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.393: = specific_function %Op.ea3, @Op.2(%empty_tuple.type) [concrete] -// CHECK:STDOUT: %Op.type.a17: type = fn_type @Op.2, @impl.49c(%i32) [concrete] +// CHECK:STDOUT: %Op.type.a17: type = fn_type @Op.2, @Destroy.impl(%i32) [concrete] // CHECK:STDOUT: %Op.e6a: %Op.type.a17 = struct_value () [concrete] // CHECK:STDOUT: %ptr.235: type = ptr_type %i32 [concrete] // CHECK:STDOUT: %Op.specific_fn.014: = specific_function %Op.e6a, @Op.2(%i32) [concrete] diff --git a/toolchain/check/testdata/function/generic/undefined.carbon b/toolchain/check/testdata/function/generic/undefined.carbon index a4c9532e2bfe..90853a496d82 100644 --- a/toolchain/check/testdata/function/generic/undefined.carbon +++ b/toolchain/check/testdata/function/generic/undefined.carbon @@ -79,10 +79,10 @@ fn CallUndefined() -> i32 { // CHECK:STDOUT: %As.type.fd4: type = facet_type <@As, @As(%i32)> [concrete] // CHECK:STDOUT: %Convert.type.99b: type = fn_type @Convert.1, @As(%i32) [concrete] // CHECK:STDOUT: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.062: type = fn_type @Convert.5, @impl.686(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.062: type = fn_type @Convert.5, @As.impl.686(%To) [symbolic] // CHECK:STDOUT: %Convert.527: %Convert.type.062 = struct_value () [symbolic] -// CHECK:STDOUT: %As.impl_witness.6b4: = impl_witness imports.%As.impl_witness_table.eb4, @impl.686(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.4fd: type = fn_type @Convert.5, @impl.686(%int_32) [concrete] +// CHECK:STDOUT: %As.impl_witness.6b4: = impl_witness imports.%As.impl_witness_table.eb4, @As.impl.686(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.4fd: type = fn_type @Convert.5, @As.impl.686(%int_32) [concrete] // CHECK:STDOUT: %Convert.197: %Convert.type.4fd = struct_value () [concrete] // CHECK:STDOUT: %As.facet: %As.type.fd4 = facet_value Core.IntLiteral, (%As.impl_witness.6b4) [concrete] // CHECK:STDOUT: %.982: type = fn_type_with_self_type %Convert.type.99b, %As.facet [concrete] @@ -102,8 +102,8 @@ fn CallUndefined() -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.As: %As.type.90f = import_ref Core//prelude/parts/as, As, loaded [concrete = constants.%As.generic] -// CHECK:STDOUT: %Core.import_ref.78a: @impl.686.%Convert.type (%Convert.type.062) = import_ref Core//prelude/parts/int, loc25_39, loaded [symbolic = @impl.686.%Convert (constants.%Convert.527)] -// CHECK:STDOUT: %As.impl_witness_table.eb4 = impl_witness_table (%Core.import_ref.78a), @impl.686 [concrete] +// CHECK:STDOUT: %Core.import_ref.78a: @As.impl.686.%Convert.type (%Convert.type.062) = import_ref Core//prelude/parts/int, loc25_39, loaded [symbolic = @As.impl.686.%Convert (constants.%Convert.527)] +// CHECK:STDOUT: %As.impl_witness_table.eb4 = impl_witness_table (%Core.import_ref.78a), @As.impl.686 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -209,10 +209,10 @@ fn CallUndefined() -> i32 { // CHECK:STDOUT: %As.type.fd4: type = facet_type <@As, @As(%i32)> [concrete] // CHECK:STDOUT: %Convert.type.99b: type = fn_type @Convert.1, @As(%i32) [concrete] // CHECK:STDOUT: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.062: type = fn_type @Convert.5, @impl.686(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.062: type = fn_type @Convert.5, @As.impl.686(%To) [symbolic] // CHECK:STDOUT: %Convert.527: %Convert.type.062 = struct_value () [symbolic] -// CHECK:STDOUT: %As.impl_witness.6b4: = impl_witness imports.%As.impl_witness_table.eb4, @impl.686(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.4fd: type = fn_type @Convert.5, @impl.686(%int_32) [concrete] +// CHECK:STDOUT: %As.impl_witness.6b4: = impl_witness imports.%As.impl_witness_table.eb4, @As.impl.686(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.4fd: type = fn_type @Convert.5, @As.impl.686(%int_32) [concrete] // CHECK:STDOUT: %Convert.197: %Convert.type.4fd = struct_value () [concrete] // CHECK:STDOUT: %As.facet: %As.type.fd4 = facet_value Core.IntLiteral, (%As.impl_witness.6b4) [concrete] // CHECK:STDOUT: %.982: type = fn_type_with_self_type %Convert.type.99b, %As.facet [concrete] @@ -233,8 +233,8 @@ fn CallUndefined() -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.As: %As.type.90f = import_ref Core//prelude/parts/as, As, loaded [concrete = constants.%As.generic] -// CHECK:STDOUT: %Core.import_ref.78a: @impl.686.%Convert.type (%Convert.type.062) = import_ref Core//prelude/parts/int, loc25_39, loaded [symbolic = @impl.686.%Convert (constants.%Convert.527)] -// CHECK:STDOUT: %As.impl_witness_table.eb4 = impl_witness_table (%Core.import_ref.78a), @impl.686 [concrete] +// CHECK:STDOUT: %Core.import_ref.78a: @As.impl.686.%Convert.type (%Convert.type.062) = import_ref Core//prelude/parts/int, loc25_39, loaded [symbolic = @As.impl.686.%Convert (constants.%Convert.527)] +// CHECK:STDOUT: %As.impl_witness_table.eb4 = impl_witness_table (%Core.import_ref.78a), @As.impl.686 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -353,10 +353,10 @@ fn CallUndefined() -> i32 { // CHECK:STDOUT: %As.type.fd4: type = facet_type <@As, @As(%i32)> [concrete] // CHECK:STDOUT: %Convert.type.99b: type = fn_type @Convert.1, @As(%i32) [concrete] // CHECK:STDOUT: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.062: type = fn_type @Convert.5, @impl.686(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.062: type = fn_type @Convert.5, @As.impl.686(%To) [symbolic] // CHECK:STDOUT: %Convert.527: %Convert.type.062 = struct_value () [symbolic] -// CHECK:STDOUT: %As.impl_witness.6b4: = impl_witness imports.%As.impl_witness_table.eb4, @impl.686(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.4fd: type = fn_type @Convert.5, @impl.686(%int_32) [concrete] +// CHECK:STDOUT: %As.impl_witness.6b4: = impl_witness imports.%As.impl_witness_table.eb4, @As.impl.686(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.4fd: type = fn_type @Convert.5, @As.impl.686(%int_32) [concrete] // CHECK:STDOUT: %Convert.197: %Convert.type.4fd = struct_value () [concrete] // CHECK:STDOUT: %As.facet: %As.type.fd4 = facet_value Core.IntLiteral, (%As.impl_witness.6b4) [concrete] // CHECK:STDOUT: %.982: type = fn_type_with_self_type %Convert.type.99b, %As.facet [concrete] @@ -376,8 +376,8 @@ fn CallUndefined() -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.As: %As.type.90f = import_ref Core//prelude/parts/as, As, loaded [concrete = constants.%As.generic] -// CHECK:STDOUT: %Core.import_ref.78a: @impl.686.%Convert.type (%Convert.type.062) = import_ref Core//prelude/parts/int, loc25_39, loaded [symbolic = @impl.686.%Convert (constants.%Convert.527)] -// CHECK:STDOUT: %As.impl_witness_table.eb4 = impl_witness_table (%Core.import_ref.78a), @impl.686 [concrete] +// CHECK:STDOUT: %Core.import_ref.78a: @As.impl.686.%Convert.type (%Convert.type.062) = import_ref Core//prelude/parts/int, loc25_39, loaded [symbolic = @As.impl.686.%Convert (constants.%Convert.527)] +// CHECK:STDOUT: %As.impl_witness_table.eb4 = impl_witness_table (%Core.import_ref.78a), @As.impl.686 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/generic/call_basic_depth.carbon b/toolchain/check/testdata/generic/call_basic_depth.carbon index a07785136040..7ab0b2ef72f5 100644 --- a/toolchain/check/testdata/generic/call_basic_depth.carbon +++ b/toolchain/check/testdata/generic/call_basic_depth.carbon @@ -67,7 +67,7 @@ fn M() { // CHECK:STDOUT: %H.specific_fn.1ed: = specific_function %H, @H(%T) [symbolic] // CHECK:STDOUT: %Cfn.specific_fn.53f: = specific_function %Cfn, @Cfn(%T) [symbolic] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.153: type = fn_type @Op.2, @impl.49c(%C) [concrete] +// CHECK:STDOUT: %Op.type.153: type = fn_type @Op.2, @Destroy.impl(%C) [concrete] // CHECK:STDOUT: %Op.5d7: %Op.type.153 = struct_value () [concrete] // CHECK:STDOUT: %ptr.019: type = ptr_type %C [concrete] // CHECK:STDOUT: %Op.specific_fn.6eb: = specific_function %Op.5d7, @Op.2(%C) [concrete] @@ -86,10 +86,10 @@ fn M() { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -99,7 +99,7 @@ fn M() { // CHECK:STDOUT: %int_0.6a9: %i32 = int_value 0 [concrete] // CHECK:STDOUT: %F.specific_fn.501: = specific_function %F, @F(%i32) [concrete] // CHECK:STDOUT: %G.specific_fn: = specific_function %G, @G(%i32) [concrete] -// CHECK:STDOUT: %Op.type.a17: type = fn_type @Op.2, @impl.49c(%i32) [concrete] +// CHECK:STDOUT: %Op.type.a17: type = fn_type @Op.2, @Destroy.impl(%i32) [concrete] // CHECK:STDOUT: %Op.e6a: %Op.type.a17 = struct_value () [concrete] // CHECK:STDOUT: %ptr.235: type = ptr_type %i32 [concrete] // CHECK:STDOUT: %Op.specific_fn.014: = specific_function %Op.e6a, @Op.2(%i32) [concrete] @@ -118,8 +118,8 @@ fn M() { // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/generic/complete_type.carbon b/toolchain/check/testdata/generic/complete_type.carbon index 50756f26209b..c23118ac5e4d 100644 --- a/toolchain/check/testdata/generic/complete_type.carbon +++ b/toolchain/check/testdata/generic/complete_type.carbon @@ -206,7 +206,7 @@ fn G() { F(B); } // CHECK:STDOUT: %pattern_type.7dc: type = pattern_type %T [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, @impl(%T) [symbolic] +// CHECK:STDOUT: %Op.type.bc9: type = fn_type @Op.2, @Destroy.impl(%T) [symbolic] // CHECK:STDOUT: %Op.46f: %Op.type.bc9 = struct_value () [symbolic] // CHECK:STDOUT: %ptr.79f: type = ptr_type %T [symbolic] // CHECK:STDOUT: %require_complete.6e5: = require_complete_type %ptr.79f [symbolic] @@ -221,8 +221,8 @@ fn G() { F(B); } // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type.357: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %pattern_type.049: type = pattern_type %B [concrete] -// CHECK:STDOUT: %Destroy.impl_witness.39d: = impl_witness imports.%Destroy.impl_witness_table, @impl(%B) [concrete] -// CHECK:STDOUT: %Op.type.1a6: type = fn_type @Op.2, @impl(%B) [concrete] +// CHECK:STDOUT: %Destroy.impl_witness.39d: = impl_witness imports.%Destroy.impl_witness_table, @Destroy.impl(%B) [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] // CHECK:STDOUT: %ptr.e79: type = ptr_type %B [concrete] // CHECK:STDOUT: %complete_type.3bf: = complete_type_witness %ptr.e79 [concrete] @@ -238,8 +238,8 @@ fn G() { F(B); } // CHECK:STDOUT: import Core//prelude/... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] -// CHECK:STDOUT: %Core.import_ref.0b9: @impl.%Op.type (%Op.type.bc9) = import_ref Core//prelude/parts/destroy, loc8_29, loaded [symbolic = @impl.%Op (constants.%Op.46f)] -// CHECK:STDOUT: %Destroy.impl_witness_table = impl_witness_table (%Core.import_ref.0b9), @impl [concrete] +// CHECK:STDOUT: %Core.import_ref.0b9: @Destroy.impl.%Op.type (%Op.type.bc9) = import_ref Core//prelude/parts/destroy, loc8_29, loaded [symbolic = @Destroy.impl.%Op (constants.%Op.46f)] +// CHECK:STDOUT: %Destroy.impl_witness_table = impl_witness_table (%Core.import_ref.0b9), @Destroy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -343,7 +343,7 @@ fn G() { F(B); } // CHECK:STDOUT: %pattern_type.7dc: type = pattern_type %T [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, @impl(%T) [symbolic] +// CHECK:STDOUT: %Op.type.bc9: type = fn_type @Op.2, @Destroy.impl(%T) [symbolic] // CHECK:STDOUT: %Op.46f: %Op.type.bc9 = struct_value () [symbolic] // CHECK:STDOUT: %ptr.79f: type = ptr_type %T [symbolic] // CHECK:STDOUT: %require_complete.6e5: = require_complete_type %ptr.79f [symbolic] @@ -356,8 +356,8 @@ fn G() { F(B); } // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] // CHECK:STDOUT: %F.specific_fn: = specific_function %F, @F(%B) [concrete] // CHECK:STDOUT: %pattern_type.049: type = pattern_type %B [concrete] -// CHECK:STDOUT: %Destroy.impl_witness.39d: = impl_witness imports.%Destroy.impl_witness_table, @impl(%B) [concrete] -// CHECK:STDOUT: %Op.type.1a6: type = fn_type @Op.2, @impl(%B) [concrete] +// CHECK:STDOUT: %Destroy.impl_witness.39d: = impl_witness imports.%Destroy.impl_witness_table, @Destroy.impl(%B) [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] // CHECK:STDOUT: %ptr.e79: type = ptr_type %B [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %ptr.e79 [concrete] @@ -373,8 +373,8 @@ fn G() { F(B); } // CHECK:STDOUT: import Core//prelude/... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] -// CHECK:STDOUT: %Core.import_ref.0b9: @impl.%Op.type (%Op.type.bc9) = import_ref Core//prelude/parts/destroy, loc8_29, loaded [symbolic = @impl.%Op (constants.%Op.46f)] -// CHECK:STDOUT: %Destroy.impl_witness_table = impl_witness_table (%Core.import_ref.0b9), @impl [concrete] +// CHECK:STDOUT: %Core.import_ref.0b9: @Destroy.impl.%Op.type (%Op.type.bc9) = import_ref Core//prelude/parts/destroy, loc8_29, loaded [symbolic = @Destroy.impl.%Op (constants.%Op.46f)] +// CHECK:STDOUT: %Destroy.impl_witness_table = impl_witness_table (%Core.import_ref.0b9), @Destroy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/generic/dependent_param.carbon b/toolchain/check/testdata/generic/dependent_param.carbon index f9b2c4e1eb3e..f3b69af0ca32 100644 --- a/toolchain/check/testdata/generic/dependent_param.carbon +++ b/toolchain/check/testdata/generic/dependent_param.carbon @@ -58,10 +58,10 @@ var n: i32 = Outer(i32).Inner(42).Get(); // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -84,8 +84,8 @@ var n: i32 = Outer(i32).Inner(42).Get(); // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/generic/dot_self_symbolic_type.carbon b/toolchain/check/testdata/generic/dot_self_symbolic_type.carbon index 9690aa659343..a68199073853 100644 --- a/toolchain/check/testdata/generic/dot_self_symbolic_type.carbon +++ b/toolchain/check/testdata/generic/dot_self_symbolic_type.carbon @@ -328,7 +328,7 @@ fn H(T:! type) { // CHECK:STDOUT: %ptr.79f131.1: type = ptr_type %AA [symbolic] // CHECK:STDOUT: %B.type.4e3fc4.1: type = facet_type <@B, @B(%ptr.79f131.1)> [symbolic] // CHECK:STDOUT: %require_complete.13ba89.1: = require_complete_type %B.type.4e3fc4.1 [symbolic] -// CHECK:STDOUT: %B.impl_witness.741: = impl_witness file.%B.impl_witness_table.loc9, @impl.e5b(%AA, %BB.a66) [symbolic] +// CHECK:STDOUT: %B.impl_witness.741: = impl_witness file.%B.impl_witness_table.loc9, @B.impl.e5b(%AA, %BB.a66) [symbolic] // CHECK:STDOUT: %DD: type = bind_symbolic_name DD, 0 [symbolic] // CHECK:STDOUT: %D.432: type = class_type @D, @D(%DD) [symbolic] // CHECK:STDOUT: %T.336: type = bind_symbolic_name T, 1 [symbolic] @@ -357,11 +357,11 @@ fn H(T:! type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { -// CHECK:STDOUT: impl_decl @impl.e5b [concrete] { +// CHECK:STDOUT: impl_decl @B.impl.e5b [concrete] { // CHECK:STDOUT: %AA.patt: %pattern_type.98f = symbolic_binding_pattern AA, 0 [concrete] -// CHECK:STDOUT: %BB.patt: @impl.e5b.%pattern_type (%pattern_type.0b2) = symbolic_binding_pattern BB, 1 [concrete] +// CHECK:STDOUT: %BB.patt: @B.impl.e5b.%pattern_type (%pattern_type.0b2) = symbolic_binding_pattern BB, 1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %BB.ref: @impl.e5b.%A_where.type (%A_where.type.812090.1) = name_ref BB, %BB.loc9_25.1 [symbolic = %BB.loc9_25.2 (constants.%BB.a66)] +// CHECK:STDOUT: %BB.ref: @B.impl.e5b.%A_where.type (%A_where.type.812090.1) = name_ref BB, %BB.loc9_25.1 [symbolic = %BB.loc9_25.2 (constants.%BB.a66)] // CHECK:STDOUT: %BB.as_type.loc9_51.1: type = facet_access_type %BB.ref [symbolic = %BB.as_type.loc9_51.2 (constants.%BB.as_type)] // CHECK:STDOUT: %.loc9_51: type = converted %BB.ref, %BB.as_type.loc9_51.1 [symbolic = %BB.as_type.loc9_51.2 (constants.%BB.as_type)] // CHECK:STDOUT: %B.ref: %B.type.bf2 = name_ref B, file.%B.decl [concrete = constants.%B.generic] @@ -374,9 +374,9 @@ fn H(T:! type) { // CHECK:STDOUT: %AA.ref.loc9_32: type = name_ref AA, %AA.loc9_14.1 [symbolic = %AA.loc9_14.2 (constants.%AA)] // CHECK:STDOUT: %A.type.loc9_34.1: type = facet_type <@A, @A(constants.%AA)> [symbolic = %A.type.loc9_34.2 (constants.%A.type.75a876.1)] // CHECK:STDOUT: -// CHECK:STDOUT: %.Self.ref: @impl.e5b.%A.type.loc9_34.2 (%A.type.75a876.1) = name_ref .Self, %.Self.1 [symbolic = %.Self.2 (constants.%.Self.fafe34.1)] -// CHECK:STDOUT: %.loc9_42.1: @impl.e5b.%A.assoc_type (%A.assoc_type) = specific_constant @X.%assoc0, @A(constants.%AA) [symbolic = %assoc0 (constants.%assoc0)] -// CHECK:STDOUT: %X.ref: @impl.e5b.%A.assoc_type (%A.assoc_type) = name_ref X, %.loc9_42.1 [symbolic = %assoc0 (constants.%assoc0)] +// CHECK:STDOUT: %.Self.ref: @B.impl.e5b.%A.type.loc9_34.2 (%A.type.75a876.1) = name_ref .Self, %.Self.1 [symbolic = %.Self.2 (constants.%.Self.fafe34.1)] +// CHECK:STDOUT: %.loc9_42.1: @B.impl.e5b.%A.assoc_type (%A.assoc_type) = specific_constant @X.%assoc0, @A(constants.%AA) [symbolic = %assoc0 (constants.%assoc0)] +// CHECK:STDOUT: %X.ref: @B.impl.e5b.%A.assoc_type (%A.assoc_type) = name_ref X, %.loc9_42.1 [symbolic = %assoc0 (constants.%assoc0)] // CHECK:STDOUT: %.Self.as_type.loc9_42.1: type = facet_access_type %.Self.ref [symbolic = %.Self.as_type.loc9_42.2 (constants.%.Self.as_type)] // CHECK:STDOUT: %.loc9_42.2: type = converted %.Self.ref, %.Self.as_type.loc9_42.1 [symbolic = %.Self.as_type.loc9_42.2 (constants.%.Self.as_type)] // CHECK:STDOUT: %impl.elem0.loc9_42.1: type = impl_witness_access constants.%A.lookup_impl_witness.4e49fb.1, element0 [symbolic = %impl.elem0.loc9_42.2 (constants.%impl.elem0.452c56.1)] @@ -386,30 +386,30 @@ fn H(T:! type) { // CHECK:STDOUT: requirement_rewrite %impl.elem0.loc9_42.1, %.loc9_48.2 // CHECK:STDOUT: } // CHECK:STDOUT: } -// CHECK:STDOUT: %BB.loc9_25.1: @impl.e5b.%A_where.type (%A_where.type.812090.1) = bind_symbolic_name BB, 1 [symbolic = %BB.loc9_25.2 (constants.%BB.a66)] +// CHECK:STDOUT: %BB.loc9_25.1: @B.impl.e5b.%A_where.type (%A_where.type.812090.1) = bind_symbolic_name BB, 1 [symbolic = %BB.loc9_25.2 (constants.%BB.a66)] // CHECK:STDOUT: } -// CHECK:STDOUT: %B.impl_witness_table.loc9 = impl_witness_table (), @impl.e5b [concrete] -// CHECK:STDOUT: %B.impl_witness.loc9: = impl_witness %B.impl_witness_table.loc9, @impl.e5b(constants.%AA, constants.%BB.a66) [symbolic = @impl.e5b.%B.impl_witness (constants.%B.impl_witness.741)] +// CHECK:STDOUT: %B.impl_witness_table.loc9 = impl_witness_table (), @B.impl.e5b [concrete] +// CHECK:STDOUT: %B.impl_witness.loc9: = impl_witness %B.impl_witness_table.loc9, @B.impl.e5b(constants.%AA, constants.%BB.a66) [symbolic = @B.impl.e5b.%B.impl_witness (constants.%B.impl_witness.741)] // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl.e5b(%AA.loc9_14.1: type, %BB.loc9_25.1: @impl.e5b.%A_where.type (%A_where.type.812090.1)) { +// CHECK:STDOUT: generic impl @B.impl.e5b(%AA.loc9_14.1: type, %BB.loc9_25.1: @B.impl.e5b.%A_where.type (%A_where.type.812090.1)) { // CHECK:STDOUT: %AA.loc9_14.2: type = bind_symbolic_name AA, 0 [symbolic = %AA.loc9_14.2 (constants.%AA)] // CHECK:STDOUT: %A.type.loc9_34.2: type = facet_type <@A, @A(%AA.loc9_14.2)> [symbolic = %A.type.loc9_34.2 (constants.%A.type.75a876.1)] // CHECK:STDOUT: // CHECK:STDOUT: %require_complete.loc9_42: = require_complete_type %A.type.loc9_34.2 [symbolic = %require_complete.loc9_42 (constants.%require_complete.6da)] // CHECK:STDOUT: %A.assoc_type: type = assoc_entity_type @A, @A(%AA.loc9_14.2) [symbolic = %A.assoc_type (constants.%A.assoc_type)] -// CHECK:STDOUT: %assoc0: @impl.e5b.%A.assoc_type (%A.assoc_type) = assoc_entity element0, @A.%X [symbolic = %assoc0 (constants.%assoc0)] +// CHECK:STDOUT: %assoc0: @B.impl.e5b.%A.assoc_type (%A.assoc_type) = assoc_entity element0, @A.%X [symbolic = %assoc0 (constants.%assoc0)] // CHECK:STDOUT: %.Self.as_type.loc9_42.2: type = facet_access_type %.Self.2 [symbolic = %.Self.as_type.loc9_42.2 (constants.%.Self.as_type)] // CHECK:STDOUT: %A.lookup_impl_witness: = lookup_impl_witness %.Self.2, @A, @A(%AA.loc9_14.2) [symbolic = %A.lookup_impl_witness (constants.%A.lookup_impl_witness.4e49fb.1)] // CHECK:STDOUT: %impl.elem0.loc9_42.2: type = impl_witness_access %A.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc9_42.2 (constants.%impl.elem0.452c56.1)] // CHECK:STDOUT: %A_where.type: type = facet_type <@A, @A(%AA.loc9_14.2) where %impl.elem0.loc9_42.2 = constants.%empty_tuple.type> [symbolic = %A_where.type (constants.%A_where.type.812090.1)] -// CHECK:STDOUT: %BB.loc9_25.2: @impl.e5b.%A_where.type (%A_where.type.812090.1) = bind_symbolic_name BB, 1 [symbolic = %BB.loc9_25.2 (constants.%BB.a66)] +// CHECK:STDOUT: %BB.loc9_25.2: @B.impl.e5b.%A_where.type (%A_where.type.812090.1) = bind_symbolic_name BB, 1 [symbolic = %BB.loc9_25.2 (constants.%BB.a66)] // CHECK:STDOUT: %pattern_type: type = pattern_type %A_where.type [symbolic = %pattern_type (constants.%pattern_type.0b2)] // CHECK:STDOUT: %BB.as_type.loc9_51.2: type = facet_access_type %BB.loc9_25.2 [symbolic = %BB.as_type.loc9_51.2 (constants.%BB.as_type)] // CHECK:STDOUT: %ptr.loc9_61.2: type = ptr_type %AA.loc9_14.2 [symbolic = %ptr.loc9_61.2 (constants.%ptr.79f131.1)] // CHECK:STDOUT: %B.type.loc9_62.2: type = facet_type <@B, @B(%ptr.loc9_61.2)> [symbolic = %B.type.loc9_62.2 (constants.%B.type.4e3fc4.1)] // CHECK:STDOUT: %require_complete.loc9_62: = require_complete_type %B.type.loc9_62.2 [symbolic = %require_complete.loc9_62 (constants.%require_complete.13ba89.1)] -// CHECK:STDOUT: %B.impl_witness: = impl_witness file.%B.impl_witness_table.loc9, @impl.e5b(%AA.loc9_14.2, %BB.loc9_25.2) [symbolic = %B.impl_witness (constants.%B.impl_witness.741)] +// CHECK:STDOUT: %B.impl_witness: = impl_witness file.%B.impl_witness_table.loc9, @B.impl.e5b(%AA.loc9_14.2, %BB.loc9_25.2) [symbolic = %B.impl_witness (constants.%B.impl_witness.741)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: @@ -464,7 +464,7 @@ fn H(T:! type) { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.e5b(constants.%AA, constants.%BB.a66) { +// CHECK:STDOUT: specific @B.impl.e5b(constants.%AA, constants.%BB.a66) { // CHECK:STDOUT: %AA.loc9_14.2 => constants.%AA // CHECK:STDOUT: %A.type.loc9_34.2 => constants.%A.type.75a876.1 // CHECK:STDOUT: %.Self.2 => constants.%.Self.fafe34.1 diff --git a/toolchain/check/testdata/generic/local.carbon b/toolchain/check/testdata/generic/local.carbon index d5461c2752b8..5bbf0bc1d983 100644 --- a/toolchain/check/testdata/generic/local.carbon +++ b/toolchain/check/testdata/generic/local.carbon @@ -80,10 +80,10 @@ class C(C:! type) { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -93,7 +93,7 @@ class C(C:! type) { // CHECK:STDOUT: %int_1.5d2: %i32 = int_value 1 [concrete] // CHECK:STDOUT: %C.val: %C.d45 = struct_value (%int_1.5d2) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.39b: type = fn_type @Op.3, @impl.49c(%C.d45) [concrete] +// CHECK:STDOUT: %Op.type.39b: type = fn_type @Op.3, @Destroy.impl(%C.d45) [concrete] // CHECK:STDOUT: %Op.5e9: %Op.type.39b = struct_value () [concrete] // CHECK:STDOUT: %ptr.9c7: type = ptr_type %C.d45 [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.5e9, @Op.3(%C.d45) [concrete] @@ -109,8 +109,8 @@ class C(C:! type) { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/generic/template/convert.carbon b/toolchain/check/testdata/generic/template/convert.carbon index 8a77c4169fa8..f4b3f0d3ca86 100644 --- a/toolchain/check/testdata/generic/template/convert.carbon +++ b/toolchain/check/testdata/generic/template/convert.carbon @@ -185,7 +185,7 @@ fn Test(d: D) -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.4e3: %Self.ref as %ImplicitAs.type { +// 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: %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] @@ -210,7 +210,7 @@ fn Test(d: D) -> i32 { // 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: %.loc13: %C.elem = field_decl n, element0 [concrete] -// CHECK:STDOUT: impl_decl @impl.4e3 [concrete] {} { +// CHECK:STDOUT: impl_decl @ImplicitAs.impl.4e3 [concrete] {} { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%C [concrete = constants.%C] // CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %ImplicitAs.ref: %ImplicitAs.type.cc7 = name_ref ImplicitAs, imports.%Core.ImplicitAs [concrete = constants.%ImplicitAs.generic] @@ -218,7 +218,7 @@ fn Test(d: D) -> i32 { // CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %ImplicitAs.type: type = facet_type <@ImplicitAs, @ImplicitAs(constants.%i32)> [concrete = constants.%ImplicitAs.type.205] // CHECK:STDOUT: } -// CHECK:STDOUT: %ImplicitAs.impl_witness_table = impl_witness_table (@impl.4e3.%Convert.decl), @impl.4e3 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table = impl_witness_table (@ImplicitAs.impl.4e3.%Convert.decl), @ImplicitAs.impl.4e3 [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness: = impl_witness %ImplicitAs.impl_witness_table [concrete = constants.%ImplicitAs.impl_witness.96d] // CHECK:STDOUT: %struct_type.n: type = struct_type {.n: %i32} [concrete = constants.%struct_type.n] // CHECK:STDOUT: %complete_type: = complete_type_witness %struct_type.n [concrete = constants.%complete_type.54b] diff --git a/toolchain/check/testdata/generic/template/unimplemented.carbon b/toolchain/check/testdata/generic/template/unimplemented.carbon index 3252480749a8..eda5b5fdd52e 100644 --- a/toolchain/check/testdata/generic/template/unimplemented.carbon +++ b/toolchain/check/testdata/generic/template/unimplemented.carbon @@ -256,7 +256,7 @@ fn F[template T:! type](x: T) { // CHECK:STDOUT: %pattern_type.7ce: type = pattern_type %i32 [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %Op.type.bae: type = fn_type @Op.95 [concrete] -// CHECK:STDOUT: %Op.type.a17: type = fn_type @Op.96, @impl.49c(%i32) [concrete] +// CHECK:STDOUT: %Op.type.a17: type = fn_type @Op.96, @Destroy.impl(%i32) [concrete] // CHECK:STDOUT: %Op.e6a: %Op.type.a17 = struct_value () [concrete] // CHECK:STDOUT: %ptr.235: type = ptr_type %i32 [concrete] // CHECK:STDOUT: %Op.specific_fn.014: = specific_function %Op.e6a, @Op.96(%i32) [concrete] diff --git a/toolchain/check/testdata/if_expr/basic.carbon b/toolchain/check/testdata/if_expr/basic.carbon index aca52f1e8ae6..8ac90d93e83e 100644 --- a/toolchain/check/testdata/if_expr/basic.carbon +++ b/toolchain/check/testdata/if_expr/basic.carbon @@ -42,10 +42,10 @@ fn F(b: bool, n: i32, m: i32) -> i32 { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -55,7 +55,7 @@ fn F(b: bool, n: i32, m: i32) -> i32 { // CHECK:STDOUT: %int_0.6a9: %i32 = int_value 0 [concrete] // CHECK:STDOUT: %array: %array_type = tuple_value (%int_0.6a9) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.fa9: type = fn_type @Op.3, @impl.49c(%array_type) [concrete] +// CHECK:STDOUT: %Op.type.fa9: type = fn_type @Op.3, @Destroy.impl(%array_type) [concrete] // CHECK:STDOUT: %Op.606: %Op.type.fa9 = struct_value () [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.606, @Op.3(%array_type) [concrete] // CHECK:STDOUT: } @@ -72,8 +72,8 @@ fn F(b: bool, n: i32, m: i32) -> i32 { // CHECK:STDOUT: %Core.Bool: %Bool.type = import_ref Core//prelude/parts/bool, Bool, loaded [concrete = constants.%Bool] // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/if_expr/constant_condition.carbon b/toolchain/check/testdata/if_expr/constant_condition.carbon index d8ac7571ba12..9c6bd8a916af 100644 --- a/toolchain/check/testdata/if_expr/constant_condition.carbon +++ b/toolchain/check/testdata/if_expr/constant_condition.carbon @@ -53,10 +53,10 @@ fn PartiallyConstant(t: type) -> i32 { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -81,11 +81,11 @@ fn PartiallyConstant(t: type) -> i32 { // CHECK:STDOUT: %ptr.235: type = ptr_type %i32 [concrete] // CHECK:STDOUT: %pattern_type.fe8: type = pattern_type %ptr.235 [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.ba2: type = fn_type @Op.3, @impl.49c(%ptr.235) [concrete] +// CHECK:STDOUT: %Op.type.ba2: type = fn_type @Op.3, @Destroy.impl(%ptr.235) [concrete] // CHECK:STDOUT: %Op.649: %Op.type.ba2 = struct_value () [concrete] // CHECK:STDOUT: %ptr.5d5: type = ptr_type %ptr.235 [concrete] // CHECK:STDOUT: %Op.specific_fn.829: = specific_function %Op.649, @Op.3(%ptr.235) [concrete] -// CHECK:STDOUT: %Op.type.a17: type = fn_type @Op.3, @impl.49c(%i32) [concrete] +// CHECK:STDOUT: %Op.type.a17: type = fn_type @Op.3, @Destroy.impl(%i32) [concrete] // CHECK:STDOUT: %Op.e6a: %Op.type.a17 = struct_value () [concrete] // CHECK:STDOUT: %Op.specific_fn.014: = specific_function %Op.e6a, @Op.3(%i32) [concrete] // CHECK:STDOUT: %PartiallyConstant.type: type = fn_type @PartiallyConstant [concrete] @@ -102,8 +102,8 @@ fn PartiallyConstant(t: type) -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/if_expr/control_flow.carbon b/toolchain/check/testdata/if_expr/control_flow.carbon index 3d216e0c864b..e6d8b05daa5c 100644 --- a/toolchain/check/testdata/if_expr/control_flow.carbon +++ b/toolchain/check/testdata/if_expr/control_flow.carbon @@ -35,10 +35,10 @@ fn F(b: bool) -> i32 { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -69,8 +69,8 @@ fn F(b: bool) -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: %Core.Bool: %Bool.type = import_ref Core//prelude/parts/bool, Bool, loaded [concrete = constants.%Bool] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/if_expr/nested.carbon b/toolchain/check/testdata/if_expr/nested.carbon index 4a34526b04dd..befe1719a553 100644 --- a/toolchain/check/testdata/if_expr/nested.carbon +++ b/toolchain/check/testdata/if_expr/nested.carbon @@ -35,10 +35,10 @@ fn F(a: bool, b: bool, c: bool) -> i32 { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -71,8 +71,8 @@ fn F(a: bool, b: bool, c: bool) -> i32 { // CHECK:STDOUT: %Core.Bool: %Bool.type = import_ref Core//prelude/parts/bool, Bool, loaded [concrete = constants.%Bool] // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/if_expr/struct.carbon b/toolchain/check/testdata/if_expr/struct.carbon index 3cce1b8fa98f..70c5c584f3da 100644 --- a/toolchain/check/testdata/if_expr/struct.carbon +++ b/toolchain/check/testdata/if_expr/struct.carbon @@ -45,10 +45,10 @@ fn F(cond: bool) { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -61,7 +61,7 @@ fn F(cond: bool) { // CHECK:STDOUT: %int_2.ef8: %i32 = int_value 2 [concrete] // CHECK:STDOUT: %struct: %struct_type.a.b.501 = struct_value (%int_1.5d2, %int_2.ef8) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.da3: type = fn_type @Op.3, @impl.49c(%struct_type.a.b.501) [concrete] +// CHECK:STDOUT: %Op.type.da3: type = fn_type @Op.3, @Destroy.impl(%struct_type.a.b.501) [concrete] // CHECK:STDOUT: %Op.9db: %Op.type.da3 = struct_value () [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.9db, @Op.3(%struct_type.a.b.501) [concrete] // CHECK:STDOUT: } @@ -78,8 +78,8 @@ fn F(cond: bool) { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.Bool: %Bool.type = import_ref Core//prelude/parts/bool, Bool, loaded [concrete = constants.%Bool] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/impl/assoc_const_self.carbon b/toolchain/check/testdata/impl/assoc_const_self.carbon index b9a758243daf..be644a203aa3 100644 --- a/toolchain/check/testdata/impl/assoc_const_self.carbon +++ b/toolchain/check/testdata/impl/assoc_const_self.carbon @@ -136,10 +136,10 @@ fn CallF() { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -158,8 +158,8 @@ fn CallF() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -169,7 +169,7 @@ fn CallF() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %I.decl: type = interface_decl @I [concrete = constants.%I.type] {} {} -// CHECK:STDOUT: impl_decl @impl.983 [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl.983 [concrete] {} { // CHECK:STDOUT: %.loc8_7.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc8_7.2: type = converted %.loc8_7.1, constants.%empty_struct_type [concrete = constants.%empty_struct_type] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] @@ -186,10 +186,10 @@ fn CallF() { // CHECK:STDOUT: requirement_rewrite %impl.elem0, %.loc8_26.2 // CHECK:STDOUT: } // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table.loc8 = impl_witness_table (%impl_witness_assoc_constant.loc8), @impl.983 [concrete] +// CHECK:STDOUT: %I.impl_witness_table.loc8 = impl_witness_table (%impl_witness_assoc_constant.loc8), @I.impl.983 [concrete] // CHECK:STDOUT: %I.impl_witness.loc8: = impl_witness %I.impl_witness_table.loc8 [concrete = constants.%I.impl_witness.3d1] // CHECK:STDOUT: %impl_witness_assoc_constant.loc8: %empty_struct_type = impl_witness_assoc_constant constants.%empty_struct [concrete = constants.%empty_struct] -// CHECK:STDOUT: impl_decl @impl.728 [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl.728 [concrete] {} { // 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: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] @@ -204,7 +204,7 @@ fn CallF() { // CHECK:STDOUT: requirement_rewrite %impl.elem0, %int_0 // CHECK:STDOUT: } // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table.loc10 = impl_witness_table (%impl_witness_assoc_constant.loc10), @impl.728 [concrete] +// CHECK:STDOUT: %I.impl_witness_table.loc10 = impl_witness_table (%impl_witness_assoc_constant.loc10), @I.impl.728 [concrete] // CHECK:STDOUT: %I.impl_witness.loc10: = impl_witness %I.impl_witness_table.loc10 [concrete = constants.%I.impl_witness.5ef] // CHECK:STDOUT: %impl.elem0: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] // CHECK:STDOUT: %bound_method.loc10_15.1: = bound_method constants.%int_0.5c6, %impl.elem0 [concrete = constants.%Convert.bound] @@ -236,12 +236,12 @@ fn CallF() { // CHECK:STDOUT: assoc_const V:! @V.%Self.as_type (%Self.as_type.b70); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.983: %.loc8_7.2 as %.loc8_14 { +// CHECK:STDOUT: impl @I.impl.983: %.loc8_7.2 as %.loc8_14 { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = file.%I.impl_witness.loc8 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.728: %i32 as %.loc10_15 { +// CHECK:STDOUT: impl @I.impl.728: %i32 as %.loc10_15 { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = file.%I.impl_witness.loc10 // CHECK:STDOUT: } @@ -311,7 +311,7 @@ fn CallF() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %I.decl: type = interface_decl @I [concrete = constants.%I.type] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl [concrete] {} { // CHECK:STDOUT: %.loc15_7.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc15_7.2: type = converted %.loc15_7.1, constants.%empty_struct_type [concrete = constants.%empty_struct_type] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] @@ -326,7 +326,7 @@ fn CallF() { // CHECK:STDOUT: requirement_rewrite %impl.elem0, %int_0 // CHECK:STDOUT: } // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant), @impl [concrete] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant), @I.impl [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness] // CHECK:STDOUT: %.loc15: %empty_struct_type = converted constants.%int_0, [concrete = ] // CHECK:STDOUT: %impl_witness_assoc_constant: = impl_witness_assoc_constant [concrete = ] @@ -352,7 +352,7 @@ fn CallF() { // CHECK:STDOUT: assoc_const V:! @V.%Self.as_type (%Self.as_type.b70); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %.loc15_7.2 as %.loc15_14 { +// CHECK:STDOUT: impl @I.impl: %.loc15_7.2 as %.loc15_14 { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = file.%I.impl_witness // CHECK:STDOUT: } @@ -431,7 +431,7 @@ fn CallF() { // CHECK:STDOUT: %Core.import = import Core // 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: impl_decl @impl.e86 [concrete] {} { +// CHECK:STDOUT: impl_decl @ImplicitAs.impl [concrete] {} { // CHECK:STDOUT: %.loc10_7.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc10_7.2: type = converted %.loc10_7.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] @@ -439,9 +439,9 @@ fn CallF() { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %ImplicitAs.type: type = facet_type <@ImplicitAs, @ImplicitAs(constants.%C)> [concrete = constants.%ImplicitAs.type.15e] // CHECK:STDOUT: } -// CHECK:STDOUT: %ImplicitAs.impl_witness_table = impl_witness_table (@impl.e86.%Convert.decl), @impl.e86 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table = impl_witness_table (@ImplicitAs.impl.%Convert.decl), @ImplicitAs.impl [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness: = impl_witness %ImplicitAs.impl_witness_table [concrete = constants.%ImplicitAs.impl_witness] -// CHECK:STDOUT: impl_decl @impl.cbe [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl [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] // CHECK:STDOUT: %.Self: %I.type = bind_symbolic_name .Self [symbolic_self = constants.%.Self] @@ -457,7 +457,7 @@ fn CallF() { // CHECK:STDOUT: requirement_rewrite %impl.elem0, %.loc18_25.2 // CHECK:STDOUT: } // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant), @impl.cbe [concrete] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant), @I.impl [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness] // CHECK:STDOUT: %impl.elem0: %.5c3 = impl_witness_access constants.%ImplicitAs.impl_witness, element0 [concrete = constants.%Convert.155] // CHECK:STDOUT: %bound_method: = bound_method constants.%empty_tuple, %impl.elem0 [concrete = constants.%Convert.bound] @@ -489,7 +489,7 @@ fn CallF() { // CHECK:STDOUT: assoc_const V:! @V.%Self.as_type (%Self.as_type.b70); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.e86: %.loc10_7.2 as %ImplicitAs.type { +// 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: %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] @@ -513,7 +513,7 @@ fn CallF() { // CHECK:STDOUT: witness = file.%ImplicitAs.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.cbe: %C.ref as %.loc18_13 { +// CHECK:STDOUT: impl @I.impl: %C.ref as %.loc18_13 { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = file.%I.impl_witness // CHECK:STDOUT: } @@ -602,7 +602,7 @@ fn CallF() { // CHECK:STDOUT: %Core.Negate: type = import_ref Core//prelude/parts/int_literal, Negate, loaded [concrete = constants.%Negate.type] // CHECK:STDOUT: %Core.import_ref.abd = import_ref Core//prelude/parts/int_literal, loc13_50, unloaded // CHECK:STDOUT: %Core.import_ref.5e6: %Op.type.18a = import_ref Core//prelude/parts/int_literal, loc14_31, loaded [concrete = constants.%Op.99f] -// CHECK:STDOUT: %Negate.impl_witness_table = impl_witness_table (%Core.import_ref.abd, %Core.import_ref.5e6), @impl.0ef [concrete] +// CHECK:STDOUT: %Negate.impl_witness_table = impl_witness_table (%Core.import_ref.abd, %Core.import_ref.5e6), @Negate.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -623,7 +623,7 @@ fn CallF() { // CHECK:STDOUT: } // CHECK:STDOUT: %N.loc4_13.1: Core.IntLiteral = bind_symbolic_name N, 0 [symbolic = %N.loc4_13.2 (constants.%N)] // CHECK:STDOUT: } -// CHECK:STDOUT: impl_decl @impl.19e [concrete] {} { +// CHECK:STDOUT: impl_decl @impl [concrete] {} { // CHECK:STDOUT: %.loc15_7.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc15_7.2: type = converted %.loc15_7.1, constants.%empty_struct_type [concrete = constants.%empty_struct_type] // CHECK:STDOUT: %I.ref: %I.type.dac = name_ref I, file.%I.decl [concrete = constants.%I.generic] @@ -682,7 +682,7 @@ fn CallF() { // CHECK:STDOUT: assoc_const V:! @V.%array_type (%array_type); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.19e: %.loc15_7.2 as %.loc15_18 { +// CHECK:STDOUT: impl @impl: %.loc15_7.2 as %.loc15_18 { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/impl/basic.carbon b/toolchain/check/testdata/impl/basic.carbon index 1422db9a943e..dbb74eb8b65f 100644 --- a/toolchain/check/testdata/impl/basic.carbon +++ b/toolchain/check/testdata/impl/basic.carbon @@ -47,11 +47,11 @@ impl C as Simple { // CHECK:STDOUT: } // CHECK:STDOUT: %Simple.decl: type = interface_decl @Simple [concrete = constants.%Simple.type] {} {} // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @Simple.impl [concrete] {} { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %Simple.ref: type = name_ref Simple, file.%Simple.decl [concrete = constants.%Simple.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %Simple.impl_witness_table = impl_witness_table (@impl.%F.decl), @impl [concrete] +// CHECK:STDOUT: %Simple.impl_witness_table = impl_witness_table (@Simple.impl.%F.decl), @Simple.impl [concrete] // CHECK:STDOUT: %Simple.impl_witness: = impl_witness %Simple.impl_witness_table [concrete = constants.%Simple.impl_witness] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -66,7 +66,7 @@ impl C as Simple { // CHECK:STDOUT: witness = (%F.decl) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %C.ref as %Simple.ref { +// 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: // CHECK:STDOUT: !members: diff --git a/toolchain/check/testdata/impl/compound.carbon b/toolchain/check/testdata/impl/compound.carbon index 7eb53b8436ae..17815d6d381c 100644 --- a/toolchain/check/testdata/impl/compound.carbon +++ b/toolchain/check/testdata/impl/compound.carbon @@ -240,13 +240,13 @@ fn InstanceCallFail() { // CHECK:STDOUT: .NonInstanceCall1 = %NonInstanceCall1.decl // CHECK:STDOUT: } // CHECK:STDOUT: %NonInstance1.decl: type = interface_decl @NonInstance1 [concrete = constants.%NonInstance1.type] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @NonInstance1.impl [concrete] {} { // CHECK:STDOUT: %.loc7_12.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc7_12.2: type = converted %.loc7_12.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %struct_type.a: type = struct_type {.a: %empty_tuple.type} [concrete = constants.%struct_type.a] // CHECK:STDOUT: %NonInstance1.ref: type = name_ref NonInstance1, file.%NonInstance1.decl [concrete = constants.%NonInstance1.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %NonInstance1.impl_witness_table = impl_witness_table (@impl.%F1.decl), @impl [concrete] +// CHECK:STDOUT: %NonInstance1.impl_witness_table = impl_witness_table (@NonInstance1.impl.%F1.decl), @NonInstance1.impl [concrete] // CHECK:STDOUT: %NonInstance1.impl_witness: = impl_witness %NonInstance1.impl_witness_table [concrete = constants.%NonInstance1.impl_witness] // CHECK:STDOUT: %NonInstanceCall1.decl: %NonInstanceCall1.type = fn_decl @NonInstanceCall1 [concrete = constants.%NonInstanceCall1] {} {} // CHECK:STDOUT: } @@ -262,7 +262,7 @@ fn InstanceCallFail() { // CHECK:STDOUT: witness = (%F1.decl) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %struct_type.a as %NonInstance1.ref { +// 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: // CHECK:STDOUT: !members: @@ -360,13 +360,13 @@ fn InstanceCallFail() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %NonInstance2.decl: type = interface_decl @NonInstance2 [concrete = constants.%NonInstance2.type] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @NonInstance2.impl [concrete] {} { // CHECK:STDOUT: %.loc9_12.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc9_12.2: type = converted %.loc9_12.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %struct_type.b: type = struct_type {.b: %empty_tuple.type} [concrete = constants.%struct_type.b] // CHECK:STDOUT: %NonInstance2.ref: type = name_ref NonInstance2, file.%NonInstance2.decl [concrete = constants.%NonInstance2.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %NonInstance2.impl_witness_table = impl_witness_table (@impl.%F2.decl), @impl [concrete] +// CHECK:STDOUT: %NonInstance2.impl_witness_table = impl_witness_table (@NonInstance2.impl.%F2.decl), @NonInstance2.impl [concrete] // CHECK:STDOUT: %NonInstance2.impl_witness: = impl_witness %NonInstance2.impl_witness_table [concrete = constants.%NonInstance2.impl_witness] // CHECK:STDOUT: %NonInstanceCall2.decl: %NonInstanceCall2.type = fn_decl @NonInstanceCall2 [concrete = constants.%NonInstanceCall2] { // CHECK:STDOUT: %n.patt: %pattern_type.d5c = binding_pattern n [concrete] @@ -412,7 +412,7 @@ fn InstanceCallFail() { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %struct_type.b as %NonInstance2.ref { +// 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: // CHECK:STDOUT: !members: @@ -542,13 +542,13 @@ fn InstanceCallFail() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %NonInstance3.decl: type = interface_decl @NonInstance3 [concrete = constants.%NonInstance3.type] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @NonInstance3.impl [concrete] {} { // CHECK:STDOUT: %.loc9_12.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc9_12.2: type = converted %.loc9_12.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %struct_type.c: type = struct_type {.c: %empty_tuple.type} [concrete = constants.%struct_type.c] // CHECK:STDOUT: %NonInstance3.ref: type = name_ref NonInstance3, file.%NonInstance3.decl [concrete = constants.%NonInstance3.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %NonInstance3.impl_witness_table = impl_witness_table (@impl.%F3.decl), @impl [concrete] +// CHECK:STDOUT: %NonInstance3.impl_witness_table = impl_witness_table (@NonInstance3.impl.%F3.decl), @NonInstance3.impl [concrete] // CHECK:STDOUT: %NonInstance3.impl_witness: = impl_witness %NonInstance3.impl_witness_table [concrete = constants.%NonInstance3.impl_witness] // CHECK:STDOUT: %NonInstanceCallIndirect.decl: %NonInstanceCallIndirect.type = fn_decl @NonInstanceCallIndirect [concrete = constants.%NonInstanceCallIndirect] { // CHECK:STDOUT: %p.patt: %pattern_type.5f5 = binding_pattern p [concrete] @@ -595,7 +595,7 @@ fn InstanceCallFail() { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %struct_type.c as %NonInstance3.ref { +// 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: // CHECK:STDOUT: !members: @@ -698,13 +698,13 @@ fn InstanceCallFail() { // CHECK:STDOUT: .InstanceCallIndirect = %InstanceCallIndirect.decl // CHECK:STDOUT: } // CHECK:STDOUT: %Instance1.decl: type = interface_decl @Instance1 [concrete = constants.%Instance1.type] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @Instance1.impl [concrete] {} { // CHECK:STDOUT: %.loc7_12.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc7_12.2: type = converted %.loc7_12.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %struct_type.d: type = struct_type {.d: %empty_tuple.type} [concrete = constants.%struct_type.d] // CHECK:STDOUT: %Instance1.ref: type = name_ref Instance1, file.%Instance1.decl [concrete = constants.%Instance1.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %Instance1.impl_witness_table = impl_witness_table (@impl.%G1.decl), @impl [concrete] +// CHECK:STDOUT: %Instance1.impl_witness_table = impl_witness_table (@Instance1.impl.%G1.decl), @Instance1.impl [concrete] // CHECK:STDOUT: %Instance1.impl_witness: = impl_witness %Instance1.impl_witness_table [concrete = constants.%Instance1.impl_witness] // CHECK:STDOUT: %InstanceCall.decl: %InstanceCall.type = fn_decl @InstanceCall [concrete = constants.%InstanceCall] { // CHECK:STDOUT: %n.patt: %pattern_type.515 = binding_pattern n [concrete] @@ -755,13 +755,13 @@ fn InstanceCallFail() { // CHECK:STDOUT: witness = (%G1.decl) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %struct_type.d as %Instance1.ref { +// 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: %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: } { // CHECK:STDOUT: %self.param: %struct_type.d = value_param call_param0 -// CHECK:STDOUT: %Self.ref: type = name_ref Self, @impl.%struct_type.d [concrete = constants.%struct_type.d] +// CHECK:STDOUT: %Self.ref: type = name_ref Self, @Instance1.impl.%struct_type.d [concrete = constants.%struct_type.d] // CHECK:STDOUT: %self: %struct_type.d = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: @@ -851,13 +851,13 @@ fn InstanceCallFail() { // CHECK:STDOUT: .InstanceCallFail = %InstanceCallFail.decl // CHECK:STDOUT: } // CHECK:STDOUT: %Instance2.decl: type = interface_decl @Instance2 [concrete = constants.%Instance2.type] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @Instance2.impl [concrete] {} { // CHECK:STDOUT: %.loc7_12.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc7_12.2: type = converted %.loc7_12.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %struct_type.e: type = struct_type {.e: %empty_tuple.type} [concrete = constants.%struct_type.e] // CHECK:STDOUT: %Instance2.ref: type = name_ref Instance2, file.%Instance2.decl [concrete = constants.%Instance2.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %Instance2.impl_witness_table = impl_witness_table (@impl.%G2.decl), @impl [concrete] +// CHECK:STDOUT: %Instance2.impl_witness_table = impl_witness_table (@Instance2.impl.%G2.decl), @Instance2.impl [concrete] // CHECK:STDOUT: %Instance2.impl_witness: = impl_witness %Instance2.impl_witness_table [concrete = constants.%Instance2.impl_witness] // CHECK:STDOUT: %InstanceCallFail.decl: %InstanceCallFail.type = fn_decl @InstanceCallFail [concrete = constants.%InstanceCallFail] {} {} // CHECK:STDOUT: } @@ -884,13 +884,13 @@ fn InstanceCallFail() { // CHECK:STDOUT: witness = (%G2.decl) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %struct_type.e as %Instance2.ref { +// 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: %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: } { // CHECK:STDOUT: %self.param: %struct_type.e = value_param call_param0 -// CHECK:STDOUT: %Self.ref: type = name_ref Self, @impl.%struct_type.e [concrete = constants.%struct_type.e] +// CHECK:STDOUT: %Self.ref: type = name_ref Self, @Instance2.impl.%struct_type.e [concrete = constants.%struct_type.e] // CHECK:STDOUT: %self: %struct_type.e = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/impl/declaration.carbon b/toolchain/check/testdata/impl/declaration.carbon index 57cb813cdffa..3e3eaa26bb98 100644 --- a/toolchain/check/testdata/impl/declaration.carbon +++ b/toolchain/check/testdata/impl/declaration.carbon @@ -46,14 +46,14 @@ impl i32 as I {} // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %I.decl: type = interface_decl @I [concrete = constants.%I.type] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl [concrete] {} { // CHECK:STDOUT: %int_32.loc17: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc17: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %I.ref.loc17: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @impl [concrete] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @I.impl [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness] -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl [concrete] {} { // CHECK:STDOUT: %int_32.loc19: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc19: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %I.ref.loc19: type = name_ref I, file.%I.decl [concrete = constants.%I.type] @@ -68,7 +68,7 @@ impl i32 as I {} // CHECK:STDOUT: witness = () // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %i32.loc17 as %I.ref.loc17 { +// CHECK:STDOUT: impl @I.impl: %i32.loc17 as %I.ref.loc17 { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = file.%I.impl_witness // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/impl/empty.carbon b/toolchain/check/testdata/impl/empty.carbon index ac77104570d0..3a739eee3a70 100644 --- a/toolchain/check/testdata/impl/empty.carbon +++ b/toolchain/check/testdata/impl/empty.carbon @@ -46,12 +46,12 @@ impl i32 as Empty { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Empty.decl: type = interface_decl @Empty [concrete = constants.%Empty.type] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @Empty.impl [concrete] {} { // 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: %Empty.ref: type = name_ref Empty, file.%Empty.decl [concrete = constants.%Empty.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %Empty.impl_witness_table = impl_witness_table (), @impl [concrete] +// CHECK:STDOUT: %Empty.impl_witness_table = impl_witness_table (), @Empty.impl [concrete] // CHECK:STDOUT: %Empty.impl_witness: = impl_witness %Empty.impl_witness_table [concrete = constants.%Empty.impl_witness] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -63,7 +63,7 @@ impl i32 as Empty { // CHECK:STDOUT: witness = () // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %i32 as %Empty.ref { +// CHECK:STDOUT: impl @Empty.impl: %i32 as %Empty.ref { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = file.%Empty.impl_witness // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/impl/error_recovery.carbon b/toolchain/check/testdata/impl/error_recovery.carbon index d3b12c7d895a..2a1c01823d25 100644 --- a/toolchain/check/testdata/impl/error_recovery.carbon +++ b/toolchain/check/testdata/impl/error_recovery.carbon @@ -41,11 +41,11 @@ impl forall [T: type] C as I { } // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} // CHECK:STDOUT: %I.decl: type = interface_decl @I [concrete = constants.%I.type] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl [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] // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @impl [concrete] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @I.impl [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -57,7 +57,7 @@ impl forall [T: type] C as I { } // CHECK:STDOUT: witness = () // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %C.ref as %I.ref { +// CHECK:STDOUT: impl @I.impl: %C.ref as %I.ref { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = file.%I.impl_witness // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/impl/extend_impl.carbon b/toolchain/check/testdata/impl/extend_impl.carbon index 76ff4504128a..42bc4503db70 100644 --- a/toolchain/check/testdata/impl/extend_impl.carbon +++ b/toolchain/check/testdata/impl/extend_impl.carbon @@ -72,7 +72,7 @@ extend impl nonexistent* as I {} // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %Self.ref as %HasF.ref { +// 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: // CHECK:STDOUT: !members: @@ -81,11 +81,11 @@ extend impl nonexistent* as I {} // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @C { -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @HasF.impl [concrete] {} { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%C [concrete = constants.%C] // CHECK:STDOUT: %HasF.ref: type = name_ref HasF, file.%HasF.decl [concrete = constants.%HasF.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %HasF.impl_witness_table = impl_witness_table (@impl.%F.decl), @impl [concrete] +// CHECK:STDOUT: %HasF.impl_witness_table = impl_witness_table (@HasF.impl.%F.decl), @HasF.impl [concrete] // CHECK:STDOUT: %HasF.impl_witness: = impl_witness %HasF.impl_witness_table [concrete = constants.%HasF.impl_witness] // 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] @@ -95,7 +95,7 @@ extend impl nonexistent* as I {} // CHECK:STDOUT: .Self = constants.%C // CHECK:STDOUT: .HasF = // CHECK:STDOUT: .F = -// CHECK:STDOUT: extend @impl.%HasF.ref +// CHECK:STDOUT: extend @HasF.impl.%HasF.ref // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F.2() { diff --git a/toolchain/check/testdata/impl/extend_impl_generic.carbon b/toolchain/check/testdata/impl/extend_impl_generic.carbon index fb06cdf75f0c..8f57fd06887c 100644 --- a/toolchain/check/testdata/impl/extend_impl_generic.carbon +++ b/toolchain/check/testdata/impl/extend_impl_generic.carbon @@ -95,10 +95,10 @@ class X(U:! type) { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -113,11 +113,11 @@ class X(U:! type) { // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] // CHECK:STDOUT: %.22c: type = fn_type_with_self_type %F.type.7f1, %HasF.facet [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.70d: type = fn_type @Op.3, @impl.49c(%Param) [concrete] +// CHECK:STDOUT: %Op.type.70d: type = fn_type @Op.3, @Destroy.impl(%Param) [concrete] // CHECK:STDOUT: %Op.e46: %Op.type.70d = struct_value () [concrete] // CHECK:STDOUT: %ptr.756: type = ptr_type %Param [concrete] // CHECK:STDOUT: %Op.specific_fn.022: = specific_function %Op.e46, @Op.3(%Param) [concrete] -// CHECK:STDOUT: %Op.type.a17: type = fn_type @Op.3, @impl.49c(%i32) [concrete] +// CHECK:STDOUT: %Op.type.a17: type = fn_type @Op.3, @Destroy.impl(%i32) [concrete] // CHECK:STDOUT: %Op.e6a: %Op.type.a17 = struct_value () [concrete] // CHECK:STDOUT: %ptr.235: type = ptr_type %i32 [concrete] // CHECK:STDOUT: %Op.specific_fn.014: = specific_function %Op.e6a, @Op.3(%i32) [concrete] @@ -133,8 +133,8 @@ class X(U:! type) { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -196,7 +196,7 @@ class X(U:! type) { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.3b1: %Self.ref as %HasF.type { +// 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: %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] @@ -226,13 +226,13 @@ class X(U:! type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @C { -// CHECK:STDOUT: impl_decl @impl.3b1 [concrete] {} { +// CHECK:STDOUT: impl_decl @HasF.impl [concrete] {} { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%C [concrete = constants.%C] // CHECK:STDOUT: %HasF.ref: %HasF.type.fe3 = name_ref HasF, file.%HasF.decl [concrete = constants.%HasF.generic] // CHECK:STDOUT: %Param.ref: type = name_ref Param, file.%Param.decl [concrete = constants.%Param] // CHECK:STDOUT: %HasF.type: type = facet_type <@HasF, @HasF(constants.%Param)> [concrete = constants.%HasF.type.b18] // CHECK:STDOUT: } -// CHECK:STDOUT: %HasF.impl_witness_table = impl_witness_table (@impl.3b1.%F.decl), @impl.3b1 [concrete] +// CHECK:STDOUT: %HasF.impl_witness_table = impl_witness_table (@HasF.impl.%F.decl), @HasF.impl [concrete] // CHECK:STDOUT: %HasF.impl_witness: = impl_witness %HasF.impl_witness_table [concrete = constants.%HasF.impl_witness] // 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] @@ -243,7 +243,7 @@ class X(U:! type) { // CHECK:STDOUT: .HasF = // CHECK:STDOUT: .Param = // CHECK:STDOUT: .F = -// CHECK:STDOUT: extend @impl.3b1.%HasF.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)) { @@ -382,10 +382,10 @@ class X(U:! type) { // 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] // CHECK:STDOUT: %require_complete.cfe: = require_complete_type %I.type.325e65.2 [symbolic] -// CHECK:STDOUT: %I.impl_witness: = impl_witness @X.%I.impl_witness_table, @impl(%U) [symbolic] +// 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, @impl(%U) [symbolic] +// CHECK:STDOUT: %F.type.e88: type = fn_type @F.2, @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] @@ -462,19 +462,19 @@ class X(U:! type) { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl(@X.%U.loc8_9.1: type) { +// CHECK:STDOUT: generic impl @I.impl(@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: %I.type.loc9_21.2: type = facet_type <@I, @I(%U)> [symbolic = %I.type.loc9_21.2 (constants.%I.type.325e65.2)] // CHECK:STDOUT: %require_complete: = require_complete_type %I.type.loc9_21.2 [symbolic = %require_complete (constants.%require_complete.cfe)] -// CHECK:STDOUT: %I.impl_witness: = impl_witness @X.%I.impl_witness_table, @impl(%U) [symbolic = %I.impl_witness (constants.%I.impl_witness)] +// 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, @impl(%U) [symbolic = %F.type (constants.%F.type.e88)] -// CHECK:STDOUT: %F: @impl.%F.type (%F.type.e88) = struct_value () [symbolic = %F (constants.%F.b02)] +// CHECK:STDOUT: %F.type: type = fn_type @F.2, @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: @impl.%F.type (%F.type.e88) = fn_decl @F.2 [symbolic = @impl.%F (constants.%F.b02)] { +// 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] @@ -506,15 +506,15 @@ class X(U:! type) { // CHECK:STDOUT: %require_complete: = require_complete_type %I.type [symbolic = %require_complete (constants.%require_complete.cfe)] // CHECK:STDOUT: // CHECK:STDOUT: class { -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl [concrete] {} { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%X [symbolic = %X (constants.%X)] // CHECK:STDOUT: %I.ref: %I.type.dac = name_ref I, file.%I.decl [concrete = constants.%I.generic] // CHECK:STDOUT: %U.ref: type = name_ref U, @X.%U.loc8_9.1 [symbolic = %U (constants.%U)] // CHECK:STDOUT: %I.type.loc9_21.1: type = facet_type <@I, @I(constants.%U)> [symbolic = %I.type.loc9_21.2 (constants.%I.type.325e65.2)] // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (@impl.%F.decl), @impl [concrete] -// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table, @impl(constants.%U) [symbolic = @impl.%I.impl_witness (constants.%I.impl_witness)] -// CHECK:STDOUT: %.loc9: type = specific_constant @impl.%I.type.loc9_21.1, @impl(constants.%U) [symbolic = %I.type (constants.%I.type.325e65.2)] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (@I.impl.%F.decl), @I.impl [concrete] +// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table, @I.impl(constants.%U) [symbolic = @I.impl.%I.impl_witness (constants.%I.impl_witness)] +// CHECK:STDOUT: %.loc9: type = specific_constant @I.impl.%I.type.loc9_21.1, @I.impl(constants.%U) [symbolic = %I.type (constants.%I.type.325e65.2)] // 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 @@ -589,7 +589,7 @@ class X(U:! type) { // CHECK:STDOUT: %assoc0.loc5_25.2 => constants.%assoc0.8f0422.2 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl(constants.%U) { +// CHECK:STDOUT: specific @I.impl(constants.%U) { // CHECK:STDOUT: %U => constants.%U // CHECK:STDOUT: %X => constants.%X // CHECK:STDOUT: %I.type.loc9_21.2 => constants.%I.type.325e65.2 diff --git a/toolchain/check/testdata/impl/fail_alias.carbon b/toolchain/check/testdata/impl/fail_alias.carbon index 7321e10db6ea..a8e921e86a4a 100644 --- a/toolchain/check/testdata/impl/fail_alias.carbon +++ b/toolchain/check/testdata/impl/fail_alias.carbon @@ -53,13 +53,13 @@ impl AC as AI {} // CHECK:STDOUT: %AI: type = bind_alias AI, %I.decl [concrete = constants.%I.type] // CHECK:STDOUT: %C.ref: type = name_ref C, %C.decl [concrete = constants.%C] // CHECK:STDOUT: %AC: type = bind_alias AC, %C.decl [concrete = constants.%C] -// CHECK:STDOUT: impl_decl @impl.7704ae.1 [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl.7704ae.1 [concrete] {} { // CHECK:STDOUT: %AC.ref: type = name_ref AC, file.%AC [concrete = constants.%C] // CHECK:STDOUT: %AI.ref: type = name_ref AI, file.%AI [concrete = constants.%I.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @impl.7704ae.1 [concrete] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @I.impl.7704ae.1 [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness] -// CHECK:STDOUT: impl_decl @impl.7704ae.2 [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl.7704ae.2 [concrete] {} { // CHECK:STDOUT: %AC.ref: type = name_ref AC, file.%AC [concrete = constants.%C] // CHECK:STDOUT: %AI.ref: type = name_ref AI, file.%AI [concrete = constants.%I.type] // CHECK:STDOUT: } @@ -73,12 +73,12 @@ impl AC as AI {} // CHECK:STDOUT: witness = () // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.7704ae.1: %AC.ref as %AI.ref { +// CHECK:STDOUT: impl @I.impl.7704ae.1: %AC.ref as %AI.ref { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = file.%I.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.7704ae.2: %AC.ref as %AI.ref { +// CHECK:STDOUT: impl @I.impl.7704ae.2: %AC.ref as %AI.ref { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/impl/fail_call_invalid.carbon b/toolchain/check/testdata/impl/fail_call_invalid.carbon index 4020b4f930e2..510f09f5aa4e 100644 --- a/toolchain/check/testdata/impl/fail_call_invalid.carbon +++ b/toolchain/check/testdata/impl/fail_call_invalid.carbon @@ -74,12 +74,12 @@ fn InstanceCall(n: i32) { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Simple.decl: type = interface_decl @Simple [concrete = constants.%Simple.type] {} {} -// CHECK:STDOUT: impl_decl @impl.006 [concrete] {} { +// CHECK:STDOUT: impl_decl @Simple.impl [concrete] {} { // 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: %Simple.ref: type = name_ref Simple, file.%Simple.decl [concrete = constants.%Simple.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %Simple.impl_witness_table = impl_witness_table (@impl.006.%G.decl.loc24_27.2), @impl.006 [concrete] +// CHECK:STDOUT: %Simple.impl_witness_table = impl_witness_table (@Simple.impl.%G.decl.loc24_27.2), @Simple.impl [concrete] // CHECK:STDOUT: %Simple.impl_witness: = impl_witness %Simple.impl_witness_table [concrete = constants.%Simple.impl_witness] // CHECK:STDOUT: %InstanceCall.decl: %InstanceCall.type = fn_decl @InstanceCall [concrete = constants.%InstanceCall] { // CHECK:STDOUT: %n.patt: %pattern_type.7ce = binding_pattern n [concrete] @@ -116,7 +116,7 @@ fn InstanceCall(n: i32) { // CHECK:STDOUT: witness = (%G.decl) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.006: %i32 as %Simple.ref { +// 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: %self.patt: = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: = value_param_pattern %self.patt, call_param0 [concrete] @@ -149,9 +149,9 @@ fn InstanceCall(n: i32) { // CHECK:STDOUT: // CHECK:STDOUT: fn @G.2(%self.param: ); // CHECK:STDOUT: -// CHECK:STDOUT: fn @G.3(%self.param: %i32) [thunk @impl.006.%G.decl.loc24_27.1] { +// CHECK:STDOUT: fn @G.3(%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, @impl.006.%G.decl.loc24_27.1 [concrete = constants.%G.e73e91.1] +// 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 // CHECK:STDOUT: %G.bound: = bound_method %self.ref, %G.ref // CHECK:STDOUT: %G.call: init %empty_tuple.type = call %G.bound() @@ -165,7 +165,7 @@ fn InstanceCall(n: i32) { // CHECK:STDOUT: %G.ref.loc28_12: %Simple.assoc_type = name_ref G, @Simple.%assoc0 [concrete = constants.%assoc0.db2] // CHECK:STDOUT: %impl.elem0: %.8e6 = impl_witness_access constants.%Simple.impl_witness, element0 [concrete = constants.%G.e73e91.2] // CHECK:STDOUT: %bound_method: = bound_method %n.ref, %impl.elem0 -// CHECK:STDOUT: %G.ref.loc28_16: %G.type.c9825d.1 = name_ref G, @impl.006.%G.decl.loc24_27.1 [concrete = constants.%G.e73e91.1] +// CHECK:STDOUT: %G.ref.loc28_16: %G.type.c9825d.1 = name_ref G, @Simple.impl.%G.decl.loc24_27.1 [concrete = constants.%G.e73e91.1] // CHECK:STDOUT: %G.bound: = bound_method %n.ref, %G.ref.loc28_16 // CHECK:STDOUT: %G.call: init %empty_tuple.type = call %G.bound() // CHECK:STDOUT: return diff --git a/toolchain/check/testdata/impl/fail_extend_impl_forall.carbon b/toolchain/check/testdata/impl/fail_extend_impl_forall.carbon index 222d7f8baa06..1469eb874c67 100644 --- a/toolchain/check/testdata/impl/fail_extend_impl_forall.carbon +++ b/toolchain/check/testdata/impl/fail_extend_impl_forall.carbon @@ -42,8 +42,8 @@ class C { // 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, @impl(%T) [symbolic] -// CHECK:STDOUT: %F.type.2cb: type = fn_type @F.2, @impl(%T) [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.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] @@ -94,23 +94,23 @@ class C { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl(%T.loc24_23.1: type) { +// CHECK:STDOUT: generic impl @GenericInterface.impl(%T.loc24_23.1: type) { // CHECK:STDOUT: %T.loc24_23.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc24_23.2 (constants.%T)] // CHECK:STDOUT: %GenericInterface.type.loc24_54.2: type = facet_type <@GenericInterface, @GenericInterface(%T.loc24_23.2)> [symbolic = %GenericInterface.type.loc24_54.2 (constants.%GenericInterface.type.3fe)] // CHECK:STDOUT: %require_complete: = require_complete_type %GenericInterface.type.loc24_54.2 [symbolic = %require_complete (constants.%require_complete.70f)] -// CHECK:STDOUT: %GenericInterface.impl_witness: = impl_witness @C.%GenericInterface.impl_witness_table, @impl(%T.loc24_23.2) [symbolic = %GenericInterface.impl_witness (constants.%GenericInterface.impl_witness)] +// 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, @impl(%T.loc24_23.2) [symbolic = %F.type (constants.%F.type.2cb)] -// CHECK:STDOUT: %F: @impl.%F.type (%F.type.2cb) = struct_value () [symbolic = %F (constants.%F.4b1)] +// 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: @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: @impl.%F.type (%F.type.2cb) = fn_decl @F.2 [symbolic = @impl.%F (constants.%F.4b1)] { +// 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: } { // CHECK:STDOUT: %x.param: @F.2.%T (%T) = value_param call_param0 -// CHECK:STDOUT: %T.ref: type = name_ref T, @impl.%T.loc24_23.1 [symbolic = %T (constants.%T)] +// 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: } // CHECK:STDOUT: @@ -122,7 +122,7 @@ class C { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @C { -// CHECK:STDOUT: impl_decl @impl [concrete] { +// CHECK:STDOUT: impl_decl @GenericInterface.impl [concrete] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%C [concrete = constants.%C] @@ -131,9 +131,9 @@ class C { // CHECK:STDOUT: %GenericInterface.type.loc24_54.1: type = facet_type <@GenericInterface, @GenericInterface(constants.%T)> [symbolic = %GenericInterface.type.loc24_54.2 (constants.%GenericInterface.type.3fe)] // CHECK:STDOUT: %T.loc24_23.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc24_23.2 (constants.%T)] // CHECK:STDOUT: } -// CHECK:STDOUT: %GenericInterface.impl_witness_table = impl_witness_table (), @impl [concrete] -// CHECK:STDOUT: %GenericInterface.impl_witness: = impl_witness %GenericInterface.impl_witness_table, @impl(constants.%T) [symbolic = @impl.%GenericInterface.impl_witness (constants.%GenericInterface.impl_witness)] -// CHECK:STDOUT: %.loc24: type = specific_constant @impl.%GenericInterface.type.loc24_54.1, @impl(constants.%T) [symbolic = constants.%GenericInterface.type.3fe] +// CHECK:STDOUT: %GenericInterface.impl_witness_table = impl_witness_table (), @GenericInterface.impl [concrete] +// CHECK:STDOUT: %GenericInterface.impl_witness: = impl_witness %GenericInterface.impl_witness_table, @GenericInterface.impl(constants.%T) [symbolic = @GenericInterface.impl.%GenericInterface.impl_witness (constants.%GenericInterface.impl_witness)] +// CHECK:STDOUT: %.loc24: type = specific_constant @GenericInterface.impl.%GenericInterface.type.loc24_54.1, @GenericInterface.impl(constants.%T) [symbolic = constants.%GenericInterface.type.3fe] // 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 @@ -151,7 +151,7 @@ class C { // CHECK:STDOUT: fn(%x.param: @F.1.%T (%T)); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.2(@impl.%T.loc24_23.1: type) { +// CHECK:STDOUT: generic fn @F.2(@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: @@ -181,7 +181,7 @@ class C { // CHECK:STDOUT: %pattern_type => constants.%pattern_type.7dc // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl(constants.%T) { +// CHECK:STDOUT: specific @GenericInterface.impl(constants.%T) { // CHECK:STDOUT: %T.loc24_23.2 => constants.%T // CHECK:STDOUT: %GenericInterface.type.loc24_54.2 => constants.%GenericInterface.type.3fe // CHECK:STDOUT: %require_complete => constants.%require_complete.70f diff --git a/toolchain/check/testdata/impl/fail_extend_impl_scope.carbon b/toolchain/check/testdata/impl/fail_extend_impl_scope.carbon index 2f0478092f01..0cea138624f9 100644 --- a/toolchain/check/testdata/impl/fail_extend_impl_scope.carbon +++ b/toolchain/check/testdata/impl/fail_extend_impl_scope.carbon @@ -87,12 +87,12 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %I.decl: type = interface_decl @I [concrete = constants.%I.type] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl [concrete] {} { // CHECK:STDOUT: %.loc9_14.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc9_14.2: type = converted %.loc9_14.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @impl [concrete] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @I.impl [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -104,7 +104,7 @@ fn F() { // CHECK:STDOUT: witness = () // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %.loc9_14.2 as %I.ref { +// CHECK:STDOUT: impl @I.impl: %.loc9_14.2 as %I.ref { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = // CHECK:STDOUT: } @@ -146,19 +146,19 @@ fn F() { // CHECK:STDOUT: witness = () // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %.loc10_16.2 as %J.ref { +// CHECK:STDOUT: impl @J.impl: %.loc10_16.2 as %J.ref { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @J.impl [concrete] {} { // CHECK:STDOUT: %.loc10_16.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc10_16.2: type = converted %.loc10_16.1, constants.%empty_struct_type [concrete = constants.%empty_struct_type] // CHECK:STDOUT: %J.ref: type = name_ref J, file.%J.decl [concrete = constants.%J.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %J.impl_witness_table = impl_witness_table (), @impl [concrete] +// CHECK:STDOUT: %J.impl_witness_table = impl_witness_table (), @J.impl [concrete] // CHECK:STDOUT: %J.impl_witness: = impl_witness %J.impl_witness_table [concrete = constants.%J.impl_witness] // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -173,7 +173,7 @@ fn F() { // 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, @impl.6b5(%Self.6e6) [symbolic] +// CHECK:STDOUT: %Zero.type.db4: type = fn_type @Zero.2, @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] @@ -187,7 +187,7 @@ fn F() { // CHECK:STDOUT: %Point.val: %Point = struct_value () [concrete] // CHECK:STDOUT: %.766: type = fn_type_with_self_type %Zero.type.822, %Z.facet [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.003: type = fn_type @Op.2, @impl.49c(%Point) [concrete] +// CHECK:STDOUT: %Op.type.003: type = fn_type @Op.2, @Destroy.impl(%Point) [concrete] // CHECK:STDOUT: %Op.d2d: %Op.type.003 = struct_value () [concrete] // CHECK:STDOUT: %ptr.536: type = ptr_type %Point [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.d2d, @Op.2(%Point) [concrete] @@ -219,7 +219,7 @@ fn F() { // 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: %assoc0: %Z.assoc_type = assoc_entity element0, %Zero.decl [concrete = constants.%assoc0.534] -// CHECK:STDOUT: impl_decl @impl.6b5 [concrete] {} { +// CHECK:STDOUT: impl_decl @Z.impl.6b5 [concrete] {} { // CHECK:STDOUT: %Z.ref: type = name_ref Z, file.%Z.decl [concrete = constants.%Z.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -230,14 +230,14 @@ fn F() { // CHECK:STDOUT: witness = (%Zero.decl) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl.6b5(@Z.%Self: %Z.type) { +// 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, @impl.6b5(%Self) [symbolic = %Zero.type (constants.%Zero.type.db4)] -// CHECK:STDOUT: %Zero: @impl.6b5.%Zero.type (%Zero.type.db4) = struct_value () [symbolic = %Zero (constants.%Zero.8fb)] +// CHECK:STDOUT: %Zero.type: type = fn_type @Zero.2, @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: @impl.6b5.%Zero.type (%Zero.type.db4) = fn_decl @Zero.2 [symbolic = @impl.6b5.%Zero (constants.%Zero.8fb)] {} {} +// 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: // CHECK:STDOUT: !members: // CHECK:STDOUT: .Zero = %Zero.decl @@ -245,7 +245,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.c94: %Self.ref as %Z.ref { +// 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: // CHECK:STDOUT: !members: @@ -254,11 +254,11 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @Point { -// CHECK:STDOUT: impl_decl @impl.c94 [concrete] {} { +// CHECK:STDOUT: impl_decl @Z.impl.c94 [concrete] {} { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%Point [concrete = constants.%Point] // CHECK:STDOUT: %Z.ref: type = name_ref Z, file.%Z.decl [concrete = constants.%Z.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %Z.impl_witness_table = impl_witness_table (@impl.c94.%Zero.decl), @impl.c94 [concrete] +// CHECK:STDOUT: %Z.impl_witness_table = impl_witness_table (@Z.impl.c94.%Zero.decl), @Z.impl.c94 [concrete] // CHECK:STDOUT: %Z.impl_witness: = impl_witness %Z.impl_witness_table [concrete = constants.%Z.impl_witness] // 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] @@ -268,7 +268,7 @@ fn F() { // CHECK:STDOUT: .Self = constants.%Point // CHECK:STDOUT: .Z = // CHECK:STDOUT: .Zero = -// CHECK:STDOUT: extend @impl.c94.%Z.ref +// CHECK:STDOUT: extend @Z.impl.c94.%Z.ref // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @Zero.1(@Z.%Self: %Z.type) { @@ -310,7 +310,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: specific @Zero.1(constants.%Self.6e6) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.6b5(constants.%Self.6e6) { +// CHECK:STDOUT: specific @Z.impl.6b5(constants.%Self.6e6) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%Self.6e6 // CHECK:STDOUT: %Zero.type => constants.%Zero.type.db4 diff --git a/toolchain/check/testdata/impl/fail_extend_impl_type_as.carbon b/toolchain/check/testdata/impl/fail_extend_impl_type_as.carbon index f146c58f2eec..927eca36798c 100644 --- a/toolchain/check/testdata/impl/fail_extend_impl_type_as.carbon +++ b/toolchain/check/testdata/impl/fail_extend_impl_type_as.carbon @@ -99,25 +99,25 @@ class E { // CHECK:STDOUT: witness = () // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.154: %i32 as %I.ref { +// CHECK:STDOUT: impl @I.impl.154: %i32 as %I.ref { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.ca7: %D.ref as %I.ref; +// CHECK:STDOUT: impl @I.impl.ca7: %D.ref as %I.ref; // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.c98: %Self.ref as %I.ref { +// CHECK:STDOUT: impl @I.impl.c98: %Self.ref as %I.ref { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = @E.%I.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @C { -// CHECK:STDOUT: impl_decl @impl.154 [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl.154 [concrete] {} { // 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: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @impl.154 [concrete] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @I.impl.154 [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness.bf7] // 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] @@ -130,11 +130,11 @@ class E { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @D { -// CHECK:STDOUT: impl_decl @impl.ca7 [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl.ca7 [concrete] {} { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D.decl [concrete = constants.%D] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @impl.ca7 [concrete] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @I.impl.ca7 [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness.fa5] // 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] @@ -144,15 +144,15 @@ class E { // CHECK:STDOUT: .Self = constants.%D // CHECK:STDOUT: .D = // CHECK:STDOUT: .I = -// CHECK:STDOUT: extend @impl.ca7.%I.ref +// CHECK:STDOUT: extend @I.impl.ca7.%I.ref // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @E { -// CHECK:STDOUT: impl_decl @impl.c98 [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl.c98 [concrete] {} { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%E [concrete = constants.%E] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @impl.c98 [concrete] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @I.impl.c98 [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness.7f3] // 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] @@ -161,6 +161,6 @@ class E { // CHECK:STDOUT: !members: // CHECK:STDOUT: .Self = constants.%E // CHECK:STDOUT: .I = -// CHECK:STDOUT: extend @impl.c98.%I.ref +// CHECK:STDOUT: extend @I.impl.c98.%I.ref // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/impl/fail_extend_partially_defined_interface.carbon b/toolchain/check/testdata/impl/fail_extend_partially_defined_interface.carbon index f013d06af6bd..5612b3dc2ebe 100644 --- a/toolchain/check/testdata/impl/fail_extend_partially_defined_interface.carbon +++ b/toolchain/check/testdata/impl/fail_extend_partially_defined_interface.carbon @@ -31,7 +31,7 @@ interface I { // CHECK:STDOUT: %I.type: type = facet_type <@I> [concrete] // CHECK:STDOUT: %Self: %I.type = bind_symbolic_name Self, 0 [symbolic] // CHECK:STDOUT: %C: type = class_type @C, @C(%Self) [symbolic] -// CHECK:STDOUT: %I.impl_witness: = impl_witness @C.%I.impl_witness_table, @impl(%Self) [symbolic] +// CHECK:STDOUT: %I.impl_witness: = impl_witness @C.%I.impl_witness_table, @I.impl(%Self) [symbolic] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: } @@ -54,10 +54,10 @@ interface I { // CHECK:STDOUT: witness = () // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl(@I.%Self: %I.type) { +// CHECK:STDOUT: generic impl @I.impl(@I.%Self: %I.type) { // CHECK:STDOUT: %Self: %I.type = bind_symbolic_name Self, 0 [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %C: type = class_type @C, @C(%Self) [symbolic = %C (constants.%C)] -// CHECK:STDOUT: %I.impl_witness: = impl_witness @C.%I.impl_witness_table, @impl(%Self) [symbolic = %I.impl_witness (constants.%I.impl_witness)] +// CHECK:STDOUT: %I.impl_witness: = impl_witness @C.%I.impl_witness_table, @I.impl(%Self) [symbolic = %I.impl_witness (constants.%I.impl_witness)] // CHECK:STDOUT: // CHECK:STDOUT: impl: %Self.ref as %I.ref; // CHECK:STDOUT: } @@ -66,13 +66,13 @@ interface I { // CHECK:STDOUT: !definition: // CHECK:STDOUT: // CHECK:STDOUT: class { -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl [concrete] {} { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%C [symbolic = %C (constants.%C)] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @impl [concrete] -// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table, @impl(constants.%Self) [symbolic = @impl.%I.impl_witness (constants.%I.impl_witness)] -// CHECK:STDOUT: %.loc24: type = specific_constant @impl.%I.ref, @impl(constants.%Self) [concrete = constants.%I.type] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @I.impl [concrete] +// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table, @I.impl(constants.%Self) [symbolic = @I.impl.%I.impl_witness (constants.%I.impl_witness)] +// CHECK:STDOUT: %.loc24: type = specific_constant @I.impl.%I.ref, @I.impl(constants.%Self) [concrete = constants.%I.type] // 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 @@ -86,7 +86,7 @@ interface I { // CHECK:STDOUT: // CHECK:STDOUT: specific @C(constants.%Self) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl(constants.%Self) { +// CHECK:STDOUT: specific @I.impl(constants.%Self) { // CHECK:STDOUT: %Self => constants.%Self // CHECK:STDOUT: %C => constants.%C // CHECK:STDOUT: %I.impl_witness => constants.%I.impl_witness diff --git a/toolchain/check/testdata/impl/fail_extend_undefined_interface.carbon b/toolchain/check/testdata/impl/fail_extend_undefined_interface.carbon index 3f73e810d4d7..a1a231596f7e 100644 --- a/toolchain/check/testdata/impl/fail_extend_undefined_interface.carbon +++ b/toolchain/check/testdata/impl/fail_extend_undefined_interface.carbon @@ -63,14 +63,14 @@ fn F(c: C) { // CHECK:STDOUT: // CHECK:STDOUT: interface @I; // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %Self.ref as %I.ref; +// CHECK:STDOUT: impl @I.impl: %Self.ref as %I.ref; // CHECK:STDOUT: // CHECK:STDOUT: class @C { -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl [concrete] {} { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%C [concrete = constants.%C] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @impl [concrete] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @I.impl [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness] // 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] diff --git a/toolchain/check/testdata/impl/fail_impl_as_scope.carbon b/toolchain/check/testdata/impl/fail_impl_as_scope.carbon index 16c665008cc0..205c1072922f 100644 --- a/toolchain/check/testdata/impl/fail_impl_as_scope.carbon +++ b/toolchain/check/testdata/impl/fail_impl_as_scope.carbon @@ -128,7 +128,7 @@ class X { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %I.decl: type = interface_decl @I [concrete = constants.%I.type] {} {} // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [concrete = constants.%G] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl [concrete] {} { // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] {} {} @@ -142,7 +142,7 @@ class X { // CHECK:STDOUT: witness = () // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: as %I.ref { +// CHECK:STDOUT: impl @I.impl: as %I.ref { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = // CHECK:STDOUT: } @@ -199,7 +199,7 @@ class X { // CHECK:STDOUT: witness = () // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: as %J.ref { +// CHECK:STDOUT: impl @J.impl: as %J.ref { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = // CHECK:STDOUT: } @@ -211,7 +211,7 @@ class X { // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @J.impl [concrete] {} { // CHECK:STDOUT: %J.ref: type = name_ref J, file.%J.decl [concrete = constants.%J.type] // CHECK:STDOUT: } // CHECK:STDOUT: %G.ref: %G.type = name_ref G, file.%G.decl [concrete = constants.%G] @@ -234,9 +234,9 @@ class X { // CHECK:STDOUT: %Method.type.f12: type = fn_type @Method.1 [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, @impl.6b5(%Self.6e6) [symbolic] +// CHECK:STDOUT: %Zero.type.db4: type = fn_type @Zero.2, @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, @impl.6b5(%Self.6e6) [symbolic] +// CHECK:STDOUT: %Method.type.163: type = fn_type @Method.2, @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] @@ -255,7 +255,7 @@ class X { // CHECK:STDOUT: %Point.val: %Point = struct_value () [concrete] // CHECK:STDOUT: %.462: type = fn_type_with_self_type %Method.type.f12, %Z.facet [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.003: type = fn_type @Op.2, @impl.49c(%Point) [concrete] +// CHECK:STDOUT: %Op.type.003: type = fn_type @Op.2, @Destroy.impl(%Point) [concrete] // CHECK:STDOUT: %Op.d2d: %Op.type.003 = struct_value () [concrete] // CHECK:STDOUT: %ptr.536: type = ptr_type %Point [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.d2d, @Op.2(%Point) [concrete] @@ -300,7 +300,7 @@ class X { // CHECK:STDOUT: %self: @Method.1.%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 @impl.6b5 [concrete] {} { +// CHECK:STDOUT: impl_decl @Z.impl.6b5 [concrete] {} { // CHECK:STDOUT: %Z.ref: type = name_ref Z, file.%Z.decl [concrete = constants.%Z.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -312,17 +312,17 @@ class X { // CHECK:STDOUT: witness = (%Zero.decl, %Method.decl) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl.6b5(@Z.%Self: %Z.type) { +// 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, @impl.6b5(%Self) [symbolic = %Zero.type (constants.%Zero.type.db4)] -// CHECK:STDOUT: %Zero: @impl.6b5.%Zero.type (%Zero.type.db4) = struct_value () [symbolic = %Zero (constants.%Zero.8fb)] -// CHECK:STDOUT: %Method.type: type = fn_type @Method.2, @impl.6b5(%Self) [symbolic = %Method.type (constants.%Method.type.163)] -// CHECK:STDOUT: %Method: @impl.6b5.%Method.type (%Method.type.163) = struct_value () [symbolic = %Method (constants.%Method.84d)] +// CHECK:STDOUT: %Zero.type: type = fn_type @Zero.2, @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: @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: @impl.6b5.%Zero.type (%Zero.type.db4) = fn_decl @Zero.2 [symbolic = @impl.6b5.%Zero (constants.%Zero.8fb)] {} {} -// CHECK:STDOUT: %Method.decl: @impl.6b5.%Method.type (%Method.type.163) = fn_decl @Method.2 [symbolic = @impl.6b5.%Method (constants.%Method.84d)] { +// 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: } { @@ -342,7 +342,7 @@ class X { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.c94: %Self.ref as %Z.ref { +// 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: %self.patt: %pattern_type.35b = binding_pattern self [concrete] @@ -360,11 +360,11 @@ class X { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @Point { -// CHECK:STDOUT: impl_decl @impl.c94 [concrete] {} { +// CHECK:STDOUT: impl_decl @Z.impl.c94 [concrete] {} { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%Point [concrete = constants.%Point] // CHECK:STDOUT: %Z.ref: type = name_ref Z, file.%Z.decl [concrete = constants.%Z.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %Z.impl_witness_table = impl_witness_table (@impl.c94.%Zero.decl, @impl.c94.%Method.decl), @impl.c94 [concrete] +// CHECK:STDOUT: %Z.impl_witness_table = impl_witness_table (@Z.impl.c94.%Zero.decl, @Z.impl.c94.%Method.decl), @Z.impl.c94 [concrete] // CHECK:STDOUT: %Z.impl_witness: = impl_witness %Z.impl_witness_table [concrete = constants.%Z.impl_witness] // 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] @@ -457,7 +457,7 @@ class X { // CHECK:STDOUT: %pattern_type => constants.%pattern_type.a40 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.6b5(constants.%Self.6e6) { +// CHECK:STDOUT: specific @Z.impl.6b5(constants.%Self.6e6) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%Self.6e6 // CHECK:STDOUT: %Zero.type => constants.%Zero.type.db4 @@ -546,8 +546,8 @@ class X { // CHECK:STDOUT: witness = () // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.3b4: %Self.ref as %A.ref { -// CHECK:STDOUT: impl_decl @impl.4cc [concrete] {} { +// CHECK:STDOUT: impl @A.impl: %Self.ref as %A.ref { +// 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] {} {} @@ -559,17 +559,17 @@ class X { // CHECK:STDOUT: witness = @X.%A.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.4cc: as %C.ref { +// CHECK:STDOUT: impl @C.impl: as %C.ref { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @X { -// CHECK:STDOUT: impl_decl @impl.3b4 [concrete] {} { +// CHECK:STDOUT: impl_decl @A.impl [concrete] {} { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%X [concrete = constants.%X] // CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [concrete = constants.%A.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %A.impl_witness_table = impl_witness_table (@impl.3b4.%B.decl), @impl.3b4 [concrete] +// CHECK:STDOUT: %A.impl_witness_table = impl_witness_table (@A.impl.%B.decl), @A.impl [concrete] // CHECK:STDOUT: %A.impl_witness: = impl_witness %A.impl_witness_table [concrete = constants.%A.impl_witness] // 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] diff --git a/toolchain/check/testdata/impl/fail_impl_bad_assoc_const.carbon b/toolchain/check/testdata/impl/fail_impl_bad_assoc_const.carbon index 7ee81ffbddbf..4b06d8568489 100644 --- a/toolchain/check/testdata/impl/fail_impl_bad_assoc_const.carbon +++ b/toolchain/check/testdata/impl/fail_impl_bad_assoc_const.carbon @@ -39,12 +39,12 @@ impl () as I {} // CHECK:STDOUT: .I = %I.decl // CHECK:STDOUT: } // CHECK:STDOUT: %I.decl: type = interface_decl @I [concrete = constants.%I.type] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl [concrete] {} { // CHECK:STDOUT: %.loc24_7.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc24_7.2: type = converted %.loc24_7.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @impl [concrete] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @I.impl [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -64,7 +64,7 @@ impl () as I {} // CHECK:STDOUT: assoc_const T:! type; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %.loc24_7.2 as %I.ref { +// CHECK:STDOUT: impl @I.impl: %.loc24_7.2 as %I.ref { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = file.%I.impl_witness // 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 819f2196ad34..c330b953248d 100644 --- a/toolchain/check/testdata/impl/fail_impl_bad_assoc_fn.carbon +++ b/toolchain/check/testdata/impl/fail_impl_bad_assoc_fn.carbon @@ -338,7 +338,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %F.type.d3b58f.2: type = fn_type @F.19 [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, @impl.49c(%FDifferentReturnType) [concrete] +// CHECK:STDOUT: %Op.type.3d3: type = fn_type @Op.2, @Destroy.impl(%FDifferentReturnType) [concrete] // CHECK:STDOUT: %Op.ddd: %Op.type.3d3 = struct_value () [concrete] // CHECK:STDOUT: %ptr.954: type = ptr_type %FDifferentReturnType [concrete] // CHECK:STDOUT: %Op.specific_fn.b4b: = specific_function %Op.ddd, @Op.2(%FDifferentReturnType) [concrete] @@ -378,7 +378,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %F.type.f90165.2: type = fn_type @F.22 [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, @impl.49c(%array_type.a41) [concrete] +// CHECK:STDOUT: %Op.type.ba3: type = fn_type @Op.2, @Destroy.impl(%array_type.a41) [concrete] // CHECK:STDOUT: %Op.d25: %Op.type.ba3 = struct_value () [concrete] // CHECK:STDOUT: %Op.specific_fn.235: = specific_function %Op.d25, @Op.2(%array_type.a41) [concrete] // CHECK:STDOUT: %SelfNestedBadReturnType: type = class_type @SelfNestedBadReturnType [concrete] @@ -543,13 +543,13 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: witness = (%F.decl) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.0c9: %Self.ref as %I.ref { +// CHECK:STDOUT: impl @I.impl.0c9: %Self.ref as %I.ref { // CHECK:STDOUT: !members: // CHECK:STDOUT: .F = // CHECK:STDOUT: witness = @NoF.%I.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.b55: %Self.ref as %I.ref { +// 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: // CHECK:STDOUT: !members: @@ -557,7 +557,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: witness = @FNotFunction.%I.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.199: %Self.ref as %I.ref { +// CHECK:STDOUT: impl @I.impl.199: %Self.ref as %I.ref { // CHECK:STDOUT: %PossiblyF.ref: %PossiblyF.type = name_ref PossiblyF, file.%PossiblyF.decl [concrete = constants.%PossiblyF] // CHECK:STDOUT: %F: %PossiblyF.type = bind_alias F, file.%PossiblyF.decl [concrete = constants.%PossiblyF] // CHECK:STDOUT: @@ -567,7 +567,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: witness = @FAlias.%I.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.ddd: %Self.ref as %I.ref { +// 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: %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] @@ -587,7 +587,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: witness = @FExtraParam.%I.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.698: %Self.ref as %I.ref { +// 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: %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] @@ -603,7 +603,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: witness = @FExtraImplicitParam.%I.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.77b: %Self.ref as %I.ref { +// 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: %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] @@ -620,7 +620,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: witness = @FExtraReturnType.%I.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.5cf: %Self.ref as %J.ref { +// 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: %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] @@ -661,7 +661,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: witness = @FMissingParam.%J.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.bac: %Self.ref as %J.ref { +// 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: %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] @@ -702,7 +702,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: witness = @FMissingImplicitParam.%J.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.1a7: %Self.ref as %J.ref { +// 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: %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] @@ -745,7 +745,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: witness = @FMissingReturnType.%J.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.f2b: %Self.ref as %J.ref { +// 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: %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] @@ -791,7 +791,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: witness = @FDifferentParamType.%J.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.db4: %Self.ref as %J.ref { +// 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: %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] @@ -837,7 +837,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: witness = @FDifferentImplicitParamType.%J.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.fcc: %Self.ref as %J.ref { +// 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: %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] @@ -885,7 +885,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: witness = @FDifferentReturnType.%J.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.6a5: %Self.ref as %SelfNested.ref { +// 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: %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] @@ -929,7 +929,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: witness = @SelfNestedBadParam.%SelfNested.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.bfc: %Self.ref as %SelfNested.ref { +// 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: %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] @@ -974,11 +974,11 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @NoF { -// CHECK:STDOUT: impl_decl @impl.0c9 [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl.0c9 [concrete] {} { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%NoF [concrete = constants.%NoF] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @impl.0c9 [concrete] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @I.impl.0c9 [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness.901] // 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] @@ -990,11 +990,11 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @FNotFunction { -// CHECK:STDOUT: impl_decl @impl.b55 [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl.b55 [concrete] {} { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%FNotFunction [concrete = constants.%FNotFunction] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @impl.b55 [concrete] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @I.impl.b55 [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness.44e] // 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] @@ -1008,11 +1008,11 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: class @F.25; // CHECK:STDOUT: // CHECK:STDOUT: class @FAlias { -// CHECK:STDOUT: impl_decl @impl.199 [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl.199 [concrete] {} { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%FAlias [concrete = constants.%FAlias] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @impl.199 [concrete] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @I.impl.199 [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness.c80] // 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] @@ -1025,11 +1025,11 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @FExtraParam { -// CHECK:STDOUT: impl_decl @impl.ddd [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl.ddd [concrete] {} { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%FExtraParam [concrete = constants.%FExtraParam] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (@impl.ddd.%F.decl.loc69_18.2), @impl.ddd [concrete] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (@I.impl.ddd.%F.decl.loc69_18.2), @I.impl.ddd [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness.1f3] // 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] @@ -1041,11 +1041,11 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @FExtraImplicitParam { -// CHECK:STDOUT: impl_decl @impl.698 [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl.698 [concrete] {} { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%FExtraImplicitParam [concrete = constants.%FExtraImplicitParam] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (@impl.698.%F.decl.loc85_23.2), @impl.698 [concrete] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (@I.impl.698.%F.decl.loc85_23.2), @I.impl.698 [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness.a7b] // 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] @@ -1057,11 +1057,11 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @FExtraReturnType { -// CHECK:STDOUT: impl_decl @impl.77b [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl.77b [concrete] {} { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%FExtraReturnType [concrete = constants.%FExtraReturnType] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @impl.77b [concrete] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @I.impl.77b [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness.59a] // 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] @@ -1073,11 +1073,11 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @FMissingParam { -// CHECK:STDOUT: impl_decl @impl.5cf [concrete] {} { +// CHECK:STDOUT: impl_decl @J.impl.5cf [concrete] {} { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%FMissingParam [concrete = constants.%FMissingParam] // CHECK:STDOUT: %J.ref: type = name_ref J, file.%J.decl [concrete = constants.%J.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %J.impl_witness_table = impl_witness_table (@impl.5cf.%F.decl.loc117_31.2), @impl.5cf [concrete] +// CHECK:STDOUT: %J.impl_witness_table = impl_witness_table (@J.impl.5cf.%F.decl.loc117_31.2), @J.impl.5cf [concrete] // CHECK:STDOUT: %J.impl_witness: = impl_witness %J.impl_witness_table [concrete = constants.%J.impl_witness.4e9] // 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] @@ -1089,11 +1089,11 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @FMissingImplicitParam { -// CHECK:STDOUT: impl_decl @impl.bac [concrete] {} { +// CHECK:STDOUT: impl_decl @J.impl.bac [concrete] {} { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%FMissingImplicitParam [concrete = constants.%FMissingImplicitParam] // CHECK:STDOUT: %J.ref: type = name_ref J, file.%J.decl [concrete = constants.%J.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %J.impl_witness_table = impl_witness_table (@impl.bac.%F.decl.loc130_26.2), @impl.bac [concrete] +// CHECK:STDOUT: %J.impl_witness_table = impl_witness_table (@J.impl.bac.%F.decl.loc130_26.2), @J.impl.bac [concrete] // CHECK:STDOUT: %J.impl_witness: = impl_witness %J.impl_witness_table [concrete = constants.%J.impl_witness.841] // 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] @@ -1105,11 +1105,11 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @FMissingReturnType { -// CHECK:STDOUT: impl_decl @impl.1a7 [concrete] {} { +// CHECK:STDOUT: impl_decl @J.impl.1a7 [concrete] {} { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%FMissingReturnType [concrete = constants.%FMissingReturnType] // CHECK:STDOUT: %J.ref: type = name_ref J, file.%J.decl [concrete = constants.%J.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %J.impl_witness_table = impl_witness_table (@impl.1a7.%F.decl.loc152_30.2), @impl.1a7 [concrete] +// CHECK:STDOUT: %J.impl_witness_table = impl_witness_table (@J.impl.1a7.%F.decl.loc152_30.2), @J.impl.1a7 [concrete] // CHECK:STDOUT: %J.impl_witness: = impl_witness %J.impl_witness_table [concrete = constants.%J.impl_witness.e75] // 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] @@ -1121,11 +1121,11 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @FDifferentParamType { -// CHECK:STDOUT: impl_decl @impl.f2b [concrete] {} { +// CHECK:STDOUT: impl_decl @J.impl.f2b [concrete] {} { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%FDifferentParamType [concrete = constants.%FDifferentParamType] // CHECK:STDOUT: %J.ref: type = name_ref J, file.%J.decl [concrete = constants.%J.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %J.impl_witness_table = impl_witness_table (@impl.f2b.%F.decl.loc171_38.2), @impl.f2b [concrete] +// CHECK:STDOUT: %J.impl_witness_table = impl_witness_table (@J.impl.f2b.%F.decl.loc171_38.2), @J.impl.f2b [concrete] // CHECK:STDOUT: %J.impl_witness: = impl_witness %J.impl_witness_table [concrete = constants.%J.impl_witness.cbe] // 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] @@ -1137,11 +1137,11 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @FDifferentImplicitParamType { -// CHECK:STDOUT: impl_decl @impl.db4 [concrete] {} { +// CHECK:STDOUT: impl_decl @J.impl.db4 [concrete] {} { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%FDifferentImplicitParamType [concrete = constants.%FDifferentImplicitParamType] // CHECK:STDOUT: %J.ref: type = name_ref J, file.%J.decl [concrete = constants.%J.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %J.impl_witness_table = impl_witness_table (@impl.db4.%F.decl.loc184_38.2), @impl.db4 [concrete] +// CHECK:STDOUT: %J.impl_witness_table = impl_witness_table (@J.impl.db4.%F.decl.loc184_38.2), @J.impl.db4 [concrete] // CHECK:STDOUT: %J.impl_witness: = impl_witness %J.impl_witness_table [concrete = constants.%J.impl_witness.af2] // 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] @@ -1153,11 +1153,11 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @FDifferentReturnType { -// CHECK:STDOUT: impl_decl @impl.fcc [concrete] {} { +// CHECK:STDOUT: impl_decl @J.impl.fcc [concrete] {} { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%FDifferentReturnType [concrete = constants.%FDifferentReturnType] // CHECK:STDOUT: %J.ref: type = name_ref J, file.%J.decl [concrete = constants.%J.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %J.impl_witness_table = impl_witness_table (@impl.fcc.%F.decl.loc200_38.2), @impl.fcc [concrete] +// CHECK:STDOUT: %J.impl_witness_table = impl_witness_table (@J.impl.fcc.%F.decl.loc200_38.2), @J.impl.fcc [concrete] // CHECK:STDOUT: %J.impl_witness: = impl_witness %J.impl_witness_table [concrete = constants.%J.impl_witness.bc1] // 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] @@ -1169,11 +1169,11 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @SelfNestedBadParam { -// CHECK:STDOUT: impl_decl @impl.6a5 [concrete] {} { +// CHECK:STDOUT: impl_decl @SelfNested.impl.6a5 [concrete] {} { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%SelfNestedBadParam [concrete = constants.%SelfNestedBadParam] // CHECK:STDOUT: %SelfNested.ref: type = name_ref SelfNested, file.%SelfNested.decl [concrete = constants.%SelfNested.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %SelfNested.impl_witness_table = impl_witness_table (@impl.6a5.%F.decl.loc223_87.2), @impl.6a5 [concrete] +// CHECK:STDOUT: %SelfNested.impl_witness_table = impl_witness_table (@SelfNested.impl.6a5.%F.decl.loc223_87.2), @SelfNested.impl.6a5 [concrete] // CHECK:STDOUT: %SelfNested.impl_witness: = impl_witness %SelfNested.impl_witness_table [concrete = constants.%SelfNested.impl_witness.e31] // 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] @@ -1186,11 +1186,11 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @SelfNestedBadReturnType { -// CHECK:STDOUT: impl_decl @impl.bfc [concrete] {} { +// CHECK:STDOUT: impl_decl @SelfNested.impl.bfc [concrete] {} { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%SelfNestedBadReturnType [concrete = constants.%SelfNestedBadReturnType] // CHECK:STDOUT: %SelfNested.ref: type = name_ref SelfNested, file.%SelfNested.decl [concrete = constants.%SelfNested.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %SelfNested.impl_witness_table = impl_witness_table (@impl.bfc.%F.decl.loc239_112.2), @impl.bfc [concrete] +// CHECK:STDOUT: %SelfNested.impl_witness_table = impl_witness_table (@SelfNested.impl.bfc.%F.decl.loc239_112.2), @SelfNested.impl.bfc [concrete] // CHECK:STDOUT: %SelfNested.impl_witness: = impl_witness %SelfNested.impl_witness_table [concrete = constants.%SelfNested.impl_witness.d5e] // 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] @@ -1211,17 +1211,17 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: // CHECK:STDOUT: fn @F.2(%b.param: bool); // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.3() [thunk @impl.ddd.%F.decl.loc69_18.1] { +// CHECK:STDOUT: fn @F.3() [thunk @I.impl.ddd.%F.decl.loc69_18.1] { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %F.ref: %F.type.44ef8c.1 = name_ref F, @impl.ddd.%F.decl.loc69_18.1 [concrete = constants.%F.424e9e.1] +// 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: -// CHECK:STDOUT: fn @F.5() [thunk @impl.698.%F.decl.loc85_23.1] { +// CHECK:STDOUT: fn @F.5() [thunk @I.impl.698.%F.decl.loc85_23.1] { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %F.ref: %F.type.e1abdd.1 = name_ref F, @impl.698.%F.decl.loc85_23.1 [concrete = constants.%F.6ff574.1] +// 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: } @@ -1234,9 +1234,9 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: // CHECK:STDOUT: fn @F.8(%self.param: bool) -> bool; // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.9(%self.param: bool, %b.param: bool) -> bool [thunk @impl.5cf.%F.decl.loc117_31.1] { +// CHECK:STDOUT: fn @F.9(%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, @impl.5cf.%F.decl.loc117_31.1 [concrete = constants.%F.738f31.1] +// 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 // CHECK:STDOUT: %b.ref: bool = name_ref b, %b.param // CHECK:STDOUT: %return.ref: ref bool = name_ref , %return.param @@ -1246,9 +1246,9 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: // CHECK:STDOUT: fn @F.10(%b.param: bool) -> bool; // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.11(%self.param: bool, %b.param: bool) -> bool [thunk @impl.bac.%F.decl.loc130_26.1] { +// CHECK:STDOUT: fn @F.11(%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, @impl.bac.%F.decl.loc130_26.1 [concrete = constants.%F.01de92.1] +// 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 // CHECK:STDOUT: %b.ref: bool = name_ref b, %b.param // CHECK:STDOUT: %return.ref: ref bool = name_ref , %return.param @@ -1260,9 +1260,9 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: // CHECK:STDOUT: fn @F.12(%self.param: bool, %b.param: bool); // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.13(%self.param: bool, %b.param: bool) -> bool [thunk @impl.1a7.%F.decl.loc152_30.1] { +// CHECK:STDOUT: fn @F.13(%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, @impl.1a7.%F.decl.loc152_30.1 [concrete = constants.%F.c7d02d.1] +// 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 // CHECK:STDOUT: %b.ref: bool = name_ref b, %b.param // CHECK:STDOUT: %return.ref: ref bool = name_ref , %return.param @@ -1274,9 +1274,9 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: // CHECK:STDOUT: fn @F.14(%self.param: bool, %b.param: %FDifferentParamType) -> bool; // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.15(%self.param: bool, %b.param: bool) -> bool [thunk @impl.f2b.%F.decl.loc171_38.1] { +// CHECK:STDOUT: fn @F.15(%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, @impl.f2b.%F.decl.loc171_38.1 [concrete = constants.%F.04313a.1] +// 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 // CHECK:STDOUT: %b.ref: bool = name_ref b, %b.param // CHECK:STDOUT: %return.ref: ref bool = name_ref , %return.param @@ -1290,9 +1290,9 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: // CHECK:STDOUT: fn @F.16(%self.param: %FDifferentImplicitParamType, %b.param: bool) -> bool; // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.17(%self.param: bool, %b.param: bool) -> bool [thunk @impl.db4.%F.decl.loc184_38.1] { +// CHECK:STDOUT: fn @F.17(%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, @impl.db4.%F.decl.loc184_38.1 [concrete = constants.%F.886f70.1] +// 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 // CHECK:STDOUT: %b.ref: bool = name_ref b, %b.param // CHECK:STDOUT: %return.ref: ref bool = name_ref , %return.param @@ -1306,9 +1306,9 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: // CHECK:STDOUT: fn @F.18(%self.param: bool, %b.param: bool) -> %return.param: %FDifferentReturnType; // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.19(%self.param: bool, %b.param: bool) -> bool [thunk @impl.fcc.%F.decl.loc200_38.1] { +// CHECK:STDOUT: fn @F.19(%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, @impl.fcc.%F.decl.loc200_38.1 [concrete = constants.%F.be86c9.1] +// 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 // CHECK:STDOUT: %b.ref: bool = name_ref b, %b.param // CHECK:STDOUT: %return.ref: ref bool = name_ref , %return.param @@ -1339,9 +1339,9 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: // CHECK:STDOUT: fn @F.21(%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 @impl.6a5.%F.decl.loc223_87.1] { +// 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: !entry: -// CHECK:STDOUT: %F.ref: %F.type.f90165.1 = name_ref F, @impl.6a5.%F.decl.loc223_87.1 [concrete = constants.%F.fa8d04.1] +// 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 // CHECK:STDOUT: %return.ref: ref %array_type.a41 = name_ref , %return.param // CHECK:STDOUT: %.loc211_41: ref %array_type.a41 = splice_block %return {} @@ -1360,9 +1360,9 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: // CHECK:STDOUT: fn @F.23(%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 @impl.bfc.%F.decl.loc239_112.1] { +// 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: !entry: -// CHECK:STDOUT: %F.ref: %F.type.0e7d1d.1 = name_ref F, @impl.bfc.%F.decl.loc239_112.1 [concrete = constants.%F.0bc78a.1] +// 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 // CHECK:STDOUT: %return.ref: ref %array_type.126 = name_ref , %return.param // CHECK:STDOUT: %.loc239_112.1: ref %array_type.a41 = temporary_storage diff --git a/toolchain/check/testdata/impl/fail_impl_bad_type.carbon b/toolchain/check/testdata/impl/fail_impl_bad_type.carbon index f53d92fa9938..24b02d411f34 100644 --- a/toolchain/check/testdata/impl/fail_impl_bad_type.carbon +++ b/toolchain/check/testdata/impl/fail_impl_bad_type.carbon @@ -49,7 +49,7 @@ impl true as I {} // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %I.decl: type = interface_decl @I [concrete = constants.%I.type] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl [concrete] {} { // CHECK:STDOUT: %true: bool = bool_literal true [concrete = constants.%true] // CHECK:STDOUT: %.loc24: type = converted %true, [concrete = ] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] @@ -64,7 +64,7 @@ impl true as I {} // CHECK:STDOUT: witness = () // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: as %I.ref { +// CHECK:STDOUT: impl @I.impl: as %I.ref { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/impl/fail_redefinition.carbon b/toolchain/check/testdata/impl/fail_redefinition.carbon index bc81a4bddb53..2389378964e6 100644 --- a/toolchain/check/testdata/impl/fail_redefinition.carbon +++ b/toolchain/check/testdata/impl/fail_redefinition.carbon @@ -53,14 +53,14 @@ impl i32 as I {} // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %I.decl: type = interface_decl @I [concrete = constants.%I.type] {} {} -// CHECK:STDOUT: impl_decl @impl.a9ac64.1 [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl.a9ac64.1 [concrete] {} { // 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: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @impl.a9ac64.1 [concrete] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @I.impl.a9ac64.1 [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness] -// CHECK:STDOUT: impl_decl @impl.a9ac64.2 [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl.a9ac64.2 [concrete] {} { // 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: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] @@ -75,12 +75,12 @@ impl i32 as I {} // CHECK:STDOUT: witness = () // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.a9ac64.1: %i32 as %I.ref { +// CHECK:STDOUT: impl @I.impl.a9ac64.1: %i32 as %I.ref { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = file.%I.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.a9ac64.2: %i32 as %I.ref { +// CHECK:STDOUT: impl @I.impl.a9ac64.2: %i32 as %I.ref { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/impl/fail_self_type_mismatch.carbon b/toolchain/check/testdata/impl/fail_self_type_mismatch.carbon index f03ced53274f..274b299da6b2 100644 --- a/toolchain/check/testdata/impl/fail_self_type_mismatch.carbon +++ b/toolchain/check/testdata/impl/fail_self_type_mismatch.carbon @@ -120,20 +120,20 @@ impl i32 as I { // CHECK:STDOUT: %X.loc15_19.1: @C.%T.loc15_9.2 (%T) = bind_symbolic_name X, 1 [symbolic = %X.loc15_19.2 (constants.%X)] // CHECK:STDOUT: } // CHECK:STDOUT: %I.decl: type = interface_decl @I [concrete = constants.%I.type] {} {} -// CHECK:STDOUT: impl_decl @impl.049 [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl.049 [concrete] {} { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [concrete = bool] // CHECK:STDOUT: %.loc28_6.1: type = value_of_initializer %bool.make_type [concrete = bool] // CHECK:STDOUT: %.loc28_6.2: type = converted %bool.make_type, %.loc28_6.1 [concrete = bool] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table.loc28 = impl_witness_table (@impl.049.%F.decl), @impl.049 [concrete] +// CHECK:STDOUT: %I.impl_witness_table.loc28 = impl_witness_table (@I.impl.049.%F.decl), @I.impl.049 [concrete] // CHECK:STDOUT: %I.impl_witness.loc28: = impl_witness %I.impl_witness_table.loc28 [concrete = constants.%I.impl_witness.c21] -// CHECK:STDOUT: impl_decl @impl.a9a [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl.a9a [concrete] {} { // 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: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table.loc35 = impl_witness_table (@impl.a9a.%F.decl.loc43_18.2), @impl.a9a [concrete] +// CHECK:STDOUT: %I.impl_witness_table.loc35 = impl_witness_table (@I.impl.a9a.%F.decl.loc43_18.2), @I.impl.a9a [concrete] // CHECK:STDOUT: %I.impl_witness.loc35: = impl_witness %I.impl_witness_table.loc35 [concrete = constants.%I.impl_witness.863] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -160,7 +160,7 @@ impl i32 as I { // CHECK:STDOUT: witness = (%F.decl) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.049: %.loc28_6.2 as %I.ref { +// 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: %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] @@ -184,7 +184,7 @@ impl i32 as I { // CHECK:STDOUT: witness = file.%I.impl_witness.loc28 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.a9a: %i32 as %I.ref { +// 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: %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] @@ -241,9 +241,9 @@ impl i32 as I { // CHECK:STDOUT: // CHECK:STDOUT: fn @F.3(%c.param: %C.6fb); // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.4(%c.param: %C.d88) [thunk @impl.a9a.%F.decl.loc43_18.1] { +// CHECK:STDOUT: fn @F.4(%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, @impl.a9a.%F.decl.loc43_18.1 [concrete = constants.%F.9ec58f.1] +// 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 // CHECK:STDOUT: %.loc25: %C.6fb = converted %c.ref, [concrete = ] // CHECK:STDOUT: %F.call: init %empty_tuple.type = call %F.ref() diff --git a/toolchain/check/testdata/impl/fail_undefined_interface.carbon b/toolchain/check/testdata/impl/fail_undefined_interface.carbon index c4ce8aea435d..b8621fc82f60 100644 --- a/toolchain/check/testdata/impl/fail_undefined_interface.carbon +++ b/toolchain/check/testdata/impl/fail_undefined_interface.carbon @@ -87,7 +87,7 @@ impl C as J where .Self impls Incomplete and .T = (); // CHECK:STDOUT: .I = %I.decl // CHECK:STDOUT: } // CHECK:STDOUT: %I.decl: type = interface_decl @I [concrete = constants.%I.type] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl [concrete] {} { // CHECK:STDOUT: %.loc12_7.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc12_7.2: type = converted %.loc12_7.1, constants.%empty_struct_type [concrete = constants.%empty_struct_type] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] @@ -96,7 +96,7 @@ impl C as J where .Self impls Incomplete and .T = (); // CHECK:STDOUT: // CHECK:STDOUT: interface @I; // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %.loc12_7.2 as %I.ref { +// CHECK:STDOUT: impl @I.impl: %.loc12_7.2 as %I.ref { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = // CHECK:STDOUT: } @@ -117,7 +117,7 @@ impl C as J where .Self impls Incomplete and .T = (); // CHECK:STDOUT: } // CHECK:STDOUT: %J.decl: type = interface_decl @J [concrete = constants.%J.type] {} {} // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @J.impl [concrete] {} { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %J.ref: type = name_ref J, file.%J.decl [concrete = constants.%J.type] // CHECK:STDOUT: } @@ -125,7 +125,7 @@ impl C as J where .Self impls Incomplete and .T = (); // CHECK:STDOUT: // CHECK:STDOUT: interface @J; // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %C.ref as %J.ref { +// CHECK:STDOUT: impl @J.impl: %C.ref as %J.ref { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = // CHECK:STDOUT: } @@ -162,7 +162,7 @@ impl C as J where .Self impls Incomplete and .T = (); // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} // CHECK:STDOUT: %I.decl: type = interface_decl @I [concrete = constants.%I.type] {} {} // CHECK:STDOUT: %Incomplete.decl: type = interface_decl @Incomplete [concrete = constants.%Incomplete.type] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl [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] // CHECK:STDOUT: %.Self: %I.type = bind_symbolic_name .Self [symbolic_self = constants.%.Self] @@ -186,7 +186,7 @@ impl C as J where .Self impls Incomplete and .T = (); // CHECK:STDOUT: // CHECK:STDOUT: interface @Incomplete; // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %C.ref as %.loc15_13 { +// CHECK:STDOUT: impl @I.impl: %C.ref as %.loc15_13 { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = // CHECK:STDOUT: } @@ -229,7 +229,7 @@ impl C as J where .Self impls Incomplete and .T = (); // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} // CHECK:STDOUT: %J.decl: type = interface_decl @J [concrete = constants.%J.type] {} {} // CHECK:STDOUT: %Incomplete.decl: type = interface_decl @Incomplete [concrete = constants.%Incomplete.type] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @J.impl [concrete] {} { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %J.ref: type = name_ref J, file.%J.decl [concrete = constants.%J.type] // CHECK:STDOUT: %.Self: %J.type = bind_symbolic_name .Self [symbolic_self = constants.%.Self] @@ -269,7 +269,7 @@ impl C as J where .Self impls Incomplete and .T = (); // CHECK:STDOUT: assoc_const T:! type; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %C.ref as %.loc15_13; +// CHECK:STDOUT: impl @J.impl: %C.ref as %.loc15_13; // CHECK:STDOUT: // CHECK:STDOUT: class @C { // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete = constants.%empty_struct_type] diff --git a/toolchain/check/testdata/impl/forward_decls.carbon b/toolchain/check/testdata/impl/forward_decls.carbon index 7e7f59598c8f..eb7e05d3f08d 100644 --- a/toolchain/check/testdata/impl/forward_decls.carbon +++ b/toolchain/check/testdata/impl/forward_decls.carbon @@ -302,15 +302,15 @@ interface I { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %I.decl.loc3: type = interface_decl @I [concrete = constants.%I.type] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl [concrete] {} { // CHECK:STDOUT: %.loc4_7.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc4_7.2: type = converted %.loc4_7.1, constants.%empty_struct_type [concrete = constants.%empty_struct_type] // CHECK:STDOUT: %I.ref.loc4: type = name_ref I, file.%I.decl.loc3 [concrete = constants.%I.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @impl [concrete] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @I.impl [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness] // CHECK:STDOUT: %I.decl.loc6: type = interface_decl @I [concrete = constants.%I.type] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl [concrete] {} { // CHECK:STDOUT: %.loc7_7.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc7_7.2: type = converted %.loc7_7.1, constants.%empty_struct_type [concrete = constants.%empty_struct_type] // CHECK:STDOUT: %I.ref.loc7: type = name_ref I, file.%I.decl.loc3 [concrete = constants.%I.type] @@ -325,7 +325,7 @@ interface I { // CHECK:STDOUT: witness = () // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %.loc4_7.2 as %I.ref.loc4 { +// CHECK:STDOUT: impl @I.impl: %.loc4_7.2 as %I.ref.loc4 { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = file.%I.impl_witness // CHECK:STDOUT: } @@ -360,15 +360,15 @@ interface I { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %I.decl.loc3: type = interface_decl @I [concrete = constants.%I.type] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl [concrete] {} { // CHECK:STDOUT: %.loc4_7.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc4_7.2: type = converted %.loc4_7.1, constants.%empty_struct_type [concrete = constants.%empty_struct_type] // CHECK:STDOUT: %I.ref.loc4: type = name_ref I, file.%I.decl.loc3 [concrete = constants.%I.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (@impl.%G.decl), @impl [concrete] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (@I.impl.%G.decl), @I.impl [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness] // CHECK:STDOUT: %I.decl.loc6: type = interface_decl @I [concrete = constants.%I.type] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl [concrete] {} { // CHECK:STDOUT: %.loc9_7.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc9_7.2: type = converted %.loc9_7.1, constants.%empty_struct_type [concrete = constants.%empty_struct_type] // CHECK:STDOUT: %I.ref.loc9: type = name_ref I, file.%I.decl.loc3 [concrete = constants.%I.type] @@ -386,7 +386,7 @@ interface I { // CHECK:STDOUT: witness = (%G.decl) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %.loc4_7.2 as %I.ref.loc4 { +// 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: // CHECK:STDOUT: !members: @@ -434,7 +434,7 @@ interface I { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.BitAndWith: %BitAndWith.type.f2e = import_ref Core//prelude, BitAndWith, loaded [concrete = constants.%BitAndWith.generic] // CHECK:STDOUT: %Core.import_ref.012: %Op.type.1cc = import_ref Core//prelude, loc13_42, loaded [concrete = constants.%Op.ff4] -// CHECK:STDOUT: %BitAndWith.impl_witness_table = impl_witness_table (%Core.import_ref.012), @impl.865 [concrete] +// CHECK:STDOUT: %BitAndWith.impl_witness_table = impl_witness_table (%Core.import_ref.012), @BitAndWith.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -444,9 +444,9 @@ interface I { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %I.decl.loc3: type = interface_decl @I [concrete = constants.%I.type] {} {} -// CHECK:STDOUT: %.loc4_14.1: type = value_of_initializer @impl.8dc.%type.and.loc4 [concrete = constants.%I.type] -// CHECK:STDOUT: %.loc4_14.2: type = converted @impl.8dc.%type.and.loc4, %.loc4_14.1 [concrete = constants.%I.type] -// CHECK:STDOUT: impl_decl @impl.8dc [concrete] {} { +// CHECK:STDOUT: %.loc4_14.1: type = value_of_initializer @I.impl.%type.and.loc4 [concrete = constants.%I.type] +// CHECK:STDOUT: %.loc4_14.2: type = converted @I.impl.%type.and.loc4, %.loc4_14.1 [concrete = constants.%I.type] +// CHECK:STDOUT: impl_decl @I.impl [concrete] {} { // CHECK:STDOUT: %.loc4_7.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc4_7.2: type = converted %.loc4_7.1, constants.%empty_struct_type [concrete = constants.%empty_struct_type] // CHECK:STDOUT: %I.ref.loc4_12: type = name_ref I, file.%I.decl.loc3 [concrete = constants.%I.type] @@ -455,12 +455,12 @@ interface I { // CHECK:STDOUT: %bound_method.loc4: = bound_method %I.ref.loc4_12, %impl.elem0.loc4 [concrete = constants.%Op.bound] // CHECK:STDOUT: %type.and.loc4: init type = call %bound_method.loc4(%I.ref.loc4_12, %I.ref.loc4_16) [concrete = constants.%I.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @impl.8dc [concrete] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @I.impl [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness] // CHECK:STDOUT: %I.decl.loc6: type = interface_decl @I [concrete = constants.%I.type] {} {} -// CHECK:STDOUT: %.loc7_14.1: type = value_of_initializer @impl.8dc.%type.and.loc7 [concrete = constants.%I.type] -// CHECK:STDOUT: %.loc7_14.2: type = converted @impl.8dc.%type.and.loc7, %.loc7_14.1 [concrete = constants.%I.type] -// CHECK:STDOUT: impl_decl @impl.8dc [concrete] {} { +// CHECK:STDOUT: %.loc7_14.1: type = value_of_initializer @I.impl.%type.and.loc7 [concrete = constants.%I.type] +// CHECK:STDOUT: %.loc7_14.2: type = converted @I.impl.%type.and.loc7, %.loc7_14.1 [concrete = constants.%I.type] +// CHECK:STDOUT: impl_decl @I.impl [concrete] {} { // CHECK:STDOUT: %.loc7_7.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc7_7.2: type = converted %.loc7_7.1, constants.%empty_struct_type [concrete = constants.%empty_struct_type] // CHECK:STDOUT: %I.ref.loc7_12: type = name_ref I, file.%I.decl.loc3 [concrete = constants.%I.type] @@ -479,7 +479,7 @@ interface I { // CHECK:STDOUT: witness = () // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.8dc: %.loc4_7.2 as file.%.loc4_14.2 { +// CHECK:STDOUT: impl @I.impl: %.loc4_7.2 as file.%.loc4_14.2 { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = file.%I.impl_witness // CHECK:STDOUT: } @@ -516,7 +516,7 @@ interface I { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %I.decl: type = interface_decl @I [concrete = constants.%I.type] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl [concrete] {} { // CHECK:STDOUT: %.loc6_7.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc6_7.2: type = converted %.loc6_7.1, constants.%empty_struct_type [concrete = constants.%empty_struct_type] // CHECK:STDOUT: %I.ref.loc6: type = name_ref I, file.%I.decl [concrete = constants.%I.type] @@ -532,10 +532,10 @@ interface I { // CHECK:STDOUT: requirement_rewrite %impl.elem0.loc6, %.loc6_26.2 // CHECK:STDOUT: } // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant), @impl [concrete] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant), @I.impl [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness] // CHECK:STDOUT: %impl_witness_assoc_constant: type = impl_witness_assoc_constant constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl [concrete] {} { // CHECK:STDOUT: %.loc8_7.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc8_7.2: type = converted %.loc8_7.1, constants.%empty_struct_type [concrete = constants.%empty_struct_type] // CHECK:STDOUT: %I.ref.loc8: type = name_ref I, file.%I.decl [concrete = constants.%I.type] @@ -569,7 +569,7 @@ interface I { // CHECK:STDOUT: assoc_const T:! type; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %.loc6_7.2 as %.loc6_14 { +// CHECK:STDOUT: impl @I.impl: %.loc6_7.2 as %.loc6_14 { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = file.%I.impl_witness // CHECK:STDOUT: } @@ -618,7 +618,7 @@ interface I { // CHECK:STDOUT: %Core.import = import Core // 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: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl [concrete] {} { // CHECK:STDOUT: %C.ref.loc7: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %I.ref.loc7: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: %.Self.1: %I.type = bind_symbolic_name .Self [symbolic_self = constants.%.Self] @@ -633,7 +633,7 @@ interface I { // CHECK:STDOUT: requirement_rewrite %impl.elem0.loc7, %.loc7_25.2 // CHECK:STDOUT: } // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant), @impl [concrete] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant), @I.impl [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness] // CHECK:STDOUT: %impl_witness_assoc_constant: type = impl_witness_assoc_constant constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: name_binding_decl { @@ -650,7 +650,7 @@ interface I { // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc9_19: %empty_tuple.type = converted @__global_init.%.loc9, %empty_tuple [concrete = constants.%empty_tuple] // CHECK:STDOUT: %x: %empty_tuple.type = bind_name x, %.loc9_19 -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl [concrete] {} { // CHECK:STDOUT: %C.ref.loc11: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %I.ref.loc11: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: %.Self.2: %I.type = bind_symbolic_name .Self [symbolic_self = constants.%.Self] @@ -683,7 +683,7 @@ interface I { // CHECK:STDOUT: assoc_const T:! type; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %C.ref.loc7 as %.loc7_13 { +// CHECK:STDOUT: impl @I.impl: %C.ref.loc7 as %.loc7_13 { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = file.%I.impl_witness // CHECK:STDOUT: } @@ -749,7 +749,7 @@ interface I { // CHECK:STDOUT: %Core.import = import Core // 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: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl [concrete] {} { // CHECK:STDOUT: %C.ref.loc7: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %I.ref.loc7: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: %.Self.1: %I.type = bind_symbolic_name .Self [symbolic_self = constants.%.Self] @@ -764,7 +764,7 @@ interface I { // CHECK:STDOUT: requirement_rewrite %impl.elem0.loc7, %.loc7_25.2 // CHECK:STDOUT: } // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant), @impl [concrete] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant), @I.impl [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness] // CHECK:STDOUT: %impl_witness_assoc_constant: type = impl_witness_assoc_constant constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: name_binding_decl { @@ -783,7 +783,7 @@ interface I { // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc9_22: %empty_tuple.type = converted @__global_init.%.loc9, %empty_tuple [concrete = constants.%empty_tuple] // CHECK:STDOUT: %x: %empty_tuple.type = bind_name x, %.loc9_22 -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl [concrete] {} { // CHECK:STDOUT: %C.ref.loc11: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %I.ref.loc11: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: %.Self.2: %I.type = bind_symbolic_name .Self [symbolic_self = constants.%.Self] @@ -816,7 +816,7 @@ interface I { // CHECK:STDOUT: assoc_const T:! type; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %C.ref.loc7 as %.loc7_13 { +// CHECK:STDOUT: impl @I.impl: %C.ref.loc7 as %.loc7_13 { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = file.%I.impl_witness // CHECK:STDOUT: } @@ -874,11 +874,11 @@ interface I { // CHECK:STDOUT: %Core.import = import Core // 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: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl [concrete] {} { // CHECK:STDOUT: %C.ref.loc7: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %I.ref.loc7: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @impl [concrete] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @I.impl [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: = binding_pattern x [concrete] @@ -894,7 +894,7 @@ interface I { // CHECK:STDOUT: %impl.elem0: type = impl_witness_access constants.%I.impl_witness, element0 [concrete = ] // CHECK:STDOUT: } // CHECK:STDOUT: %x: = bind_name x, [concrete = ] -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl [concrete] {} { // CHECK:STDOUT: %C.ref.loc22: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %I.ref.loc22: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: } @@ -916,7 +916,7 @@ interface I { // CHECK:STDOUT: assoc_const T:! type; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %C.ref.loc7 as %I.ref.loc7 { +// CHECK:STDOUT: impl @I.impl: %C.ref.loc7 as %I.ref.loc7 { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = file.%I.impl_witness // CHECK:STDOUT: } @@ -1077,7 +1077,7 @@ interface I { // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl.loc6: type = class_decl @C [concrete = constants.%C] {} {} // CHECK:STDOUT: %D.decl: type = class_decl @D [concrete = constants.%D] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl [concrete] {} { // CHECK:STDOUT: %D.ref.loc8: type = name_ref D, file.%D.decl [concrete = constants.%D] // CHECK:STDOUT: %I.ref.loc8: %I.type.dac = name_ref I, file.%I.decl [concrete = constants.%I.generic] // CHECK:STDOUT: %C.ref.loc8_13: type = name_ref C, file.%C.decl.loc6 [concrete = constants.%C] @@ -1094,11 +1094,11 @@ interface I { // CHECK:STDOUT: requirement_rewrite %impl.elem0.loc8, %C.ref.loc8_27 // CHECK:STDOUT: } // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant), @impl [concrete] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant), @I.impl [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness] // CHECK:STDOUT: %impl_witness_assoc_constant: type = impl_witness_assoc_constant constants.%C [concrete = constants.%C] // CHECK:STDOUT: %C.decl.loc10: type = class_decl @C [concrete = constants.%C] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl [concrete] {} { // CHECK:STDOUT: %D.ref.loc11: type = name_ref D, file.%D.decl [concrete = constants.%D] // CHECK:STDOUT: %I.ref.loc11: %I.type.dac = name_ref I, file.%I.decl [concrete = constants.%I.generic] // CHECK:STDOUT: %C.ref.loc11_13: type = name_ref C, file.%C.decl.loc6 [concrete = constants.%C] @@ -1143,7 +1143,7 @@ interface I { // CHECK:STDOUT: assoc_const T:! type; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %D.ref.loc8 as %.loc8_16 { +// CHECK:STDOUT: impl @I.impl: %D.ref.loc8 as %.loc8_16 { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = file.%I.impl_witness // CHECK:STDOUT: } @@ -1223,11 +1223,11 @@ interface I { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %I.decl.loc3: type = interface_decl @I [concrete = constants.%I.type] {} {} // CHECK:STDOUT: %D.decl: type = class_decl @D [concrete = constants.%D] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl [concrete] {} { // CHECK:STDOUT: %D.ref.loc5: type = name_ref D, file.%D.decl [concrete = constants.%D] // CHECK:STDOUT: %I.ref.loc5: type = name_ref I, file.%I.decl.loc3 [concrete = constants.%I.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @impl [concrete] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @I.impl [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness] // CHECK:STDOUT: %C.decl.loc6: %C.type = class_decl @C [concrete = constants.%C.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.2b5 = symbolic_binding_pattern T, 0 [concrete] @@ -1250,7 +1250,7 @@ interface I { // CHECK:STDOUT: %x.loc8: %C.8b1 = bind_name x, %x.param.loc8 // CHECK:STDOUT: } // CHECK:STDOUT: %I.decl.loc10: type = interface_decl @I [concrete = constants.%I.type] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl [concrete] {} { // CHECK:STDOUT: %D.ref.loc11: type = name_ref D, file.%D.decl [concrete = constants.%D] // CHECK:STDOUT: %I.ref.loc11: type = name_ref I, file.%I.decl.loc3 [concrete = constants.%I.type] // CHECK:STDOUT: } @@ -1284,7 +1284,7 @@ interface I { // CHECK:STDOUT: witness = () // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %D.ref.loc5 as %I.ref.loc5 { +// CHECK:STDOUT: impl @I.impl: %D.ref.loc5 as %I.ref.loc5 { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = file.%I.impl_witness // CHECK:STDOUT: } @@ -1357,7 +1357,7 @@ interface I { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.BitAndWith: %BitAndWith.type.f2e = import_ref Core//prelude, BitAndWith, loaded [concrete = constants.%BitAndWith.generic] // CHECK:STDOUT: %Core.import_ref.012: %Op.type.1cc = import_ref Core//prelude, loc13_42, loaded [concrete = constants.%Op.ff4] -// CHECK:STDOUT: %BitAndWith.impl_witness_table = impl_witness_table (%Core.import_ref.012), @impl.865 [concrete] +// CHECK:STDOUT: %BitAndWith.impl_witness_table = impl_witness_table (%Core.import_ref.012), @BitAndWith.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -1369,9 +1369,9 @@ interface I { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %I.decl.loc3: type = interface_decl @I [concrete = constants.%I.type] {} {} // CHECK:STDOUT: %J.decl.loc4: type = interface_decl @J [concrete = constants.%J.type] {} {} -// CHECK:STDOUT: %.loc10_14.1: type = value_of_initializer @impl.be3.%type.and [concrete = constants.%facet_type] -// CHECK:STDOUT: %.loc10_14.2: type = converted @impl.be3.%type.and, %.loc10_14.1 [concrete = constants.%facet_type] -// CHECK:STDOUT: impl_decl @impl.be3 [concrete] {} { +// CHECK:STDOUT: %.loc10_14.1: type = value_of_initializer @impl.%type.and [concrete = constants.%facet_type] +// CHECK:STDOUT: %.loc10_14.2: type = converted @impl.%type.and, %.loc10_14.1 [concrete = constants.%facet_type] +// CHECK:STDOUT: impl_decl @impl [concrete] {} { // CHECK:STDOUT: %.loc10_7.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc10_7.2: type = converted %.loc10_7.1, constants.%empty_struct_type [concrete = constants.%empty_struct_type] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl.loc3 [concrete = constants.%I.type] @@ -1400,7 +1400,7 @@ interface I { // CHECK:STDOUT: witness = () // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.be3: %.loc10_7.2 as file.%.loc10_14.2; +// CHECK:STDOUT: impl @impl: %.loc10_7.2 as file.%.loc10_14.2; // CHECK:STDOUT: // CHECK:STDOUT: --- fail_never_assigned_associated_const.carbon // CHECK:STDOUT: @@ -1439,7 +1439,7 @@ interface I { // CHECK:STDOUT: %Core.import = import Core // 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: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl [concrete] {} { // CHECK:STDOUT: %C.ref.loc9: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %I.ref.loc9: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: %.Self.1: %I.type = bind_symbolic_name .Self [symbolic_self = constants.%.Self] @@ -1454,10 +1454,10 @@ interface I { // CHECK:STDOUT: requirement_rewrite %impl.elem0.loc9, %.loc9_25.2 // CHECK:STDOUT: } // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant, ), @impl [concrete] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant, ), @I.impl [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness] // CHECK:STDOUT: %impl_witness_assoc_constant: type = impl_witness_assoc_constant constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl [concrete] {} { // CHECK:STDOUT: %C.ref.loc18: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %I.ref.loc18: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: %.Self.2: %I.type = bind_symbolic_name .Self [symbolic_self = constants.%.Self] @@ -1498,7 +1498,7 @@ interface I { // CHECK:STDOUT: assoc_const U:! type; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %C.ref.loc9 as %.loc9_13 { +// CHECK:STDOUT: impl @I.impl: %C.ref.loc9 as %.loc9_13 { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = file.%I.impl_witness // CHECK:STDOUT: } @@ -1589,11 +1589,11 @@ interface I { // CHECK:STDOUT: %u.loc7: @G.%U.as_type.loc7_16.2 (%U.as_type) = bind_name u, %u.param.loc7 // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl.loc9: type = class_decl @C [concrete = constants.%C] {} {} -// CHECK:STDOUT: impl_decl @impl.10e [concrete] {} { +// CHECK:STDOUT: impl_decl @X.impl [concrete] {} { // CHECK:STDOUT: %C.ref.loc12: type = name_ref C, file.%C.decl.loc9 [concrete = constants.%C] // CHECK:STDOUT: %X.ref.loc12: type = name_ref X, file.%X.decl.loc3 [concrete = constants.%X.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %X.impl_witness_table = impl_witness_table (), @impl.10e [concrete] +// CHECK:STDOUT: %X.impl_witness_table = impl_witness_table (), @X.impl [concrete] // CHECK:STDOUT: %X.impl_witness: = impl_witness %X.impl_witness_table [concrete = constants.%X.impl_witness] // CHECK:STDOUT: %Y.decl.loc14: type = interface_decl @Y [concrete = constants.%Y.type] {} {} // CHECK:STDOUT: %X.decl.loc16: type = interface_decl @X [concrete = constants.%X.type] {} {} @@ -1628,17 +1628,17 @@ interface I { // CHECK:STDOUT: } // CHECK:STDOUT: %u.loc35: @G.%U.as_type.loc7_16.2 (%U.as_type) = bind_name u, %u.param.loc35 // CHECK:STDOUT: } -// CHECK:STDOUT: impl_decl @impl.a85 [concrete] {} { +// CHECK:STDOUT: impl_decl @Y.impl [concrete] {} { // CHECK:STDOUT: %C.ref.loc36: type = name_ref C, file.%C.decl.loc9 [concrete = constants.%C] // CHECK:STDOUT: %Y.ref.loc36: type = name_ref Y, file.%Y.decl.loc14 [concrete = constants.%Y.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %Y.impl_witness_table = impl_witness_table (), @impl.a85 [concrete] +// CHECK:STDOUT: %Y.impl_witness_table = impl_witness_table (), @Y.impl [concrete] // CHECK:STDOUT: %Y.impl_witness: = impl_witness %Y.impl_witness_table [concrete = constants.%Y.impl_witness] -// CHECK:STDOUT: impl_decl @impl.10e [concrete] {} { +// CHECK:STDOUT: impl_decl @X.impl [concrete] {} { // CHECK:STDOUT: %C.ref.loc37: type = name_ref C, file.%C.decl.loc9 [concrete = constants.%C] // CHECK:STDOUT: %X.ref.loc37: type = name_ref X, file.%X.decl.loc3 [concrete = constants.%X.type] // CHECK:STDOUT: } -// CHECK:STDOUT: impl_decl @impl.a85 [concrete] {} { +// CHECK:STDOUT: impl_decl @Y.impl [concrete] {} { // CHECK:STDOUT: %C.ref.loc38: type = name_ref C, file.%C.decl.loc9 [concrete = constants.%C] // CHECK:STDOUT: %Y.ref.loc38: type = name_ref Y, file.%Y.decl.loc14 [concrete = constants.%Y.type] // CHECK:STDOUT: } @@ -1660,12 +1660,12 @@ interface I { // CHECK:STDOUT: witness = () // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.10e: %C.ref.loc12 as %X.ref.loc12 { +// CHECK:STDOUT: impl @X.impl: %C.ref.loc12 as %X.ref.loc12 { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = file.%X.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.a85: %C.ref.loc36 as %Y.ref.loc36 { +// CHECK:STDOUT: impl @Y.impl: %C.ref.loc36 as %Y.ref.loc36 { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = file.%Y.impl_witness // CHECK:STDOUT: } @@ -1760,7 +1760,7 @@ interface I { // CHECK:STDOUT: %C: type = class_type @C, @C(%Self) [symbolic] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] -// CHECK:STDOUT: %I.impl_witness: = impl_witness @F.%I.impl_witness_table, @impl(%Self) [symbolic] +// CHECK:STDOUT: %I.impl_witness: = impl_witness @F.%I.impl_witness_table, @I.impl(%Self) [symbolic] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -1791,10 +1791,10 @@ interface I { // CHECK:STDOUT: witness = (%F.decl) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl(@I.%Self: %I.type) { +// CHECK:STDOUT: generic impl @I.impl(@I.%Self: %I.type) { // CHECK:STDOUT: %Self: %I.type = bind_symbolic_name Self, 0 [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %C: type = class_type @C, @C(%Self) [symbolic = %C (constants.%C)] -// CHECK:STDOUT: %I.impl_witness: = impl_witness @F.%I.impl_witness_table, @impl(%Self) [symbolic = %I.impl_witness (constants.%I.impl_witness)] +// CHECK:STDOUT: %I.impl_witness: = impl_witness @F.%I.impl_witness_table, @I.impl(%Self) [symbolic = %I.impl_witness (constants.%I.impl_witness)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: @@ -1826,13 +1826,13 @@ interface I { // CHECK:STDOUT: fn() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %C.decl: type = class_decl @C [symbolic = @F.%C (constants.%C)] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl [concrete] {} { // CHECK:STDOUT: %C.ref.loc11: type = name_ref C, @F.%C.decl [symbolic = %C (constants.%C)] // CHECK:STDOUT: %I.ref.loc11: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @impl [concrete] -// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table, @impl(constants.%Self) [symbolic = @impl.%I.impl_witness (constants.%I.impl_witness)] -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @I.impl [concrete] +// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table, @I.impl(constants.%Self) [symbolic = @I.impl.%I.impl_witness (constants.%I.impl_witness)] +// CHECK:STDOUT: impl_decl @I.impl [concrete] {} { // CHECK:STDOUT: %C.ref.loc20: type = name_ref C, @F.%C.decl [symbolic = %C (constants.%C)] // CHECK:STDOUT: %I.ref.loc20: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: } @@ -1844,7 +1844,7 @@ interface I { // CHECK:STDOUT: // CHECK:STDOUT: specific @C(constants.%Self) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl(constants.%Self) { +// CHECK:STDOUT: specific @I.impl(constants.%Self) { // CHECK:STDOUT: %Self => constants.%Self // CHECK:STDOUT: %C => constants.%C // CHECK:STDOUT: %I.impl_witness => constants.%I.impl_witness @@ -1870,7 +1870,7 @@ interface I { // CHECK:STDOUT: %impl.elem0: type = impl_witness_access %I.lookup_impl_witness, element0 [symbolic_self] // CHECK:STDOUT: %I_where.type: type = facet_type <@I where %impl.elem0 = %C> [symbolic] // CHECK:STDOUT: %require_complete: = require_complete_type %I_where.type [symbolic] -// CHECK:STDOUT: %I.impl_witness: = impl_witness @F.%I.impl_witness_table, @impl(%Self) [symbolic] +// CHECK:STDOUT: %I.impl_witness: = impl_witness @F.%I.impl_witness_table, @I.impl(%Self) [symbolic] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -1909,12 +1909,12 @@ interface I { // CHECK:STDOUT: assoc_const U:! type; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl(@I.%Self: %I.type) { +// CHECK:STDOUT: generic impl @I.impl(@I.%Self: %I.type) { // CHECK:STDOUT: %Self: %I.type = bind_symbolic_name Self, 0 [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %C: type = class_type @C, @C(%Self) [symbolic = %C (constants.%C)] // CHECK:STDOUT: %I_where.type: type = facet_type <@I where constants.%impl.elem0 = %C> [symbolic = %I_where.type (constants.%I_where.type)] // CHECK:STDOUT: %require_complete: = require_complete_type %I_where.type [symbolic = %require_complete (constants.%require_complete)] -// CHECK:STDOUT: %I.impl_witness: = impl_witness @F.%I.impl_witness_table, @impl(%Self) [symbolic = %I.impl_witness (constants.%I.impl_witness)] +// CHECK:STDOUT: %I.impl_witness: = impl_witness @F.%I.impl_witness_table, @I.impl(%Self) [symbolic = %I.impl_witness (constants.%I.impl_witness)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: @@ -1946,7 +1946,7 @@ interface I { // CHECK:STDOUT: fn() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %C.decl: type = class_decl @C [symbolic = @F.%C (constants.%C)] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl [concrete] {} { // CHECK:STDOUT: %C.ref.loc12_10: type = name_ref C, @F.%C.decl [symbolic = %C (constants.%C)] // CHECK:STDOUT: %I.ref.loc12: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: %.Self.1: %I.type = bind_symbolic_name .Self [symbolic_self = constants.%.Self] @@ -1960,10 +1960,10 @@ interface I { // CHECK:STDOUT: requirement_rewrite %impl.elem0.loc12, %C.ref.loc12_28 // CHECK:STDOUT: } // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant, ), @impl [concrete] -// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table, @impl(constants.%Self) [symbolic = @impl.%I.impl_witness (constants.%I.impl_witness)] -// CHECK:STDOUT: %impl_witness_assoc_constant: type = impl_witness_assoc_constant constants.%C [symbolic = @impl.%C (constants.%C)] -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant, ), @I.impl [concrete] +// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table, @I.impl(constants.%Self) [symbolic = @I.impl.%I.impl_witness (constants.%I.impl_witness)] +// CHECK:STDOUT: %impl_witness_assoc_constant: type = impl_witness_assoc_constant constants.%C [symbolic = @I.impl.%C (constants.%C)] +// CHECK:STDOUT: impl_decl @I.impl [concrete] {} { // CHECK:STDOUT: %C.ref.loc21_10: type = name_ref C, @F.%C.decl [symbolic = %C (constants.%C)] // CHECK:STDOUT: %I.ref.loc21: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: %.Self.2: %I.type = bind_symbolic_name .Self [symbolic_self = constants.%.Self] @@ -1989,7 +1989,7 @@ interface I { // CHECK:STDOUT: // CHECK:STDOUT: specific @U(constants.%I.facet) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl(constants.%Self) { +// CHECK:STDOUT: specific @I.impl(constants.%Self) { // CHECK:STDOUT: %Self => constants.%Self // CHECK:STDOUT: %C => constants.%C // CHECK:STDOUT: %I_where.type => constants.%I_where.type diff --git a/toolchain/check/testdata/impl/generic_redeclaration.carbon b/toolchain/check/testdata/impl/generic_redeclaration.carbon index fb563731b05c..0585666d7171 100644 --- a/toolchain/check/testdata/impl/generic_redeclaration.carbon +++ b/toolchain/check/testdata/impl/generic_redeclaration.carbon @@ -134,19 +134,19 @@ impl forall [T:! type] T as I { // CHECK:STDOUT: %T.826: %I.type = bind_symbolic_name T, 0 [symbolic] // CHECK:STDOUT: %pattern_type.2b5: type = pattern_type %I.type [concrete] // CHECK:STDOUT: %T.as_type.b70: type = facet_access_type %T.826 [symbolic] -// CHECK:STDOUT: %Interface.impl_witness.a14: = impl_witness file.%Interface.impl_witness_table.loc12, @impl.c3d(%T.826) [symbolic] +// CHECK:STDOUT: %Interface.impl_witness.a14: = impl_witness file.%Interface.impl_witness_table.loc12, @Interface.impl.c3d(%T.826) [symbolic] // CHECK:STDOUT: %T.ccd: %J.type = bind_symbolic_name T, 0 [symbolic] // CHECK:STDOUT: %pattern_type.28e: type = pattern_type %J.type [concrete] // CHECK:STDOUT: %T.as_type.3df: type = facet_access_type %T.ccd [symbolic] -// CHECK:STDOUT: %Interface.impl_witness.608: = impl_witness file.%Interface.impl_witness_table.loc13, @impl.793(%T.ccd) [symbolic] +// CHECK:STDOUT: %Interface.impl_witness.608: = impl_witness file.%Interface.impl_witness_table.loc13, @Interface.impl.793(%T.ccd) [symbolic] // CHECK:STDOUT: %T.09f: %K.type = bind_symbolic_name T, 0 [symbolic] // CHECK:STDOUT: %pattern_type.4a6: type = pattern_type %K.type [concrete] // CHECK:STDOUT: %T.as_type.037: type = facet_access_type %T.09f [symbolic] -// CHECK:STDOUT: %Interface.impl_witness.b9e: = impl_witness file.%Interface.impl_witness_table.loc14, @impl.c93(%T.09f) [symbolic] +// CHECK:STDOUT: %Interface.impl_witness.b9e: = impl_witness file.%Interface.impl_witness_table.loc14, @Interface.impl.c93(%T.09f) [symbolic] // CHECK:STDOUT: %T.1d2: %L.type = bind_symbolic_name T, 0 [symbolic] // CHECK:STDOUT: %pattern_type.86b: type = pattern_type %L.type [concrete] // CHECK:STDOUT: %T.as_type.0ed: type = facet_access_type %T.1d2 [symbolic] -// CHECK:STDOUT: %Interface.impl_witness.e9d: = impl_witness file.%Interface.impl_witness_table.loc15, @impl.9e6(%T.1d2) [symbolic] +// CHECK:STDOUT: %Interface.impl_witness.e9d: = impl_witness file.%Interface.impl_witness_table.loc15, @Interface.impl.9e6(%T.1d2) [symbolic] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -171,7 +171,7 @@ impl forall [T:! type] T as I { // CHECK:STDOUT: %J.decl: type = interface_decl @J [concrete = constants.%J.type] {} {} // CHECK:STDOUT: %K.decl: type = interface_decl @K [concrete = constants.%K.type] {} {} // CHECK:STDOUT: %L.decl: type = interface_decl @L [concrete = constants.%L.type] {} {} -// CHECK:STDOUT: impl_decl @impl.c3d [concrete] { +// CHECK:STDOUT: impl_decl @Interface.impl.c3d [concrete] { // CHECK:STDOUT: %T.patt: %pattern_type.2b5 = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc12: %I.type = name_ref T, %T.loc12_14.1 [symbolic = %T.loc12_14.2 (constants.%T.826)] @@ -181,9 +181,9 @@ impl forall [T:! type] T as I { // CHECK:STDOUT: %I.ref.loc12: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: %T.loc12_14.1: %I.type = bind_symbolic_name T, 0 [symbolic = %T.loc12_14.2 (constants.%T.826)] // CHECK:STDOUT: } -// CHECK:STDOUT: %Interface.impl_witness_table.loc12 = impl_witness_table (), @impl.c3d [concrete] -// CHECK:STDOUT: %Interface.impl_witness.loc12: = impl_witness %Interface.impl_witness_table.loc12, @impl.c3d(constants.%T.826) [symbolic = @impl.c3d.%Interface.impl_witness (constants.%Interface.impl_witness.a14)] -// CHECK:STDOUT: impl_decl @impl.793 [concrete] { +// CHECK:STDOUT: %Interface.impl_witness_table.loc12 = impl_witness_table (), @Interface.impl.c3d [concrete] +// CHECK:STDOUT: %Interface.impl_witness.loc12: = impl_witness %Interface.impl_witness_table.loc12, @Interface.impl.c3d(constants.%T.826) [symbolic = @Interface.impl.c3d.%Interface.impl_witness (constants.%Interface.impl_witness.a14)] +// CHECK:STDOUT: impl_decl @Interface.impl.793 [concrete] { // CHECK:STDOUT: %T.patt: %pattern_type.28e = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc13: %J.type = name_ref T, %T.loc13_14.1 [symbolic = %T.loc13_14.2 (constants.%T.ccd)] @@ -193,9 +193,9 @@ impl forall [T:! type] T as I { // CHECK:STDOUT: %J.ref.loc13: type = name_ref J, file.%J.decl [concrete = constants.%J.type] // CHECK:STDOUT: %T.loc13_14.1: %J.type = bind_symbolic_name T, 0 [symbolic = %T.loc13_14.2 (constants.%T.ccd)] // CHECK:STDOUT: } -// CHECK:STDOUT: %Interface.impl_witness_table.loc13 = impl_witness_table (), @impl.793 [concrete] -// CHECK:STDOUT: %Interface.impl_witness.loc13: = impl_witness %Interface.impl_witness_table.loc13, @impl.793(constants.%T.ccd) [symbolic = @impl.793.%Interface.impl_witness (constants.%Interface.impl_witness.608)] -// CHECK:STDOUT: impl_decl @impl.c93 [concrete] { +// CHECK:STDOUT: %Interface.impl_witness_table.loc13 = impl_witness_table (), @Interface.impl.793 [concrete] +// CHECK:STDOUT: %Interface.impl_witness.loc13: = impl_witness %Interface.impl_witness_table.loc13, @Interface.impl.793(constants.%T.ccd) [symbolic = @Interface.impl.793.%Interface.impl_witness (constants.%Interface.impl_witness.608)] +// CHECK:STDOUT: impl_decl @Interface.impl.c93 [concrete] { // CHECK:STDOUT: %T.patt: %pattern_type.4a6 = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc14: %K.type = name_ref T, %T.loc14_14.1 [symbolic = %T.loc14_14.2 (constants.%T.09f)] @@ -205,9 +205,9 @@ impl forall [T:! type] T as I { // CHECK:STDOUT: %K.ref.loc14: type = name_ref K, file.%K.decl [concrete = constants.%K.type] // CHECK:STDOUT: %T.loc14_14.1: %K.type = bind_symbolic_name T, 0 [symbolic = %T.loc14_14.2 (constants.%T.09f)] // CHECK:STDOUT: } -// CHECK:STDOUT: %Interface.impl_witness_table.loc14 = impl_witness_table (), @impl.c93 [concrete] -// CHECK:STDOUT: %Interface.impl_witness.loc14: = impl_witness %Interface.impl_witness_table.loc14, @impl.c93(constants.%T.09f) [symbolic = @impl.c93.%Interface.impl_witness (constants.%Interface.impl_witness.b9e)] -// CHECK:STDOUT: impl_decl @impl.9e6 [concrete] { +// CHECK:STDOUT: %Interface.impl_witness_table.loc14 = impl_witness_table (), @Interface.impl.c93 [concrete] +// CHECK:STDOUT: %Interface.impl_witness.loc14: = impl_witness %Interface.impl_witness_table.loc14, @Interface.impl.c93(constants.%T.09f) [symbolic = @Interface.impl.c93.%Interface.impl_witness (constants.%Interface.impl_witness.b9e)] +// CHECK:STDOUT: impl_decl @Interface.impl.9e6 [concrete] { // CHECK:STDOUT: %T.patt: %pattern_type.86b = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc15: %L.type = name_ref T, %T.loc15_14.1 [symbolic = %T.loc15_14.2 (constants.%T.1d2)] @@ -217,9 +217,9 @@ impl forall [T:! type] T as I { // CHECK:STDOUT: %L.ref.loc15: type = name_ref L, file.%L.decl [concrete = constants.%L.type] // CHECK:STDOUT: %T.loc15_14.1: %L.type = bind_symbolic_name T, 0 [symbolic = %T.loc15_14.2 (constants.%T.1d2)] // CHECK:STDOUT: } -// CHECK:STDOUT: %Interface.impl_witness_table.loc15 = impl_witness_table (), @impl.9e6 [concrete] -// CHECK:STDOUT: %Interface.impl_witness.loc15: = impl_witness %Interface.impl_witness_table.loc15, @impl.9e6(constants.%T.1d2) [symbolic = @impl.9e6.%Interface.impl_witness (constants.%Interface.impl_witness.e9d)] -// CHECK:STDOUT: impl_decl @impl.c3d [concrete] { +// CHECK:STDOUT: %Interface.impl_witness_table.loc15 = impl_witness_table (), @Interface.impl.9e6 [concrete] +// CHECK:STDOUT: %Interface.impl_witness.loc15: = impl_witness %Interface.impl_witness_table.loc15, @Interface.impl.9e6(constants.%T.1d2) [symbolic = @Interface.impl.9e6.%Interface.impl_witness (constants.%Interface.impl_witness.e9d)] +// CHECK:STDOUT: impl_decl @Interface.impl.c3d [concrete] { // CHECK:STDOUT: %T.patt: %pattern_type.2b5 = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc19: %I.type = name_ref T, %T.loc19 [symbolic = %T.loc12_14.2 (constants.%T.826)] @@ -229,7 +229,7 @@ impl forall [T:! type] T as I { // CHECK:STDOUT: %I.ref.loc19: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: %T.loc19: %I.type = bind_symbolic_name T, 0 [symbolic = %T.loc12_14.2 (constants.%T.826)] // CHECK:STDOUT: } -// CHECK:STDOUT: impl_decl @impl.793 [concrete] { +// CHECK:STDOUT: impl_decl @Interface.impl.793 [concrete] { // CHECK:STDOUT: %T.patt: %pattern_type.28e = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc27: %J.type = name_ref T, %T.loc27 [symbolic = %T.loc13_14.2 (constants.%T.ccd)] @@ -239,7 +239,7 @@ impl forall [T:! type] T as I { // CHECK:STDOUT: %J.ref.loc27: type = name_ref J, file.%J.decl [concrete = constants.%J.type] // CHECK:STDOUT: %T.loc27: %J.type = bind_symbolic_name T, 0 [symbolic = %T.loc13_14.2 (constants.%T.ccd)] // CHECK:STDOUT: } -// CHECK:STDOUT: impl_decl @impl.c93 [concrete] { +// CHECK:STDOUT: impl_decl @Interface.impl.c93 [concrete] { // CHECK:STDOUT: %T.patt: %pattern_type.4a6 = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc35: %K.type = name_ref T, %T.loc35 [symbolic = %T.loc14_14.2 (constants.%T.09f)] @@ -249,7 +249,7 @@ impl forall [T:! type] T as I { // CHECK:STDOUT: %K.ref.loc35: type = name_ref K, file.%K.decl [concrete = constants.%K.type] // CHECK:STDOUT: %T.loc35: %K.type = bind_symbolic_name T, 0 [symbolic = %T.loc14_14.2 (constants.%T.09f)] // CHECK:STDOUT: } -// CHECK:STDOUT: impl_decl @impl.9e6 [concrete] { +// CHECK:STDOUT: impl_decl @Interface.impl.9e6 [concrete] { // CHECK:STDOUT: %T.patt: %pattern_type.86b = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc43: %L.type = name_ref T, %T.loc43 [symbolic = %T.loc15_14.2 (constants.%T.1d2)] @@ -301,10 +301,10 @@ impl forall [T:! type] T as I { // CHECK:STDOUT: witness = () // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl.c3d(%T.loc12_14.1: %I.type) { +// CHECK:STDOUT: generic impl @Interface.impl.c3d(%T.loc12_14.1: %I.type) { // CHECK:STDOUT: %T.loc12_14.2: %I.type = bind_symbolic_name T, 0 [symbolic = %T.loc12_14.2 (constants.%T.826)] // CHECK:STDOUT: %T.as_type.loc12_21.2: type = facet_access_type %T.loc12_14.2 [symbolic = %T.as_type.loc12_21.2 (constants.%T.as_type.b70)] -// CHECK:STDOUT: %Interface.impl_witness: = impl_witness file.%Interface.impl_witness_table.loc12, @impl.c3d(%T.loc12_14.2) [symbolic = %Interface.impl_witness (constants.%Interface.impl_witness.a14)] +// CHECK:STDOUT: %Interface.impl_witness: = impl_witness file.%Interface.impl_witness_table.loc12, @Interface.impl.c3d(%T.loc12_14.2) [symbolic = %Interface.impl_witness (constants.%Interface.impl_witness.a14)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: @@ -314,10 +314,10 @@ impl forall [T:! type] T as I { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl.793(%T.loc13_14.1: %J.type) { +// CHECK:STDOUT: generic impl @Interface.impl.793(%T.loc13_14.1: %J.type) { // CHECK:STDOUT: %T.loc13_14.2: %J.type = bind_symbolic_name T, 0 [symbolic = %T.loc13_14.2 (constants.%T.ccd)] // CHECK:STDOUT: %T.as_type.loc13_21.2: type = facet_access_type %T.loc13_14.2 [symbolic = %T.as_type.loc13_21.2 (constants.%T.as_type.3df)] -// CHECK:STDOUT: %Interface.impl_witness: = impl_witness file.%Interface.impl_witness_table.loc13, @impl.793(%T.loc13_14.2) [symbolic = %Interface.impl_witness (constants.%Interface.impl_witness.608)] +// CHECK:STDOUT: %Interface.impl_witness: = impl_witness file.%Interface.impl_witness_table.loc13, @Interface.impl.793(%T.loc13_14.2) [symbolic = %Interface.impl_witness (constants.%Interface.impl_witness.608)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: @@ -327,10 +327,10 @@ impl forall [T:! type] T as I { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl.c93(%T.loc14_14.1: %K.type) { +// CHECK:STDOUT: generic impl @Interface.impl.c93(%T.loc14_14.1: %K.type) { // CHECK:STDOUT: %T.loc14_14.2: %K.type = bind_symbolic_name T, 0 [symbolic = %T.loc14_14.2 (constants.%T.09f)] // CHECK:STDOUT: %T.as_type.loc14_21.2: type = facet_access_type %T.loc14_14.2 [symbolic = %T.as_type.loc14_21.2 (constants.%T.as_type.037)] -// CHECK:STDOUT: %Interface.impl_witness: = impl_witness file.%Interface.impl_witness_table.loc14, @impl.c93(%T.loc14_14.2) [symbolic = %Interface.impl_witness (constants.%Interface.impl_witness.b9e)] +// CHECK:STDOUT: %Interface.impl_witness: = impl_witness file.%Interface.impl_witness_table.loc14, @Interface.impl.c93(%T.loc14_14.2) [symbolic = %Interface.impl_witness (constants.%Interface.impl_witness.b9e)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: @@ -340,10 +340,10 @@ impl forall [T:! type] T as I { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl.9e6(%T.loc15_14.1: %L.type) { +// CHECK:STDOUT: generic impl @Interface.impl.9e6(%T.loc15_14.1: %L.type) { // CHECK:STDOUT: %T.loc15_14.2: %L.type = bind_symbolic_name T, 0 [symbolic = %T.loc15_14.2 (constants.%T.1d2)] // CHECK:STDOUT: %T.as_type.loc15_21.2: type = facet_access_type %T.loc15_14.2 [symbolic = %T.as_type.loc15_21.2 (constants.%T.as_type.0ed)] -// CHECK:STDOUT: %Interface.impl_witness: = impl_witness file.%Interface.impl_witness_table.loc15, @impl.9e6(%T.loc15_14.2) [symbolic = %Interface.impl_witness (constants.%Interface.impl_witness.e9d)] +// CHECK:STDOUT: %Interface.impl_witness: = impl_witness file.%Interface.impl_witness_table.loc15, @Interface.impl.9e6(%T.loc15_14.2) [symbolic = %Interface.impl_witness (constants.%Interface.impl_witness.e9d)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: @@ -353,25 +353,25 @@ impl forall [T:! type] T as I { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.c3d(constants.%T.826) { +// CHECK:STDOUT: specific @Interface.impl.c3d(constants.%T.826) { // CHECK:STDOUT: %T.loc12_14.2 => constants.%T.826 // CHECK:STDOUT: %T.as_type.loc12_21.2 => constants.%T.as_type.b70 // CHECK:STDOUT: %Interface.impl_witness => constants.%Interface.impl_witness.a14 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.793(constants.%T.ccd) { +// CHECK:STDOUT: specific @Interface.impl.793(constants.%T.ccd) { // CHECK:STDOUT: %T.loc13_14.2 => constants.%T.ccd // CHECK:STDOUT: %T.as_type.loc13_21.2 => constants.%T.as_type.3df // CHECK:STDOUT: %Interface.impl_witness => constants.%Interface.impl_witness.608 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.c93(constants.%T.09f) { +// CHECK:STDOUT: specific @Interface.impl.c93(constants.%T.09f) { // CHECK:STDOUT: %T.loc14_14.2 => constants.%T.09f // CHECK:STDOUT: %T.as_type.loc14_21.2 => constants.%T.as_type.037 // CHECK:STDOUT: %Interface.impl_witness => constants.%Interface.impl_witness.b9e // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.9e6(constants.%T.1d2) { +// CHECK:STDOUT: specific @Interface.impl.9e6(constants.%T.1d2) { // CHECK:STDOUT: %T.loc15_14.2 => constants.%T.1d2 // CHECK:STDOUT: %T.as_type.loc15_21.2 => constants.%T.as_type.0ed // CHECK:STDOUT: %Interface.impl_witness => constants.%Interface.impl_witness.e9d @@ -387,7 +387,7 @@ impl forall [T:! type] T as I { // CHECK:STDOUT: %T: %I.type = bind_symbolic_name T, 0 [symbolic] // CHECK:STDOUT: %pattern_type: type = pattern_type %I.type [concrete] // CHECK:STDOUT: %T.as_type: type = facet_access_type %T [symbolic] -// CHECK:STDOUT: %J.impl_witness: = impl_witness file.%J.impl_witness_table, @impl.bfd509.1(%T) [symbolic] +// CHECK:STDOUT: %J.impl_witness: = impl_witness file.%J.impl_witness_table, @J.impl.bfd509.1(%T) [symbolic] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -406,7 +406,7 @@ impl forall [T:! type] T as I { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %I.decl: type = interface_decl @I [concrete = constants.%I.type] {} {} // CHECK:STDOUT: %J.decl: type = interface_decl @J [concrete = constants.%J.type] {} {} -// CHECK:STDOUT: impl_decl @impl.bfd509.1 [concrete] { +// CHECK:STDOUT: impl_decl @J.impl.bfd509.1 [concrete] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: %I.type = name_ref T, %T.loc7_14.1 [symbolic = %T.loc7_14.2 (constants.%T)] @@ -416,9 +416,9 @@ impl forall [T:! type] T as I { // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: %T.loc7_14.1: %I.type = bind_symbolic_name T, 0 [symbolic = %T.loc7_14.2 (constants.%T)] // CHECK:STDOUT: } -// CHECK:STDOUT: %J.impl_witness_table = impl_witness_table (), @impl.bfd509.1 [concrete] -// CHECK:STDOUT: %J.impl_witness: = impl_witness %J.impl_witness_table, @impl.bfd509.1(constants.%T) [symbolic = @impl.bfd509.1.%J.impl_witness (constants.%J.impl_witness)] -// CHECK:STDOUT: impl_decl @impl.bfd509.2 [concrete] { +// CHECK:STDOUT: %J.impl_witness_table = impl_witness_table (), @J.impl.bfd509.1 [concrete] +// CHECK:STDOUT: %J.impl_witness: = impl_witness %J.impl_witness_table, @J.impl.bfd509.1(constants.%T) [symbolic = @J.impl.bfd509.1.%J.impl_witness (constants.%J.impl_witness)] +// CHECK:STDOUT: impl_decl @J.impl.bfd509.2 [concrete] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: %I.type = name_ref T, %T.loc15_14.1 [symbolic = %T.loc15_14.2 (constants.%T)] @@ -446,10 +446,10 @@ impl forall [T:! type] T as I { // CHECK:STDOUT: witness = () // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl.bfd509.1(%T.loc7_14.1: %I.type) { +// CHECK:STDOUT: generic impl @J.impl.bfd509.1(%T.loc7_14.1: %I.type) { // CHECK:STDOUT: %T.loc7_14.2: %I.type = bind_symbolic_name T, 0 [symbolic = %T.loc7_14.2 (constants.%T)] // CHECK:STDOUT: %T.as_type.loc7_21.2: type = facet_access_type %T.loc7_14.2 [symbolic = %T.as_type.loc7_21.2 (constants.%T.as_type)] -// CHECK:STDOUT: %J.impl_witness: = impl_witness file.%J.impl_witness_table, @impl.bfd509.1(%T.loc7_14.2) [symbolic = %J.impl_witness (constants.%J.impl_witness)] +// CHECK:STDOUT: %J.impl_witness: = impl_witness file.%J.impl_witness_table, @J.impl.bfd509.1(%T.loc7_14.2) [symbolic = %J.impl_witness (constants.%J.impl_witness)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: @@ -459,7 +459,7 @@ impl forall [T:! type] T as I { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl.bfd509.2(%T.loc15_14.1: %I.type) { +// CHECK:STDOUT: generic impl @J.impl.bfd509.2(%T.loc15_14.1: %I.type) { // CHECK:STDOUT: %T.loc15_14.2: %I.type = bind_symbolic_name T, 0 [symbolic = %T.loc15_14.2 (constants.%T)] // CHECK:STDOUT: %T.as_type.loc15_21.2: type = facet_access_type %T.loc15_14.2 [symbolic = %T.as_type.loc15_21.2 (constants.%T.as_type)] // CHECK:STDOUT: @@ -471,13 +471,13 @@ impl forall [T:! type] T as I { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.bfd509.1(constants.%T) { +// CHECK:STDOUT: specific @J.impl.bfd509.1(constants.%T) { // CHECK:STDOUT: %T.loc7_14.2 => constants.%T // CHECK:STDOUT: %T.as_type.loc7_21.2 => constants.%T.as_type // CHECK:STDOUT: %J.impl_witness => constants.%J.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.bfd509.2(constants.%T) { +// CHECK:STDOUT: specific @J.impl.bfd509.2(constants.%T) { // CHECK:STDOUT: %T.loc15_14.2 => constants.%T // CHECK:STDOUT: %T.as_type.loc15_21.2 => constants.%T.as_type // CHECK:STDOUT: } @@ -511,13 +511,13 @@ impl forall [T:! type] T as I { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} // CHECK:STDOUT: %I.decl: type = interface_decl @I [concrete = constants.%I.type] {} {} -// CHECK:STDOUT: impl_decl @impl.7704ae.1 [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl.7704ae.1 [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] // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table.loc9 = impl_witness_table (), @impl.7704ae.1 [concrete] +// CHECK:STDOUT: %I.impl_witness_table.loc9 = impl_witness_table (), @I.impl.7704ae.1 [concrete] // CHECK:STDOUT: %I.impl_witness.loc9: = impl_witness %I.impl_witness_table.loc9 [concrete = constants.%I.impl_witness.215123.1] -// CHECK:STDOUT: impl_decl @impl.7704ae.2 [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl.7704ae.2 [concrete] {} { // CHECK:STDOUT: %C.ref.loc17_7: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %C.ref.loc17_10: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %.loc17_11.1: %tuple.type = tuple_literal (%C.ref.loc17_7, %C.ref.loc17_10) @@ -527,7 +527,7 @@ impl forall [T:! type] T as I { // CHECK:STDOUT: %tuple.elem0: type = tuple_access %.loc17_11.2, element0 [concrete = constants.%C] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table.loc17 = impl_witness_table (), @impl.7704ae.2 [concrete] +// CHECK:STDOUT: %I.impl_witness_table.loc17 = impl_witness_table (), @I.impl.7704ae.2 [concrete] // CHECK:STDOUT: %I.impl_witness.loc17: = impl_witness %I.impl_witness_table.loc17 [concrete = constants.%I.impl_witness.215123.2] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -539,12 +539,12 @@ impl forall [T:! type] T as I { // CHECK:STDOUT: witness = () // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.7704ae.1: %C.ref as %I.ref { +// CHECK:STDOUT: impl @I.impl.7704ae.1: %C.ref as %I.ref { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = file.%I.impl_witness.loc9 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.7704ae.2: %tuple.elem0 as %I.ref { +// CHECK:STDOUT: impl @I.impl.7704ae.2: %tuple.elem0 as %I.ref { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = file.%I.impl_witness.loc17 // CHECK:STDOUT: } @@ -558,21 +558,21 @@ impl forall [T:! type] T as I { // CHECK:STDOUT: %Self.826: %I.type = bind_symbolic_name Self, 0 [symbolic] // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic] // CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %I.impl_witness: = impl_witness file.%I.impl_witness_table, @impl.2caff2.1(%T) [symbolic] -// CHECK:STDOUT: %A.type: type = fn_type @A, @impl.2caff2.1(%T) [symbolic] +// CHECK:STDOUT: %I.impl_witness: = impl_witness file.%I.impl_witness_table, @I.impl.2caff2.1(%T) [symbolic] +// CHECK:STDOUT: %A.type: type = fn_type @A, @I.impl.2caff2.1(%T) [symbolic] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %A: %A.type = struct_value () [symbolic] -// CHECK:STDOUT: %B.type: type = fn_type @B, @impl.2caff2.2(%T) [symbolic] +// CHECK:STDOUT: %B.type: type = fn_type @B, @I.impl.2caff2.2(%T) [symbolic] // CHECK:STDOUT: %B: %B.type = struct_value () [symbolic] // CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] -// CHECK:STDOUT: %C.type: type = fn_type @C, @impl.2caff2.2(%T) [symbolic] +// CHECK:STDOUT: %C.type: type = fn_type @C, @I.impl.2caff2.2(%T) [symbolic] // CHECK:STDOUT: %C: %C.type = struct_value () [symbolic] -// CHECK:STDOUT: %D.type: type = fn_type @D, @impl.2caff2.2(%T) [symbolic] +// CHECK:STDOUT: %D.type: type = fn_type @D, @I.impl.2caff2.2(%T) [symbolic] // CHECK:STDOUT: %D: %D.type = struct_value () [symbolic] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %C.specific_fn: = specific_function %C, @C(%T) [symbolic] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @impl.49c(%empty_tuple.type) [concrete] +// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @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.2(%empty_tuple.type) [concrete] @@ -594,16 +594,16 @@ impl forall [T:! type] T as I { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %I.decl: type = interface_decl @I [concrete = constants.%I.type] {} {} -// CHECK:STDOUT: impl_decl @impl.2caff2.1 [concrete] { +// CHECK:STDOUT: impl_decl @I.impl.2caff2.1 [concrete] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc4_14.1 [symbolic = %T.loc4_14.2 (constants.%T)] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: %T.loc4_14.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc4_14.2 (constants.%T)] // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @impl.2caff2.1 [concrete] -// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table, @impl.2caff2.1(constants.%T) [symbolic = @impl.2caff2.1.%I.impl_witness (constants.%I.impl_witness)] -// CHECK:STDOUT: impl_decl @impl.2caff2.2 [concrete] { +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @I.impl.2caff2.1 [concrete] +// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table, @I.impl.2caff2.1(constants.%T) [symbolic = @I.impl.2caff2.1.%I.impl_witness (constants.%I.impl_witness)] +// CHECK:STDOUT: impl_decl @I.impl.2caff2.2 [concrete] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc15_14.1 [symbolic = %T.loc15_14.2 (constants.%T)] @@ -620,16 +620,16 @@ impl forall [T:! type] T as I { // CHECK:STDOUT: witness = () // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl.2caff2.1(%T.loc4_14.1: type) { +// CHECK:STDOUT: generic impl @I.impl.2caff2.1(%T.loc4_14.1: type) { // CHECK:STDOUT: %T.loc4_14.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc4_14.2 (constants.%T)] -// CHECK:STDOUT: %I.impl_witness: = impl_witness file.%I.impl_witness_table, @impl.2caff2.1(%T.loc4_14.2) [symbolic = %I.impl_witness (constants.%I.impl_witness)] +// CHECK:STDOUT: %I.impl_witness: = impl_witness file.%I.impl_witness_table, @I.impl.2caff2.1(%T.loc4_14.2) [symbolic = %I.impl_witness (constants.%I.impl_witness)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %A.type: type = fn_type @A, @impl.2caff2.1(%T.loc4_14.2) [symbolic = %A.type (constants.%A.type)] -// CHECK:STDOUT: %A: @impl.2caff2.1.%A.type (%A.type) = struct_value () [symbolic = %A (constants.%A)] +// CHECK:STDOUT: %A.type: type = fn_type @A, @I.impl.2caff2.1(%T.loc4_14.2) [symbolic = %A.type (constants.%A.type)] +// CHECK:STDOUT: %A: @I.impl.2caff2.1.%A.type (%A.type) = struct_value () [symbolic = %A (constants.%A)] // CHECK:STDOUT: // CHECK:STDOUT: impl: %T.ref as %I.ref { -// CHECK:STDOUT: %A.decl: @impl.2caff2.1.%A.type (%A.type) = fn_decl @A [symbolic = @impl.2caff2.1.%A (constants.%A)] {} {} +// CHECK:STDOUT: %A.decl: @I.impl.2caff2.1.%A.type (%A.type) = fn_decl @A [symbolic = @I.impl.2caff2.1.%A (constants.%A)] {} {} // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .A = %A.decl @@ -637,20 +637,20 @@ impl forall [T:! type] T as I { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl.2caff2.2(%T.loc15_14.1: type) { +// CHECK:STDOUT: generic impl @I.impl.2caff2.2(%T.loc15_14.1: type) { // CHECK:STDOUT: %T.loc15_14.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc15_14.2 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %B.type: type = fn_type @B, @impl.2caff2.2(%T.loc15_14.2) [symbolic = %B.type (constants.%B.type)] -// CHECK:STDOUT: %B: @impl.2caff2.2.%B.type (%B.type) = struct_value () [symbolic = %B (constants.%B)] -// CHECK:STDOUT: %C.type: type = fn_type @C, @impl.2caff2.2(%T.loc15_14.2) [symbolic = %C.type (constants.%C.type)] -// CHECK:STDOUT: %C: @impl.2caff2.2.%C.type (%C.type) = struct_value () [symbolic = %C (constants.%C)] -// CHECK:STDOUT: %D.type: type = fn_type @D, @impl.2caff2.2(%T.loc15_14.2) [symbolic = %D.type (constants.%D.type)] -// CHECK:STDOUT: %D: @impl.2caff2.2.%D.type (%D.type) = struct_value () [symbolic = %D (constants.%D)] +// CHECK:STDOUT: %B.type: type = fn_type @B, @I.impl.2caff2.2(%T.loc15_14.2) [symbolic = %B.type (constants.%B.type)] +// CHECK:STDOUT: %B: @I.impl.2caff2.2.%B.type (%B.type) = struct_value () [symbolic = %B (constants.%B)] +// CHECK:STDOUT: %C.type: type = fn_type @C, @I.impl.2caff2.2(%T.loc15_14.2) [symbolic = %C.type (constants.%C.type)] +// CHECK:STDOUT: %C: @I.impl.2caff2.2.%C.type (%C.type) = struct_value () [symbolic = %C (constants.%C)] +// CHECK:STDOUT: %D.type: type = fn_type @D, @I.impl.2caff2.2(%T.loc15_14.2) [symbolic = %D.type (constants.%D.type)] +// CHECK:STDOUT: %D: @I.impl.2caff2.2.%D.type (%D.type) = struct_value () [symbolic = %D (constants.%D)] // CHECK:STDOUT: // CHECK:STDOUT: impl: %T.ref as %I.ref { -// CHECK:STDOUT: %B.decl: @impl.2caff2.2.%B.type (%B.type) = fn_decl @B [symbolic = @impl.2caff2.2.%B (constants.%B)] {} {} -// CHECK:STDOUT: %C.decl: @impl.2caff2.2.%C.type (%C.type) = fn_decl @C [symbolic = @impl.2caff2.2.%C (constants.%C)] { +// CHECK:STDOUT: %B.decl: @I.impl.2caff2.2.%B.type (%B.type) = fn_decl @B [symbolic = @I.impl.2caff2.2.%B (constants.%B)] {} {} +// CHECK:STDOUT: %C.decl: @I.impl.2caff2.2.%C.type (%C.type) = fn_decl @C [symbolic = @I.impl.2caff2.2.%C (constants.%C)] { // 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: } { @@ -659,7 +659,7 @@ impl forall [T:! type] T as I { // 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: %D.decl: @impl.2caff2.2.%D.type (%D.type) = fn_decl @D [symbolic = @impl.2caff2.2.%D (constants.%D)] { +// CHECK:STDOUT: %D.decl: @I.impl.2caff2.2.%D.type (%D.type) = fn_decl @D [symbolic = @I.impl.2caff2.2.%D (constants.%D)] { // 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: } { @@ -677,7 +677,7 @@ impl forall [T:! type] T as I { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @A(@impl.2caff2.1.%T.loc4_14.1: type) { +// CHECK:STDOUT: generic fn @A(@I.impl.2caff2.1.%T.loc4_14.1: type) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: // CHECK:STDOUT: fn() { @@ -686,7 +686,7 @@ impl forall [T:! type] T as I { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @B(@impl.2caff2.2.%T.loc15_14.1: type) { +// CHECK:STDOUT: generic fn @B(@I.impl.2caff2.2.%T.loc15_14.1: type) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: // CHECK:STDOUT: fn() { @@ -695,7 +695,7 @@ impl forall [T:! type] T as I { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @C(@impl.2caff2.2.%T.loc15_14.1: type) { +// CHECK:STDOUT: generic fn @C(@I.impl.2caff2.2.%T.loc15_14.1: type) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: // CHECK:STDOUT: fn() -> %empty_tuple.type { @@ -707,16 +707,16 @@ impl forall [T:! type] T as I { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @D(@impl.2caff2.2.%T.loc15_14.1: type) { +// CHECK:STDOUT: generic fn @D(@I.impl.2caff2.2.%T.loc15_14.1: type) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic = %T (constants.%T)] -// CHECK:STDOUT: %C.type: type = fn_type @C, @impl.2caff2.2(%T) [symbolic = %C.type (constants.%C.type)] +// CHECK:STDOUT: %C.type: type = fn_type @C, @I.impl.2caff2.2(%T) [symbolic = %C.type (constants.%C.type)] // CHECK:STDOUT: %C: @D.%C.type (%C.type) = struct_value () [symbolic = %C (constants.%C)] // CHECK:STDOUT: %C.specific_fn.loc21_12.2: = specific_function %C, @C(%T) [symbolic = %C.specific_fn.loc21_12.2 (constants.%C.specific_fn)] // CHECK:STDOUT: // CHECK:STDOUT: fn() -> %empty_tuple.type { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %.loc21_12: @D.%C.type (%C.type) = specific_constant @impl.2caff2.2.%C.decl, @impl.2caff2.2(constants.%T) [symbolic = %C (constants.%C)] +// CHECK:STDOUT: %.loc21_12: @D.%C.type (%C.type) = specific_constant @I.impl.2caff2.2.%C.decl, @I.impl.2caff2.2(constants.%T) [symbolic = %C (constants.%C)] // CHECK:STDOUT: %C.ref: @D.%C.type (%C.type) = name_ref C, %.loc21_12 [symbolic = %C (constants.%C)] // CHECK:STDOUT: %C.specific_fn.loc21_12.1: = specific_function %C.ref, @C(constants.%T) [symbolic = %C.specific_fn.loc21_12.2 (constants.%C.specific_fn)] // CHECK:STDOUT: %C.call: init %empty_tuple.type = call %C.specific_fn.loc21_12.1() @@ -733,7 +733,7 @@ impl forall [T:! type] T as I { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.2caff2.1(constants.%T) { +// CHECK:STDOUT: specific @I.impl.2caff2.1(constants.%T) { // CHECK:STDOUT: %T.loc4_14.2 => constants.%T // CHECK:STDOUT: %I.impl_witness => constants.%I.impl_witness // CHECK:STDOUT: @@ -744,7 +744,7 @@ impl forall [T:! type] T as I { // CHECK:STDOUT: // CHECK:STDOUT: specific @A(constants.%T) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.2caff2.2(constants.%T) { +// CHECK:STDOUT: specific @I.impl.2caff2.2(constants.%T) { // CHECK:STDOUT: %T.loc15_14.2 => constants.%T // CHECK:STDOUT: // CHECK:STDOUT: !definition: diff --git a/toolchain/check/testdata/impl/impl_as.carbon b/toolchain/check/testdata/impl/impl_as.carbon index 18df940e9685..422b3675c4c9 100644 --- a/toolchain/check/testdata/impl/impl_as.carbon +++ b/toolchain/check/testdata/impl/impl_as.carbon @@ -45,7 +45,7 @@ class C { // CHECK:STDOUT: %pattern_type.c48: type = pattern_type %C [concrete] // CHECK:STDOUT: %C.val: %C = struct_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.153: type = fn_type @Op.2, @impl.49c(%C) [concrete] +// CHECK:STDOUT: %Op.type.153: type = fn_type @Op.2, @Destroy.impl(%C) [concrete] // CHECK:STDOUT: %Op.5d7: %Op.type.153 = struct_value () [concrete] // CHECK:STDOUT: %ptr.019: type = ptr_type %C [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.5d7, @Op.2(%C) [concrete] @@ -82,7 +82,7 @@ class C { // CHECK:STDOUT: witness = (%F.decl) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.0ef: %Self.ref as %Simple.ref { +// 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: // CHECK:STDOUT: !members: @@ -92,11 +92,11 @@ class C { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @C { -// CHECK:STDOUT: impl_decl @impl.0ef [concrete] {} { +// CHECK:STDOUT: impl_decl @Simple.impl [concrete] {} { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%C [concrete = constants.%C] // CHECK:STDOUT: %Simple.ref: type = name_ref Simple, file.%Simple.decl [concrete = constants.%Simple.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %Simple.impl_witness_table = impl_witness_table (@impl.0ef.%F.decl), @impl.0ef [concrete] +// CHECK:STDOUT: %Simple.impl_witness_table = impl_witness_table (@Simple.impl.%F.decl), @Simple.impl [concrete] // CHECK:STDOUT: %Simple.impl_witness: = impl_witness %Simple.impl_witness_table [concrete = constants.%Simple.impl_witness] // 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] diff --git a/toolchain/check/testdata/impl/impl_assoc_const_with_prelude.carbon b/toolchain/check/testdata/impl/impl_assoc_const_with_prelude.carbon index f99459b975bd..a5a89ef07d39 100644 --- a/toolchain/check/testdata/impl/impl_assoc_const_with_prelude.carbon +++ b/toolchain/check/testdata/impl/impl_assoc_const_with_prelude.carbon @@ -62,7 +62,7 @@ impl () as I where .X = {.a = true, .b = (1, 2)} and .X = {.a = false, .b = (3, // 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: %To.c80: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.3, @impl.4f9(%To.c80) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.3, @ImplicitAs.impl.4f9(%To.c80) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] // CHECK:STDOUT: %DivWith.type.fc9: type = generic_interface_type @DivWith [concrete] // CHECK:STDOUT: %DivWith.generic: %DivWith.type.fc9 = struct_value () [concrete] @@ -72,8 +72,8 @@ impl () as I where .X = {.a = true, .b = (1, 2)} and .X = {.a = false, .b = (3, // CHECK:STDOUT: %SubWith.generic: %SubWith.type.378 = struct_value () [concrete] // CHECK:STDOUT: %SubWith.type.039: type = facet_type <@SubWith, @SubWith(Core.IntLiteral)> [concrete] // CHECK:STDOUT: %Op.type.95d: type = fn_type @Op.5, @SubWith(Core.IntLiteral) [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.3, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.3, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.921: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet.921 [concrete] @@ -118,16 +118,16 @@ impl () as I where .X = {.a = true, .b = (1, 2)} and .X = {.a = false, .b = (3, // CHECK:STDOUT: %Core.Bool: %Bool.type = import_ref Core//prelude/types/bool, Bool, loaded [concrete = constants.%Bool] // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/types/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/operators/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/types/int, loc19_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/types/int, loc19_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: %Core.SubWith: %SubWith.type.378 = import_ref Core//prelude/operators/arithmetic, SubWith, loaded [concrete = constants.%SubWith.generic] // CHECK:STDOUT: %Core.import_ref.abd97d.1 = import_ref Core//prelude/operators/arithmetic, loc115_57, unloaded // CHECK:STDOUT: %Core.import_ref.252: %Op.type.ff7 = import_ref Core//prelude/operators/arithmetic, loc116_42, loaded [concrete = constants.%Op.9f1] -// CHECK:STDOUT: %SubWith.impl_witness_table.ad5 = impl_witness_table (%Core.import_ref.abd97d.1, %Core.import_ref.252), @impl.e41 [concrete] +// CHECK:STDOUT: %SubWith.impl_witness_table.ad5 = impl_witness_table (%Core.import_ref.abd97d.1, %Core.import_ref.252), @SubWith.impl.e41 [concrete] // CHECK:STDOUT: %Core.DivWith: %DivWith.type.fc9 = import_ref Core//prelude/operators/arithmetic, DivWith, loaded [concrete = constants.%DivWith.generic] // CHECK:STDOUT: %Core.import_ref.abd97d.2 = import_ref Core//prelude/operators/arithmetic, loc99_57, unloaded // CHECK:STDOUT: %Core.import_ref.0316: %Op.type.c21 = import_ref Core//prelude/operators/arithmetic, loc100_42, loaded [concrete = constants.%Op.32d] -// CHECK:STDOUT: %DivWith.impl_witness_table.cc4 = impl_witness_table (%Core.import_ref.abd97d.2, %Core.import_ref.0316), @impl.ba5 [concrete] +// CHECK:STDOUT: %DivWith.impl_witness_table.cc4 = impl_witness_table (%Core.import_ref.abd97d.2, %Core.import_ref.0316), @DivWith.impl.ba5 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -137,7 +137,7 @@ impl () as I where .X = {.a = true, .b = (1, 2)} and .X = {.a = false, .b = (3, // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %I.decl: type = interface_decl @I [concrete = constants.%I.type] {} {} -// CHECK:STDOUT: impl_decl @impl.9be [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl [concrete] {} { // CHECK:STDOUT: %.loc6_7.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc6_7.2: type = converted %.loc6_7.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] @@ -216,7 +216,7 @@ impl () as I where .X = {.a = true, .b = (1, 2)} and .X = {.a = false, .b = (3, // CHECK:STDOUT: requirement_rewrite %impl.elem0.loc6_54, %.loc6_95.3 // CHECK:STDOUT: } // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant), @impl.9be [concrete] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant), @I.impl [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness] // CHECK:STDOUT: %impl_witness_assoc_constant: %struct_type.a.b.fe2 = impl_witness_assoc_constant constants.%struct [concrete = constants.%struct] // CHECK:STDOUT: } @@ -237,7 +237,7 @@ impl () as I where .X = {.a = true, .b = (1, 2)} and .X = {.a = false, .b = (3, // CHECK:STDOUT: assoc_const X:! %struct_type.a.b.fe2; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.9be: %.loc6_7.2 as %.loc6_14 { +// CHECK:STDOUT: impl @I.impl: %.loc6_7.2 as %.loc6_14 { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = file.%I.impl_witness // CHECK:STDOUT: } @@ -277,10 +277,10 @@ impl () as I where .X = {.a = true, .b = (1, 2)} and .X = {.a = false, .b = (3, // 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: %To.c80: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.3, @impl.4f9(%To.c80) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.3, @ImplicitAs.impl.4f9(%To.c80) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.3, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.3, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.921: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet.921 [concrete] @@ -317,8 +317,8 @@ impl () as I where .X = {.a = true, .b = (1, 2)} and .X = {.a = false, .b = (3, // CHECK:STDOUT: %Core.Bool: %Bool.type = import_ref Core//prelude/types/bool, Bool, loaded [concrete = constants.%Bool] // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/types/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/operators/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/types/int, loc19_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/types/int, loc19_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -328,7 +328,7 @@ impl () as I where .X = {.a = true, .b = (1, 2)} and .X = {.a = false, .b = (3, // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %I.decl: type = interface_decl @I [concrete = constants.%I.type] {} {} -// CHECK:STDOUT: impl_decl @impl.de5 [concrete] {} { +// CHECK:STDOUT: impl_decl @impl [concrete] {} { // CHECK:STDOUT: %.loc10_7.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc10_7.2: type = converted %.loc10_7.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] @@ -412,7 +412,7 @@ impl () as I where .X = {.a = true, .b = (1, 2)} and .X = {.a = false, .b = (3, // CHECK:STDOUT: assoc_const X:! %struct_type.a.b.fe2; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.de5: %.loc10_7.2 as %.loc10_14 { +// CHECK:STDOUT: impl @impl: %.loc10_7.2 as %.loc10_14 { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/impl/impl_forall.carbon b/toolchain/check/testdata/impl/impl_forall.carbon index 9f0ed9ef34e6..1d63df578d41 100644 --- a/toolchain/check/testdata/impl/impl_forall.carbon +++ b/toolchain/check/testdata/impl/impl_forall.carbon @@ -31,8 +31,8 @@ impl forall [T:! type] T as Simple { // 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, @impl(%T) [symbolic] -// CHECK:STDOUT: %F.type.1e1: type = fn_type @F.2, @impl(%T) [symbolic] +// 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.4c3: %F.type.1e1 = struct_value () [symbolic] // CHECK:STDOUT: %Simple.facet: %Simple.type = facet_value %T, (%Simple.impl_witness) [symbolic] // CHECK:STDOUT: } @@ -42,15 +42,15 @@ impl forall [T:! type] T as Simple { // CHECK:STDOUT: .Simple = %Simple.decl // CHECK:STDOUT: } // CHECK:STDOUT: %Simple.decl: type = interface_decl @Simple [concrete = constants.%Simple.type] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] { +// CHECK:STDOUT: impl_decl @Simple.impl [concrete] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc19_14.1 [symbolic = %T.loc19_14.2 (constants.%T)] // CHECK:STDOUT: %Simple.ref: type = name_ref Simple, file.%Simple.decl [concrete = constants.%Simple.type] // CHECK:STDOUT: %T.loc19_14.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc19_14.2 (constants.%T)] // CHECK:STDOUT: } -// CHECK:STDOUT: %Simple.impl_witness_table = impl_witness_table (@impl.%F.decl), @impl [concrete] -// CHECK:STDOUT: %Simple.impl_witness: = impl_witness %Simple.impl_witness_table, @impl(constants.%T) [symbolic = @impl.%Simple.impl_witness (constants.%Simple.impl_witness)] +// CHECK:STDOUT: %Simple.impl_witness_table = impl_witness_table (@Simple.impl.%F.decl), @Simple.impl [concrete] +// CHECK:STDOUT: %Simple.impl_witness: = impl_witness %Simple.impl_witness_table, @Simple.impl(constants.%T) [symbolic = @Simple.impl.%Simple.impl_witness (constants.%Simple.impl_witness)] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: interface @Simple { @@ -64,16 +64,16 @@ impl forall [T:! type] T as Simple { // CHECK:STDOUT: witness = (%F.decl) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl(%T.loc19_14.1: type) { +// CHECK:STDOUT: generic impl @Simple.impl(%T.loc19_14.1: type) { // CHECK:STDOUT: %T.loc19_14.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc19_14.2 (constants.%T)] -// CHECK:STDOUT: %Simple.impl_witness: = impl_witness file.%Simple.impl_witness_table, @impl(%T.loc19_14.2) [symbolic = %Simple.impl_witness (constants.%Simple.impl_witness)] +// 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, @impl(%T.loc19_14.2) [symbolic = %F.type (constants.%F.type.1e1)] -// CHECK:STDOUT: %F: @impl.%F.type (%F.type.1e1) = struct_value () [symbolic = %F (constants.%F.4c3)] +// 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: @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: @impl.%F.type (%F.type.1e1) = fn_decl @F.2 [symbolic = @impl.%F (constants.%F.4c3)] {} {} +// CHECK:STDOUT: %F.decl: @Simple.impl.%F.type (%F.type.1e1) = fn_decl @F.2 [symbolic = @Simple.impl.%F (constants.%F.4c3)] {} {} // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .F = %F.decl @@ -85,7 +85,7 @@ impl forall [T:! type] T as Simple { // CHECK:STDOUT: fn(); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.2(@impl.%T.loc19_14.1: type) { +// CHECK:STDOUT: generic fn @F.2(@Simple.impl.%T.loc19_14.1: type) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: // CHECK:STDOUT: fn() { @@ -96,7 +96,7 @@ impl forall [T:! type] T as Simple { // CHECK:STDOUT: // CHECK:STDOUT: specific @F.1(constants.%Self) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl(constants.%T) { +// CHECK:STDOUT: specific @Simple.impl(constants.%T) { // CHECK:STDOUT: %T.loc19_14.2 => constants.%T // CHECK:STDOUT: %Simple.impl_witness => constants.%Simple.impl_witness // CHECK:STDOUT: diff --git a/toolchain/check/testdata/impl/impl_thunk.carbon b/toolchain/check/testdata/impl/impl_thunk.carbon index 5b21af5b2d8c..dbee9a44d07e 100644 --- a/toolchain/check/testdata/impl/impl_thunk.carbon +++ b/toolchain/check/testdata/impl/impl_thunk.carbon @@ -329,7 +329,7 @@ impl () as I({}) { // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: %struct: %struct_type.c.d.15a = struct_value (%empty_tuple, %empty_struct) [concrete] -// CHECK:STDOUT: %Op.type.afe: type = fn_type @Op.2, @impl.49c(%struct_type.d.c.b36) [concrete] +// CHECK:STDOUT: %Op.type.afe: type = fn_type @Op.2, @Destroy.impl(%struct_type.d.c.b36) [concrete] // CHECK:STDOUT: %Op.742: %Op.type.afe = struct_value () [concrete] // CHECK:STDOUT: %ptr.eab: type = ptr_type %struct_type.d.c.b36 [concrete] // CHECK:STDOUT: } @@ -337,7 +337,7 @@ impl () as I({}) { // CHECK:STDOUT: imports { // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.4ab: %.loc8_7.2 as %I.ref { +// 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: %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] @@ -374,9 +374,9 @@ impl () as I({}) { // CHECK:STDOUT: // CHECK:STDOUT: fn @F.2(%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 @impl.4ab.%F.decl.loc10_48.1] { +// 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: !entry: -// CHECK:STDOUT: %F.ref: %F.type.39e918.1 = name_ref F, @impl.4ab.%F.decl.loc10_48.1 [concrete = constants.%F.c04b92.1] +// 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: // CHECK:STDOUT: %.loc10_48.1: ref %struct_type.d.c.b36 = temporary_storage // CHECK:STDOUT: @@ -421,7 +421,7 @@ impl () as I({}) { // CHECK:STDOUT: imports { // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %B.ref as %X.ref { +// 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: %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] @@ -463,9 +463,9 @@ impl () as I({}) { // CHECK:STDOUT: // CHECK:STDOUT: fn @F.2(%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 @impl.%F.decl.loc14_39.1] { +// 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: !entry: -// CHECK:STDOUT: %F.ref: %F.type.f1b0b1.1 = name_ref F, @impl.%F.decl.loc14_39.1 [concrete = constants.%F.5161e9.1] +// 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: // CHECK:STDOUT: %F.bound: = bound_method %.loc9_17.1, %F.ref // CHECK:STDOUT: @@ -495,7 +495,7 @@ impl () as I({}) { // CHECK:STDOUT: imports { // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %B.ref as %X.ref { +// 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: %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] @@ -523,9 +523,9 @@ impl () as I({}) { // CHECK:STDOUT: // CHECK:STDOUT: fn @F.2(%self.param: %A, %other.param: %A); // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.3(%self.param: %B, %other.param: %B) [thunk @impl.%F.decl.loc13_26.1] { +// CHECK:STDOUT: fn @F.3(%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, @impl.%F.decl.loc13_26.1 [concrete = constants.%F.5161e9.1] +// 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: // CHECK:STDOUT: %F.bound: = bound_method %self.ref, %F.ref // CHECK:STDOUT: @@ -554,7 +554,7 @@ impl () as I({}) { // CHECK:STDOUT: imports { // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %B.ref as %X.ref { +// 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: %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] @@ -596,9 +596,9 @@ impl () as I({}) { // CHECK:STDOUT: // CHECK:STDOUT: fn @F.2(%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 @impl.%F.decl.loc14_39.1] { +// 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: !entry: -// CHECK:STDOUT: %F.ref: %F.type.f1b0b1.1 = name_ref F, @impl.%F.decl.loc14_39.1 [concrete = constants.%F.5161e9.1] +// 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: // CHECK:STDOUT: %F.bound: = bound_method %.loc9_17.1, %F.ref // CHECK:STDOUT: @@ -623,7 +623,7 @@ impl () as I({}) { // 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.77e9d5.2: %F.type.b24d6f.2 = struct_value () [concrete] -// CHECK:STDOUT: %Op.type.1a6: type = fn_type @Op.2, @impl.49c(%B) [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] // CHECK:STDOUT: %ptr.e79: type = ptr_type %B [concrete] // CHECK:STDOUT: } @@ -631,7 +631,7 @@ impl () as I({}) { // CHECK:STDOUT: imports { // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.3d2: %A.ref as %X.ref { +// 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: %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] @@ -654,9 +654,9 @@ impl () as I({}) { // CHECK:STDOUT: // CHECK:STDOUT: fn @F.2() -> %return.param: %B; // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.3() -> %return.param: %A [thunk @impl.3d2.%F.decl.loc20_14.1] { +// CHECK:STDOUT: fn @F.3() -> %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, @impl.3d2.%F.decl.loc20_14.1 [concrete = constants.%F.77e9d5.1] +// 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: // CHECK:STDOUT: %.loc20_14.1: ref %B = temporary_storage // CHECK:STDOUT: %F.call: init %B = call %F.ref() to %.loc20_14.1 @@ -693,7 +693,7 @@ impl () as I({}) { // CHECK:STDOUT: imports { // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %.loc8_7.2 as %I.ref { +// 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: %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] @@ -741,9 +741,9 @@ impl () as I({}) { // 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: // CHECK:STDOUT: -// CHECK:STDOUT: fn(%x.param: @F.3.%ptr (%ptr.79f)) -> @F.3.%ptr (%ptr.79f) [thunk @impl.%F.decl.loc10_29.1] { +// 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: !entry: -// CHECK:STDOUT: %F.ref: %F.type.39e918.1 = name_ref F, @impl.%F.decl.loc10_29.1 [concrete = constants.%F.c04b92.1] +// 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) @@ -793,7 +793,7 @@ impl () as I({}) { // CHECK:STDOUT: imports { // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %.loc10_7.2 as %I.ref { +// 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: %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] @@ -847,9 +847,9 @@ impl () as I({}) { // 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 @impl.%F.decl.loc19_39.1] { +// 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: !entry: -// CHECK:STDOUT: %F.ref: %F.type.39e918.1 = name_ref F, @impl.%F.decl.loc19_39.1 [concrete = constants.%F.c04b92.1] +// 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: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -880,7 +880,7 @@ impl () as I({}) { // 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] -// CHECK:STDOUT: %Op.type.f20: type = fn_type @Op.2, @impl.49c(%struct_type.b.a.1b0) [concrete] +// CHECK:STDOUT: %Op.type.f20: type = fn_type @Op.2, @Destroy.impl(%struct_type.b.a.1b0) [concrete] // CHECK:STDOUT: %Op.eab: %Op.type.f20 = struct_value () [concrete] // CHECK:STDOUT: %ptr.30d: type = ptr_type %struct_type.b.a.1b0 [concrete] // CHECK:STDOUT: } @@ -888,7 +888,7 @@ impl () as I({}) { // CHECK:STDOUT: imports { // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.50b: %.loc8_7.2 as %I.type { +// 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: %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] @@ -914,9 +914,9 @@ impl () as I({}) { // CHECK:STDOUT: // CHECK:STDOUT: fn @F.2() -> %return.param: %struct_type.b.a.1b0; // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.3() -> %return.param: %struct_type.a.b.f95 [thunk @impl.50b.%F.decl.loc10_29.1] { +// CHECK:STDOUT: fn @F.3() -> %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, @impl.50b.%F.decl.loc10_29.1 [concrete = constants.%F.975709.1] +// 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: // CHECK:STDOUT: %.loc10_29.1: ref %struct_type.b.a.1b0 = temporary_storage // CHECK:STDOUT: %F.call: init %struct_type.b.a.1b0 = call %F.ref() to %.loc10_29.1 diff --git a/toolchain/check/testdata/impl/impl_thunk_min_prelude.carbon b/toolchain/check/testdata/impl/impl_thunk_min_prelude.carbon index 8986a04552a4..6fea58a267ed 100644 --- a/toolchain/check/testdata/impl/impl_thunk_min_prelude.carbon +++ b/toolchain/check/testdata/impl/impl_thunk_min_prelude.carbon @@ -121,7 +121,7 @@ fn Call() -> Int(32) { // 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, @impl.797(%ImplicitAs.facet.54f) [concrete] +// CHECK:STDOUT: %Op.type.049d3a.1: type = fn_type @Op.2, @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] @@ -142,7 +142,7 @@ fn Call() -> Int(32) { // CHECK:STDOUT: %ImplicitAs.facet.loc25_14.2: %ImplicitAs.type.61e = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness) [concrete = constants.%ImplicitAs.facet.54f] // CHECK:STDOUT: %.loc25_14.2: %ImplicitAs.type.61e = converted Core.IntLiteral, %ImplicitAs.facet.loc25_14.2 [concrete = constants.%ImplicitAs.facet.54f] // CHECK:STDOUT: -// CHECK:STDOUT: %.loc25_14.3: %Op.type.049d3a.1 = specific_constant @impl.797.%Op.decl.loc15_35.1, @impl.797(constants.%ImplicitAs.facet.54f) [concrete = constants.%Op.1fb3b5.1] +// CHECK:STDOUT: %.loc25_14.3: %Op.type.049d3a.1 = specific_constant @Add.impl.%Op.decl.loc15_35.1, @Add.impl(constants.%ImplicitAs.facet.54f) [concrete = constants.%Op.1fb3b5.1] // CHECK:STDOUT: %Op.ref.loc25: %Op.type.049d3a.1 = name_ref Op, %.loc25_14.3 [concrete = constants.%Op.1fb3b5.1] // CHECK:STDOUT: %impl.elem0.loc25_14: %.f22 = impl_witness_access constants.%ImplicitAs.impl_witness, element0 [concrete = constants.%Convert.52c] // CHECK:STDOUT: %bound_method.loc25_14: = bound_method %int_2, %impl.elem0.loc25_14 [concrete = constants.%Convert.bound.713] diff --git a/toolchain/check/testdata/impl/import_builtin_call.carbon b/toolchain/check/testdata/impl/import_builtin_call.carbon index 3062eeee66ce..8a28089bb05f 100644 --- a/toolchain/check/testdata/impl/import_builtin_call.carbon +++ b/toolchain/check/testdata/impl/import_builtin_call.carbon @@ -104,9 +104,9 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt); // CHECK:STDOUT: %iN.builtin: type = int_type signed, %N [symbolic] // CHECK:STDOUT: %require_complete.f1b: = require_complete_type %iN.builtin [symbolic] // CHECK:STDOUT: %complete_type: = complete_type_witness %iN.builtin [symbolic] -// CHECK:STDOUT: %Add.impl_witness: = impl_witness file.%Add.impl_witness_table, @impl(%N) [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, @impl(%N) [symbolic] +// CHECK:STDOUT: %Op.type.883: type = fn_type @Op.2, @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] @@ -163,7 +163,7 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt); // CHECK:STDOUT: } // CHECK:STDOUT: %N.loc11_13.1: Core.IntLiteral = bind_symbolic_name N, 0 [symbolic = %N.loc11_13.2 (constants.%N)] // CHECK:STDOUT: } -// CHECK:STDOUT: impl_decl @impl [concrete] { +// CHECK:STDOUT: impl_decl @Add.impl [concrete] { // CHECK:STDOUT: %N.patt: %pattern_type.dc0 = symbolic_binding_pattern N, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %MyInt.ref: %MyInt.type = name_ref MyInt, file.%MyInt.decl [concrete = constants.%MyInt.generic] @@ -178,8 +178,8 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt); // CHECK:STDOUT: } // CHECK:STDOUT: %N.loc15_14.1: Core.IntLiteral = bind_symbolic_name N, 0 [symbolic = %N.loc15_14.2 (constants.%N)] // CHECK:STDOUT: } -// CHECK:STDOUT: %Add.impl_witness_table = impl_witness_table (@impl.%Op.decl), @impl [concrete] -// CHECK:STDOUT: %Add.impl_witness: = impl_witness %Add.impl_witness_table, @impl(constants.%N) [symbolic = @impl.%Add.impl_witness (constants.%Add.impl_witness)] +// CHECK:STDOUT: %Add.impl_witness_table = impl_witness_table (@Add.impl.%Op.decl), @Add.impl [concrete] +// CHECK:STDOUT: %Add.impl_witness: = impl_witness %Add.impl_witness_table, @Add.impl(constants.%N) [symbolic = @Add.impl.%Add.impl_witness (constants.%Add.impl_witness)] // CHECK:STDOUT: %Double.decl: %Double.type = fn_decl @Double [concrete = constants.%Double] { // CHECK:STDOUT: %N.patt: %pattern_type.dc0 = symbolic_binding_pattern N, 0 [concrete] // CHECK:STDOUT: %x.patt: @Double.%pattern_type (%pattern_type.a71) = binding_pattern x [concrete] @@ -247,18 +247,18 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt); // CHECK:STDOUT: witness = (%Op.decl) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl(%N.loc15_14.1: Core.IntLiteral) { +// CHECK:STDOUT: generic impl @Add.impl(%N.loc15_14.1: Core.IntLiteral) { // CHECK:STDOUT: %N.loc15_14.2: Core.IntLiteral = bind_symbolic_name N, 0 [symbolic = %N.loc15_14.2 (constants.%N)] // CHECK:STDOUT: %MyInt.loc15_39.2: type = class_type @MyInt, @MyInt(%N.loc15_14.2) [symbolic = %MyInt.loc15_39.2 (constants.%MyInt)] -// CHECK:STDOUT: %Add.impl_witness: = impl_witness file.%Add.impl_witness_table, @impl(%N.loc15_14.2) [symbolic = %Add.impl_witness (constants.%Add.impl_witness)] +// 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, @impl(%N.loc15_14.2) [symbolic = %Op.type (constants.%Op.type.883)] -// CHECK:STDOUT: %Op: @impl.%Op.type (%Op.type.883) = struct_value () [symbolic = %Op (constants.%Op.8bc)] +// 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: @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: @impl.%Op.type (%Op.type.883) = fn_decl @Op.2 [symbolic = @impl.%Op (constants.%Op.8bc)] { +// 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] @@ -266,12 +266,12 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt); // 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: } { -// CHECK:STDOUT: %Self.ref.loc16_37: type = name_ref Self, @impl.%MyInt.loc15_39.1 [symbolic = %MyInt (constants.%MyInt)] +// 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.ref.loc16_15: type = name_ref Self, @impl.%MyInt.loc15_39.1 [symbolic = %MyInt (constants.%MyInt)] +// 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.ref.loc16_28: type = name_ref Self, @impl.%MyInt.loc15_39.1 [symbolic = %MyInt (constants.%MyInt)] +// 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 @@ -320,7 +320,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: generic fn @Op.2(@impl.%N.loc15_14.1: Core.IntLiteral) { +// CHECK:STDOUT: generic fn @Op.2(@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)] @@ -379,7 +379,7 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt); // CHECK:STDOUT: %complete_type.loc13_1.2 => constants.%complete_type // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl(constants.%N) { +// CHECK:STDOUT: specific @Add.impl(constants.%N) { // CHECK:STDOUT: %N.loc15_14.2 => constants.%N // CHECK:STDOUT: %MyInt.loc15_39.2 => constants.%MyInt // CHECK:STDOUT: %Add.impl_witness => constants.%Add.impl_witness @@ -439,13 +439,13 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt); // CHECK:STDOUT: %Op.d59: %Op.type.31b = struct_value () [concrete] // 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: %Add.impl_witness.e7c: = impl_witness imports.%Add.impl_witness_table, @impl(%N) [symbolic] -// CHECK:STDOUT: %Op.type.883: type = fn_type @Op.2, @impl(%N) [symbolic] +// CHECK:STDOUT: %Add.impl_witness.e7c: = impl_witness imports.%Add.impl_witness_table, @Add.impl(%N) [symbolic] +// CHECK:STDOUT: %Op.type.883: type = fn_type @Op.2, @Add.impl(%N) [symbolic] // CHECK:STDOUT: %Op.8bc: %Op.type.883 = struct_value () [symbolic] // CHECK:STDOUT: %pattern_type.a71: type = pattern_type %MyInt.09f [symbolic] // CHECK:STDOUT: %require_complete.fc7: = require_complete_type %MyInt.09f [symbolic] -// CHECK:STDOUT: %Add.impl_witness.976: = impl_witness imports.%Add.impl_witness_table, @impl(%int_64) [concrete] -// CHECK:STDOUT: %Op.type.5a6: type = fn_type @Op.2, @impl(%int_64) [concrete] +// CHECK:STDOUT: %Add.impl_witness.976: = impl_witness imports.%Add.impl_witness_table, @Add.impl(%int_64) [concrete] +// CHECK:STDOUT: %Op.type.5a6: type = fn_type @Op.2, @Add.impl(%int_64) [concrete] // CHECK:STDOUT: %Op.cf9: %Op.type.5a6 = struct_value () [concrete] // CHECK:STDOUT: %Add.facet.434: %Add.type = facet_value %MyInt.f30, (%Add.impl_witness.976) [concrete] // CHECK:STDOUT: %.39b: type = fn_type_with_self_type %Op.type.31b, %Add.facet.434 [concrete] @@ -476,13 +476,13 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt); // CHECK:STDOUT: %Main.Op = import_ref Main//generic_impl, Op, unloaded // CHECK:STDOUT: %Main.import_ref.5a3: %Op.type.31b = import_ref Main//generic_impl, loc5_41, loaded [concrete = constants.%Op.d59] // CHECK:STDOUT: %Main.import_ref.e5e: %Add.type = import_ref Main//generic_impl, inst17 [no loc], loaded [symbolic = constants.%Self] -// CHECK:STDOUT: %Main.import_ref.9fe: = import_ref Main//generic_impl, loc15_48, loaded [symbolic = @impl.%Add.impl_witness (constants.%Add.impl_witness.e7c)] -// CHECK:STDOUT: %Main.import_ref.f1e294.2: Core.IntLiteral = import_ref Main//generic_impl, loc15_14, loaded [symbolic = @impl.%N (constants.%N)] -// CHECK:STDOUT: %Main.import_ref.719: type = import_ref Main//generic_impl, loc15_39, loaded [symbolic = @impl.%MyInt (constants.%MyInt.09f)] +// CHECK:STDOUT: %Main.import_ref.9fe: = import_ref Main//generic_impl, loc15_48, loaded [symbolic = @Add.impl.%Add.impl_witness (constants.%Add.impl_witness.e7c)] +// CHECK:STDOUT: %Main.import_ref.f1e294.2: Core.IntLiteral = import_ref Main//generic_impl, loc15_14, loaded [symbolic = @Add.impl.%N (constants.%N)] +// CHECK:STDOUT: %Main.import_ref.719: type = import_ref Main//generic_impl, loc15_39, loaded [symbolic = @Add.impl.%MyInt (constants.%MyInt.09f)] // CHECK:STDOUT: %Main.import_ref.bf0: type = import_ref Main//generic_impl, loc15_44, loaded [concrete = constants.%Add.type] -// CHECK:STDOUT: %Main.import_ref.19b: @impl.%Op.type (%Op.type.883) = import_ref Main//generic_impl, loc16_42, loaded [symbolic = @impl.%Op (constants.%Op.8bc)] -// CHECK:STDOUT: %Add.impl_witness_table = impl_witness_table (%Main.import_ref.19b), @impl [concrete] -// CHECK:STDOUT: %Main.import_ref.f1e294.3: Core.IntLiteral = import_ref Main//generic_impl, loc15_14, loaded [symbolic = @impl.%N (constants.%N)] +// CHECK:STDOUT: %Main.import_ref.19b: @Add.impl.%Op.type (%Op.type.883) = import_ref Main//generic_impl, loc16_42, loaded [symbolic = @Add.impl.%Op (constants.%Op.8bc)] +// CHECK:STDOUT: %Add.impl_witness_table = impl_witness_table (%Main.import_ref.19b), @Add.impl [concrete] +// CHECK:STDOUT: %Main.import_ref.f1e294.3: Core.IntLiteral = import_ref Main//generic_impl, loc15_14, loaded [symbolic = @Add.impl.%N (constants.%N)] // CHECK:STDOUT: %Main.import_ref.f1e294.4: Core.IntLiteral = import_ref Main//generic_impl, loc19_11, loaded [symbolic = @Double.%N (constants.%N)] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -544,14 +544,14 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt); // CHECK:STDOUT: witness = (imports.%Main.Op) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl(imports.%Main.import_ref.f1e294.2: Core.IntLiteral) [from "generic_impl.carbon"] { +// CHECK:STDOUT: generic impl @Add.impl(imports.%Main.import_ref.f1e294.2: Core.IntLiteral) [from "generic_impl.carbon"] { // 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.09f)] -// CHECK:STDOUT: %Add.impl_witness: = impl_witness imports.%Add.impl_witness_table, @impl(%N) [symbolic = %Add.impl_witness (constants.%Add.impl_witness.e7c)] +// CHECK:STDOUT: %Add.impl_witness: = impl_witness imports.%Add.impl_witness_table, @Add.impl(%N) [symbolic = %Add.impl_witness (constants.%Add.impl_witness.e7c)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Op.type: type = fn_type @Op.2, @impl(%N) [symbolic = %Op.type (constants.%Op.type.883)] -// CHECK:STDOUT: %Op: @impl.%Op.type (%Op.type.883) = struct_value () [symbolic = %Op (constants.%Op.8bc)] +// CHECK:STDOUT: %Op.type: type = fn_type @Op.2, @Add.impl(%N) [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 [symbolic = %require_complete (constants.%require_complete.fc7)] // CHECK:STDOUT: // CHECK:STDOUT: impl: imports.%Main.import_ref.719 as imports.%Main.import_ref.bf0 { @@ -661,7 +661,7 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt); // CHECK:STDOUT: %pattern_type => constants.%pattern_type.8f9 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl(constants.%N) { +// CHECK:STDOUT: specific @Add.impl(constants.%N) { // CHECK:STDOUT: %N => constants.%N // CHECK:STDOUT: %MyInt => constants.%MyInt.09f // CHECK:STDOUT: %Add.impl_witness => constants.%Add.impl_witness.e7c @@ -678,7 +678,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 @impl(constants.%int_64) { +// CHECK:STDOUT: specific @Add.impl(constants.%int_64) { // CHECK:STDOUT: %N => constants.%int_64 // CHECK:STDOUT: %MyInt => constants.%MyInt.f30 // CHECK:STDOUT: %Add.impl_witness => constants.%Add.impl_witness.976 diff --git a/toolchain/check/testdata/impl/import_compound.carbon b/toolchain/check/testdata/impl/import_compound.carbon index 0df3fc739d86..37835c2981f2 100644 --- a/toolchain/check/testdata/impl/import_compound.carbon +++ b/toolchain/check/testdata/impl/import_compound.carbon @@ -143,22 +143,22 @@ fn InstanceCallImportFail() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %NonInstance.decl: type = interface_decl @NonInstance [concrete = constants.%NonInstance.type] {} {} -// CHECK:STDOUT: impl_decl @impl.c58 [concrete] {} { +// CHECK:STDOUT: impl_decl @NonInstance.impl [concrete] {} { // CHECK:STDOUT: %.loc7_12.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc7_12.2: type = converted %.loc7_12.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %struct_type.i: type = struct_type {.i: %empty_tuple.type} [concrete = constants.%struct_type.i] // CHECK:STDOUT: %NonInstance.ref: type = name_ref NonInstance, file.%NonInstance.decl [concrete = constants.%NonInstance.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %NonInstance.impl_witness_table = impl_witness_table (@impl.c58.%F.decl), @impl.c58 [concrete] +// CHECK:STDOUT: %NonInstance.impl_witness_table = impl_witness_table (@NonInstance.impl.%F.decl), @NonInstance.impl [concrete] // CHECK:STDOUT: %NonInstance.impl_witness: = impl_witness %NonInstance.impl_witness_table [concrete = constants.%NonInstance.impl_witness] // CHECK:STDOUT: %Instance.decl: type = interface_decl @Instance [concrete = constants.%Instance.type] {} {} -// CHECK:STDOUT: impl_decl @impl.477 [concrete] {} { +// CHECK:STDOUT: impl_decl @Instance.impl [concrete] {} { // CHECK:STDOUT: %.loc15_12.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc15_12.2: type = converted %.loc15_12.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %struct_type.i: type = struct_type {.i: %empty_tuple.type} [concrete = constants.%struct_type.i] // CHECK:STDOUT: %Instance.ref: type = name_ref Instance, file.%Instance.decl [concrete = constants.%Instance.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %Instance.impl_witness_table = impl_witness_table (@impl.477.%G.decl), @impl.477 [concrete] +// CHECK:STDOUT: %Instance.impl_witness_table = impl_witness_table (@Instance.impl.%G.decl), @Instance.impl [concrete] // CHECK:STDOUT: %Instance.impl_witness: = impl_witness %Instance.impl_witness_table [concrete = constants.%Instance.impl_witness] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -195,7 +195,7 @@ fn InstanceCallImportFail() { // CHECK:STDOUT: witness = (%G.decl) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.c58: %struct_type.i as %NonInstance.ref { +// 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: // CHECK:STDOUT: !members: @@ -203,13 +203,13 @@ fn InstanceCallImportFail() { // CHECK:STDOUT: witness = file.%NonInstance.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.477: %struct_type.i as %Instance.ref { +// 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: %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: } { // CHECK:STDOUT: %self.param: %struct_type.i = value_param call_param0 -// CHECK:STDOUT: %Self.ref: type = name_ref Self, @impl.477.%struct_type.i [concrete = constants.%struct_type.i] +// CHECK:STDOUT: %Self.ref: type = name_ref Self, @Instance.impl.%struct_type.i [concrete = constants.%struct_type.i] // CHECK:STDOUT: %self: %struct_type.i = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: @@ -299,7 +299,7 @@ fn InstanceCallImportFail() { // CHECK:STDOUT: %Main.import_ref.c9a3b6.2: type = import_ref Main//lib, loc15_13, loaded [concrete = constants.%struct_type.i] // CHECK:STDOUT: %Main.import_ref.b49: type = import_ref Main//lib, loc15_18, loaded [concrete = constants.%Instance.type] // CHECK:STDOUT: %Main.import_ref.2d7: %F.type.042 = import_ref Main//lib, loc8_10, loaded [concrete = constants.%F.db4] -// CHECK:STDOUT: %NonInstance.impl_witness_table = impl_witness_table (%Main.import_ref.2d7), @impl.c58 [concrete] +// CHECK:STDOUT: %NonInstance.impl_witness_table = impl_witness_table (%Main.import_ref.2d7), @NonInstance.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -328,12 +328,12 @@ fn InstanceCallImportFail() { // CHECK:STDOUT: witness = (imports.%Main.G) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.c58: imports.%Main.import_ref.c9a3b6.1 as imports.%Main.import_ref.ef5 [from "lib.carbon"] { +// CHECK:STDOUT: impl @NonInstance.impl: imports.%Main.import_ref.c9a3b6.1 as imports.%Main.import_ref.ef5 [from "lib.carbon"] { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = imports.%Main.import_ref.a26 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.477: imports.%Main.import_ref.c9a3b6.2 as imports.%Main.import_ref.b49 [from "lib.carbon"] { +// CHECK:STDOUT: impl @Instance.impl: imports.%Main.import_ref.c9a3b6.2 as imports.%Main.import_ref.b49 [from "lib.carbon"] { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = imports.%Main.import_ref.a9f // CHECK:STDOUT: } @@ -441,12 +441,12 @@ fn InstanceCallImportFail() { // CHECK:STDOUT: witness = (imports.%Main.G) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.c58: imports.%Main.import_ref.c9a3b6.1 as imports.%Main.import_ref.ef5 [from "lib.carbon"] { +// CHECK:STDOUT: impl @NonInstance.impl: imports.%Main.import_ref.c9a3b6.1 as imports.%Main.import_ref.ef5 [from "lib.carbon"] { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = imports.%Main.import_ref.eb8 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.477: imports.%Main.import_ref.c9a3b6.2 as imports.%Main.import_ref.b49 [from "lib.carbon"] { +// CHECK:STDOUT: impl @Instance.impl: imports.%Main.import_ref.c9a3b6.2 as imports.%Main.import_ref.b49 [from "lib.carbon"] { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = imports.%Main.import_ref.a9f // CHECK:STDOUT: } @@ -549,12 +549,12 @@ fn InstanceCallImportFail() { // CHECK:STDOUT: witness = (imports.%Main.G) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.c58: imports.%Main.import_ref.c9a3b6.1 as imports.%Main.import_ref.ef5 [from "lib.carbon"] { +// CHECK:STDOUT: impl @NonInstance.impl: imports.%Main.import_ref.c9a3b6.1 as imports.%Main.import_ref.ef5 [from "lib.carbon"] { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = imports.%Main.import_ref.eb8 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.477: imports.%Main.import_ref.c9a3b6.2 as imports.%Main.import_ref.b49 [from "lib.carbon"] { +// CHECK:STDOUT: impl @Instance.impl: imports.%Main.import_ref.c9a3b6.2 as imports.%Main.import_ref.b49 [from "lib.carbon"] { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = imports.%Main.import_ref.a9f // CHECK:STDOUT: } @@ -627,7 +627,7 @@ fn InstanceCallImportFail() { // CHECK:STDOUT: %Main.import_ref.c9a3b6.2: type = import_ref Main//lib, loc15_13, loaded [concrete = constants.%struct_type.i] // CHECK:STDOUT: %Main.import_ref.b49: type = import_ref Main//lib, loc15_18, loaded [concrete = constants.%Instance.type] // CHECK:STDOUT: %Main.import_ref.373: %G.type.0c0 = import_ref Main//lib, loc16_22, loaded [concrete = constants.%G.484] -// CHECK:STDOUT: %Instance.impl_witness_table = impl_witness_table (%Main.import_ref.373), @impl.477 [concrete] +// CHECK:STDOUT: %Instance.impl_witness_table = impl_witness_table (%Main.import_ref.373), @Instance.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -681,12 +681,12 @@ fn InstanceCallImportFail() { // CHECK:STDOUT: witness = (imports.%Main.F) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.c58: imports.%Main.import_ref.c9a3b6.1 as imports.%Main.import_ref.ef5 [from "lib.carbon"] { +// CHECK:STDOUT: impl @NonInstance.impl: imports.%Main.import_ref.c9a3b6.1 as imports.%Main.import_ref.ef5 [from "lib.carbon"] { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = imports.%Main.import_ref.eb8 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.477: imports.%Main.import_ref.c9a3b6.2 as imports.%Main.import_ref.b49 [from "lib.carbon"] { +// CHECK:STDOUT: impl @Instance.impl: imports.%Main.import_ref.c9a3b6.2 as imports.%Main.import_ref.b49 [from "lib.carbon"] { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = imports.%Main.import_ref.97f // CHECK:STDOUT: } @@ -802,12 +802,12 @@ fn InstanceCallImportFail() { // CHECK:STDOUT: witness = (imports.%Main.F) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.c58: imports.%Main.import_ref.c9a3b6.1 as imports.%Main.import_ref.ef5 [from "lib.carbon"] { +// CHECK:STDOUT: impl @NonInstance.impl: imports.%Main.import_ref.c9a3b6.1 as imports.%Main.import_ref.ef5 [from "lib.carbon"] { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = imports.%Main.import_ref.eb8 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.477: imports.%Main.import_ref.c9a3b6.2 as imports.%Main.import_ref.b49 [from "lib.carbon"] { +// CHECK:STDOUT: impl @Instance.impl: imports.%Main.import_ref.c9a3b6.2 as imports.%Main.import_ref.b49 [from "lib.carbon"] { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = imports.%Main.import_ref.a9f // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/impl/import_extend_impl.carbon b/toolchain/check/testdata/impl/import_extend_impl.carbon index 22ab44c2d2ae..623b07b6dc76 100644 --- a/toolchain/check/testdata/impl/import_extend_impl.carbon +++ b/toolchain/check/testdata/impl/import_extend_impl.carbon @@ -75,7 +75,7 @@ fn G(c: C) { // CHECK:STDOUT: witness = (%F.decl) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %Self.ref as %I.ref { +// 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: // CHECK:STDOUT: !members: @@ -84,11 +84,11 @@ fn G(c: C) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @C { -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl [concrete] {} { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%C [concrete = constants.%C] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (@impl.%F.decl), @impl [concrete] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (@I.impl.%F.decl), @I.impl [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness] // 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] @@ -97,7 +97,7 @@ fn G(c: C) { // CHECK:STDOUT: !members: // CHECK:STDOUT: .Self = constants.%C // CHECK:STDOUT: .I = -// CHECK:STDOUT: extend @impl.%I.ref +// CHECK:STDOUT: extend @I.impl.%I.ref // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @F.1(@I.%Self: %I.type) { @@ -150,7 +150,7 @@ fn G(c: C) { // CHECK:STDOUT: %Main.import_ref.0ed: type = import_ref Main//extend_impl_library, loc9_15, loaded [concrete = constants.%C] // CHECK:STDOUT: %Main.import_ref.3019d1.2: type = import_ref Main//extend_impl_library, loc9_18, loaded [concrete = constants.%I.type] // CHECK:STDOUT: %Main.import_ref.f6d: %F.type.f36 = import_ref Main//extend_impl_library, loc10_12, loaded [concrete = constants.%F.4c3] -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%Main.import_ref.f6d), @impl [concrete] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%Main.import_ref.f6d), @I.impl [concrete] // CHECK:STDOUT: %Main.import_ref.5dd: %I.type = import_ref Main//extend_impl_library, inst17 [no loc], loaded [symbolic = constants.%Self] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -178,7 +178,7 @@ fn G(c: C) { // CHECK:STDOUT: witness = (imports.%Main.F) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: imports.%Main.import_ref.0ed as imports.%Main.import_ref.3019d1.2 [from "extend_impl_library.carbon"] { +// CHECK:STDOUT: impl @I.impl: imports.%Main.import_ref.0ed as imports.%Main.import_ref.3019d1.2 [from "extend_impl_library.carbon"] { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = imports.%Main.import_ref.9d1 // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/impl/import_generic.carbon b/toolchain/check/testdata/impl/import_generic.carbon index 02efd480d3d3..7341eb9166f2 100644 --- a/toolchain/check/testdata/impl/import_generic.carbon +++ b/toolchain/check/testdata/impl/import_generic.carbon @@ -113,13 +113,13 @@ impl forall [T:! type] D as J(T*) {} // CHECK:STDOUT: %I.generic: %I.type.dac = struct_value () [concrete] // CHECK:STDOUT: %I.type.325: type = facet_type <@I, @I(%T)> [symbolic] // CHECK:STDOUT: %Self.209: %I.type.325 = bind_symbolic_name Self, 1 [symbolic] -// CHECK:STDOUT: %I.impl_witness.1a9: = impl_witness file.%I.impl_witness_table.loc8, @impl.084(%T) [symbolic] +// CHECK:STDOUT: %I.impl_witness.1a9: = impl_witness file.%I.impl_witness_table.loc8, @I.impl.084(%T) [symbolic] // CHECK:STDOUT: %require_complete.cfe: = require_complete_type %I.type.325 [symbolic] // CHECK:STDOUT: %ptr: type = ptr_type %T [symbolic] // CHECK:STDOUT: %I.type.0e2: type = facet_type <@I, @I(%ptr)> [symbolic] // CHECK:STDOUT: %Self.fb4: %I.type.0e2 = bind_symbolic_name Self, 1 [symbolic] // CHECK:STDOUT: %require_complete.0e6: = require_complete_type %I.type.0e2 [symbolic] -// CHECK:STDOUT: %I.impl_witness.6ad: = impl_witness file.%I.impl_witness_table.loc12, @impl.cd2(%T) [symbolic] +// CHECK:STDOUT: %I.impl_witness.6ad: = impl_witness file.%I.impl_witness_table.loc12, @I.impl.cd2(%T) [symbolic] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -133,7 +133,7 @@ impl forall [T:! type] D as J(T*) {} // CHECK:STDOUT: } { // CHECK:STDOUT: %T.loc5_13.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc5_13.2 (constants.%T)] // CHECK:STDOUT: } -// CHECK:STDOUT: impl_decl @impl.084 [concrete] { +// CHECK:STDOUT: impl_decl @I.impl.084 [concrete] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc8: type = name_ref C, file.%C.decl [concrete = constants.%C] @@ -142,9 +142,9 @@ impl forall [T:! type] D as J(T*) {} // CHECK:STDOUT: %I.type.loc8_32.1: type = facet_type <@I, @I(constants.%T)> [symbolic = %I.type.loc8_32.2 (constants.%I.type.325)] // CHECK:STDOUT: %T.loc8_14.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc8_14.2 (constants.%T)] // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table.loc8 = impl_witness_table (), @impl.084 [concrete] -// CHECK:STDOUT: %I.impl_witness.loc8: = impl_witness %I.impl_witness_table.loc8, @impl.084(constants.%T) [symbolic = @impl.084.%I.impl_witness (constants.%I.impl_witness.1a9)] -// CHECK:STDOUT: impl_decl @impl.084 [concrete] { +// CHECK:STDOUT: %I.impl_witness_table.loc8 = impl_witness_table (), @I.impl.084 [concrete] +// CHECK:STDOUT: %I.impl_witness.loc8: = impl_witness %I.impl_witness_table.loc8, @I.impl.084(constants.%T) [symbolic = @I.impl.084.%I.impl_witness (constants.%I.impl_witness.1a9)] +// CHECK:STDOUT: impl_decl @I.impl.084 [concrete] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc9: type = name_ref C, file.%C.decl [concrete = constants.%C] @@ -153,7 +153,7 @@ impl forall [T:! type] D as J(T*) {} // CHECK:STDOUT: %I.type.loc9: type = facet_type <@I, @I(constants.%T)> [symbolic = %I.type.loc8_32.2 (constants.%I.type.325)] // CHECK:STDOUT: %T.loc9: type = bind_symbolic_name T, 0 [symbolic = %T.loc8_14.2 (constants.%T)] // CHECK:STDOUT: } -// CHECK:STDOUT: impl_decl @impl.cd2 [concrete] { +// CHECK:STDOUT: impl_decl @I.impl.cd2 [concrete] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] @@ -163,8 +163,8 @@ impl forall [T:! type] D as J(T*) {} // CHECK:STDOUT: %I.type.loc12_33.1: type = facet_type <@I, @I(constants.%ptr)> [symbolic = %I.type.loc12_33.2 (constants.%I.type.0e2)] // CHECK:STDOUT: %T.loc12_14.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc12_14.2 (constants.%T)] // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table.loc12 = impl_witness_table (), @impl.cd2 [concrete] -// CHECK:STDOUT: %I.impl_witness.loc12: = impl_witness %I.impl_witness_table.loc12, @impl.cd2(constants.%T) [symbolic = @impl.cd2.%I.impl_witness (constants.%I.impl_witness.6ad)] +// CHECK:STDOUT: %I.impl_witness_table.loc12 = impl_witness_table (), @I.impl.cd2 [concrete] +// CHECK:STDOUT: %I.impl_witness.loc12: = impl_witness %I.impl_witness_table.loc12, @I.impl.cd2(constants.%T) [symbolic = @I.impl.cd2.%I.impl_witness (constants.%I.impl_witness.6ad)] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @I(%T.loc5_13.1: type) { @@ -183,10 +183,10 @@ impl forall [T:! type] D as J(T*) {} // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl.084(%T.loc8_14.1: type) { +// CHECK:STDOUT: generic impl @I.impl.084(%T.loc8_14.1: type) { // CHECK:STDOUT: %T.loc8_14.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc8_14.2 (constants.%T)] // CHECK:STDOUT: %I.type.loc8_32.2: type = facet_type <@I, @I(%T.loc8_14.2)> [symbolic = %I.type.loc8_32.2 (constants.%I.type.325)] -// CHECK:STDOUT: %I.impl_witness: = impl_witness file.%I.impl_witness_table.loc8, @impl.084(%T.loc8_14.2) [symbolic = %I.impl_witness (constants.%I.impl_witness.1a9)] +// CHECK:STDOUT: %I.impl_witness: = impl_witness file.%I.impl_witness_table.loc8, @I.impl.084(%T.loc8_14.2) [symbolic = %I.impl_witness (constants.%I.impl_witness.1a9)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type %I.type.loc8_32.2 [symbolic = %require_complete (constants.%require_complete.cfe)] @@ -197,12 +197,12 @@ impl forall [T:! type] D as J(T*) {} // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl.cd2(%T.loc12_14.1: type) { +// CHECK:STDOUT: generic impl @I.impl.cd2(%T.loc12_14.1: type) { // CHECK:STDOUT: %T.loc12_14.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc12_14.2 (constants.%T)] // CHECK:STDOUT: %ptr.loc12_32.2: type = ptr_type %T.loc12_14.2 [symbolic = %ptr.loc12_32.2 (constants.%ptr)] // CHECK:STDOUT: %I.type.loc12_33.2: type = facet_type <@I, @I(%ptr.loc12_32.2)> [symbolic = %I.type.loc12_33.2 (constants.%I.type.0e2)] // CHECK:STDOUT: %require_complete: = require_complete_type %I.type.loc12_33.2 [symbolic = %require_complete (constants.%require_complete.0e6)] -// CHECK:STDOUT: %I.impl_witness: = impl_witness file.%I.impl_witness_table.loc12, @impl.cd2(%T.loc12_14.2) [symbolic = %I.impl_witness (constants.%I.impl_witness.6ad)] +// CHECK:STDOUT: %I.impl_witness: = impl_witness file.%I.impl_witness_table.loc12, @I.impl.cd2(%T.loc12_14.2) [symbolic = %I.impl_witness (constants.%I.impl_witness.6ad)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: @@ -229,7 +229,7 @@ impl forall [T:! type] D as J(T*) {} // CHECK:STDOUT: %Self.2 => constants.%Self.209 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.084(constants.%T) { +// CHECK:STDOUT: specific @I.impl.084(constants.%T) { // CHECK:STDOUT: %T.loc8_14.2 => constants.%T // CHECK:STDOUT: %I.type.loc8_32.2 => constants.%I.type.325 // CHECK:STDOUT: %I.impl_witness => constants.%I.impl_witness.1a9 @@ -243,7 +243,7 @@ impl forall [T:! type] D as J(T*) {} // CHECK:STDOUT: %Self.2 => constants.%Self.fb4 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.cd2(constants.%T) { +// CHECK:STDOUT: specific @I.impl.cd2(constants.%T) { // CHECK:STDOUT: %T.loc12_14.2 => constants.%T // CHECK:STDOUT: %ptr.loc12_32.2 => constants.%ptr // CHECK:STDOUT: %I.type.loc12_33.2 => constants.%I.type.0e2 @@ -263,12 +263,12 @@ impl forall [T:! type] D as J(T*) {} // 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: %I.impl_witness.1a9: = impl_witness imports.%I.impl_witness_table.028, @impl.08450a.1(%T) [symbolic] +// CHECK:STDOUT: %I.impl_witness.1a9: = impl_witness imports.%I.impl_witness_table.028, @I.impl.08450a.1(%T) [symbolic] // CHECK:STDOUT: %require_complete.cfe: = require_complete_type %I.type.325 [symbolic] // CHECK:STDOUT: %ptr: type = ptr_type %T [symbolic] // CHECK:STDOUT: %I.type.0e2: type = facet_type <@I, @I(%ptr)> [symbolic] // CHECK:STDOUT: %require_complete.0e6: = require_complete_type %I.type.0e2 [symbolic] -// CHECK:STDOUT: %I.impl_witness.6ad: = impl_witness imports.%I.impl_witness_table.e14, @impl.cd2fdc.1(%T) [symbolic] +// CHECK:STDOUT: %I.impl_witness.6ad: = impl_witness imports.%I.impl_witness_table.e14, @I.impl.cd2fdc.1(%T) [symbolic] // CHECK:STDOUT: %Self.fb4: %I.type.0e2 = bind_symbolic_name Self, 1 [symbolic] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -280,15 +280,15 @@ impl forall [T:! type] D as J(T*) {} // CHECK:STDOUT: %Main.import_ref.cc6 = import_ref Main//import_generic, loc8_33, unloaded // CHECK:STDOUT: %Main.import_ref.8f2: = import_ref Main//import_generic, loc4_10, loaded [concrete = constants.%complete_type] // CHECK:STDOUT: %Main.import_ref.2c4 = import_ref Main//import_generic, inst16 [no loc], unloaded -// CHECK:STDOUT: %Main.import_ref.5ab3ec.2: type = import_ref Main//import_generic, loc8_14, loaded [symbolic = @impl.08450a.1.%T (constants.%T)] +// CHECK:STDOUT: %Main.import_ref.5ab3ec.2: type = import_ref Main//import_generic, loc8_14, loaded [symbolic = @I.impl.08450a.1.%T (constants.%T)] // CHECK:STDOUT: %Main.import_ref.29aca8.1: type = import_ref Main//import_generic, loc8_24, loaded [concrete = constants.%C] -// CHECK:STDOUT: %Main.import_ref.4be: type = import_ref Main//import_generic, loc8_32, loaded [symbolic = @impl.08450a.1.%I.type (constants.%I.type.325)] -// CHECK:STDOUT: %I.impl_witness_table.028 = impl_witness_table (), @impl.08450a.1 [concrete] +// CHECK:STDOUT: %Main.import_ref.4be: type = import_ref Main//import_generic, loc8_32, loaded [symbolic = @I.impl.08450a.1.%I.type (constants.%I.type.325)] +// CHECK:STDOUT: %I.impl_witness_table.028 = impl_witness_table (), @I.impl.08450a.1 [concrete] // CHECK:STDOUT: %Main.import_ref.fc2 = import_ref Main//import_generic, loc12_35, unloaded -// CHECK:STDOUT: %Main.import_ref.5ab3ec.3: type = import_ref Main//import_generic, loc12_14, loaded [symbolic = @impl.cd2fdc.1.%T (constants.%T)] +// CHECK:STDOUT: %Main.import_ref.5ab3ec.3: type = import_ref Main//import_generic, loc12_14, loaded [symbolic = @I.impl.cd2fdc.1.%T (constants.%T)] // CHECK:STDOUT: %Main.import_ref.29aca8.2: type = import_ref Main//import_generic, loc12_24, loaded [concrete = constants.%C] -// CHECK:STDOUT: %Main.import_ref.3e2: type = import_ref Main//import_generic, loc12_33, loaded [symbolic = @impl.cd2fdc.1.%I.type (constants.%I.type.0e2)] -// CHECK:STDOUT: %I.impl_witness_table.e14 = impl_witness_table (), @impl.cd2fdc.1 [concrete] +// CHECK:STDOUT: %Main.import_ref.3e2: type = import_ref Main//import_generic, loc12_33, loaded [symbolic = @I.impl.cd2fdc.1.%I.type (constants.%I.type.0e2)] +// CHECK:STDOUT: %I.impl_witness_table.e14 = impl_witness_table (), @I.impl.cd2fdc.1 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -298,7 +298,7 @@ impl forall [T:! type] D as J(T*) {} // CHECK:STDOUT: } // CHECK:STDOUT: %default.import.loc2_30.1 = import // CHECK:STDOUT: %default.import.loc2_30.2 = import -// CHECK:STDOUT: impl_decl @impl.08450a.2 [concrete] { +// CHECK:STDOUT: impl_decl @I.impl.08450a.2 [concrete] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, imports.%Main.C [concrete = constants.%C] @@ -307,7 +307,7 @@ impl forall [T:! type] D as J(T*) {} // CHECK:STDOUT: %I.type.loc8_32.1: type = facet_type <@I, @I(constants.%T)> [symbolic = %I.type.loc8_32.2 (constants.%I.type.325)] // CHECK:STDOUT: %T.loc8_14.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc8_14.2 (constants.%T)] // CHECK:STDOUT: } -// CHECK:STDOUT: impl_decl @impl.08450a.3 [concrete] { +// CHECK:STDOUT: impl_decl @I.impl.08450a.3 [concrete] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, imports.%Main.C [concrete = constants.%C] @@ -316,7 +316,7 @@ impl forall [T:! type] D as J(T*) {} // CHECK:STDOUT: %I.type.loc14_32.1: type = facet_type <@I, @I(constants.%T)> [symbolic = %I.type.loc14_32.2 (constants.%I.type.325)] // CHECK:STDOUT: %T.loc14_14.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc14_14.2 (constants.%T)] // CHECK:STDOUT: } -// CHECK:STDOUT: impl_decl @impl.cd2fdc.2 [concrete] { +// CHECK:STDOUT: impl_decl @I.impl.cd2fdc.2 [concrete] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, imports.%Main.C [concrete = constants.%C] @@ -326,7 +326,7 @@ impl forall [T:! type] D as J(T*) {} // CHECK:STDOUT: %I.type.loc20_33.1: type = facet_type <@I, @I(constants.%ptr)> [symbolic = %I.type.loc20_33.2 (constants.%I.type.0e2)] // CHECK:STDOUT: %T.loc20_14.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc20_14.2 (constants.%T)] // CHECK:STDOUT: } -// CHECK:STDOUT: impl_decl @impl.cd2fdc.3 [concrete] { +// CHECK:STDOUT: impl_decl @I.impl.cd2fdc.3 [concrete] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, imports.%Main.C [concrete = constants.%C] @@ -352,10 +352,10 @@ impl forall [T:! type] D as J(T*) {} // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl.08450a.1(imports.%Main.import_ref.5ab3ec.2: type) [from "import_generic.carbon"] { +// CHECK:STDOUT: generic impl @I.impl.08450a.1(imports.%Main.import_ref.5ab3ec.2: type) [from "import_generic.carbon"] { // 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: %I.impl_witness: = impl_witness imports.%I.impl_witness_table.028, @impl.08450a.1(%T) [symbolic = %I.impl_witness (constants.%I.impl_witness.1a9)] +// CHECK:STDOUT: %I.impl_witness: = impl_witness imports.%I.impl_witness_table.028, @I.impl.08450a.1(%T) [symbolic = %I.impl_witness (constants.%I.impl_witness.1a9)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type %I.type [symbolic = %require_complete (constants.%require_complete.cfe)] @@ -366,12 +366,12 @@ impl forall [T:! type] D as J(T*) {} // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl.cd2fdc.1(imports.%Main.import_ref.5ab3ec.3: type) [from "import_generic.carbon"] { +// CHECK:STDOUT: generic impl @I.impl.cd2fdc.1(imports.%Main.import_ref.5ab3ec.3: type) [from "import_generic.carbon"] { // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic = %T (constants.%T)] // CHECK:STDOUT: %ptr: type = ptr_type %T [symbolic = %ptr (constants.%ptr)] // CHECK:STDOUT: %I.type: type = facet_type <@I, @I(%ptr)> [symbolic = %I.type (constants.%I.type.0e2)] // CHECK:STDOUT: %require_complete: = require_complete_type %I.type [symbolic = %require_complete (constants.%require_complete.0e6)] -// CHECK:STDOUT: %I.impl_witness: = impl_witness imports.%I.impl_witness_table.e14, @impl.cd2fdc.1(%T) [symbolic = %I.impl_witness (constants.%I.impl_witness.6ad)] +// CHECK:STDOUT: %I.impl_witness: = impl_witness imports.%I.impl_witness_table.e14, @I.impl.cd2fdc.1(%T) [symbolic = %I.impl_witness (constants.%I.impl_witness.6ad)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: @@ -381,14 +381,14 @@ impl forall [T:! type] D as J(T*) {} // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl.08450a.2(%T.loc8_14.1: type) { +// CHECK:STDOUT: generic impl @I.impl.08450a.2(%T.loc8_14.1: type) { // CHECK:STDOUT: %T.loc8_14.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc8_14.2 (constants.%T)] // CHECK:STDOUT: %I.type.loc8_32.2: type = facet_type <@I, @I(%T.loc8_14.2)> [symbolic = %I.type.loc8_32.2 (constants.%I.type.325)] // CHECK:STDOUT: // CHECK:STDOUT: impl: %C.ref as %I.type.loc8_32.1; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl.08450a.3(%T.loc14_14.1: type) { +// CHECK:STDOUT: generic impl @I.impl.08450a.3(%T.loc14_14.1: type) { // CHECK:STDOUT: %T.loc14_14.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc14_14.2 (constants.%T)] // CHECK:STDOUT: %I.type.loc14_32.2: type = facet_type <@I, @I(%T.loc14_14.2)> [symbolic = %I.type.loc14_32.2 (constants.%I.type.325)] // CHECK:STDOUT: @@ -400,7 +400,7 @@ impl forall [T:! type] D as J(T*) {} // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl.cd2fdc.2(%T.loc20_14.1: type) { +// CHECK:STDOUT: generic impl @I.impl.cd2fdc.2(%T.loc20_14.1: type) { // CHECK:STDOUT: %T.loc20_14.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc20_14.2 (constants.%T)] // CHECK:STDOUT: %ptr.loc20_32.2: type = ptr_type %T.loc20_14.2 [symbolic = %ptr.loc20_32.2 (constants.%ptr)] // CHECK:STDOUT: %I.type.loc20_33.2: type = facet_type <@I, @I(%ptr.loc20_32.2)> [symbolic = %I.type.loc20_33.2 (constants.%I.type.0e2)] @@ -408,7 +408,7 @@ impl forall [T:! type] D as J(T*) {} // CHECK:STDOUT: impl: %C.ref as %I.type.loc20_33.1; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl.cd2fdc.3(%T.loc26_14.1: type) { +// CHECK:STDOUT: generic impl @I.impl.cd2fdc.3(%T.loc26_14.1: type) { // CHECK:STDOUT: %T.loc26_14.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc26_14.2 (constants.%T)] // CHECK:STDOUT: %ptr.loc26_32.2: type = ptr_type %T.loc26_14.2 [symbolic = %ptr.loc26_32.2 (constants.%ptr)] // CHECK:STDOUT: %I.type.loc26_33.2: type = facet_type <@I, @I(%ptr.loc26_32.2)> [symbolic = %I.type.loc26_33.2 (constants.%I.type.0e2)] @@ -436,7 +436,7 @@ impl forall [T:! type] D as J(T*) {} // CHECK:STDOUT: %Self => constants.%Self.209 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.08450a.1(constants.%T) { +// CHECK:STDOUT: specific @I.impl.08450a.1(constants.%T) { // CHECK:STDOUT: %T => constants.%T // CHECK:STDOUT: %I.type => constants.%I.type.325 // CHECK:STDOUT: %I.impl_witness => constants.%I.impl_witness.1a9 @@ -450,7 +450,7 @@ impl forall [T:! type] D as J(T*) {} // CHECK:STDOUT: %Self => constants.%Self.fb4 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.cd2fdc.1(constants.%T) { +// CHECK:STDOUT: specific @I.impl.cd2fdc.1(constants.%T) { // CHECK:STDOUT: %T => constants.%T // CHECK:STDOUT: %ptr => constants.%ptr // CHECK:STDOUT: %I.type => constants.%I.type.0e2 @@ -458,23 +458,23 @@ impl forall [T:! type] D as J(T*) {} // CHECK:STDOUT: %I.impl_witness => constants.%I.impl_witness.6ad // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.08450a.2(constants.%T) { +// CHECK:STDOUT: specific @I.impl.08450a.2(constants.%T) { // CHECK:STDOUT: %T.loc8_14.2 => constants.%T // CHECK:STDOUT: %I.type.loc8_32.2 => constants.%I.type.325 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.08450a.3(constants.%T) { +// CHECK:STDOUT: specific @I.impl.08450a.3(constants.%T) { // CHECK:STDOUT: %T.loc14_14.2 => constants.%T // CHECK:STDOUT: %I.type.loc14_32.2 => constants.%I.type.325 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.cd2fdc.2(constants.%T) { +// CHECK:STDOUT: specific @I.impl.cd2fdc.2(constants.%T) { // CHECK:STDOUT: %T.loc20_14.2 => constants.%T // CHECK:STDOUT: %ptr.loc20_32.2 => constants.%ptr // CHECK:STDOUT: %I.type.loc20_33.2 => constants.%I.type.0e2 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.cd2fdc.3(constants.%T) { +// CHECK:STDOUT: specific @I.impl.cd2fdc.3(constants.%T) { // CHECK:STDOUT: %T.loc26_14.2 => constants.%T // CHECK:STDOUT: %ptr.loc26_32.2 => constants.%ptr // CHECK:STDOUT: %I.type.loc26_33.2 => constants.%I.type.0e2 @@ -492,10 +492,10 @@ impl forall [T:! type] D as J(T*) {} // CHECK:STDOUT: %J.generic: %J.type.2b8 = struct_value () [concrete] // CHECK:STDOUT: %J.type.b72: type = facet_type <@J, @J(%T)> [symbolic] // CHECK:STDOUT: %Self: %J.type.b72 = bind_symbolic_name Self, 1 [symbolic] -// CHECK:STDOUT: %J.impl_witness.809: = impl_witness file.%J.impl_witness_table.loc11, @impl.199(%T) [symbolic] +// CHECK:STDOUT: %J.impl_witness.809: = impl_witness file.%J.impl_witness_table.loc11, @J.impl.199(%T) [symbolic] // CHECK:STDOUT: %ptr: type = ptr_type %T [symbolic] // CHECK:STDOUT: %J.type.628: type = facet_type <@J, @J(%ptr)> [symbolic] -// CHECK:STDOUT: %J.impl_witness.5a8: = impl_witness file.%J.impl_witness_table.loc17, @impl.dfd(%T) [symbolic] +// CHECK:STDOUT: %J.impl_witness.5a8: = impl_witness file.%J.impl_witness_table.loc17, @J.impl.dfd(%T) [symbolic] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -509,7 +509,7 @@ impl forall [T:! type] D as J(T*) {} // CHECK:STDOUT: } { // CHECK:STDOUT: %T.loc5_13.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc5_13.2 (constants.%T)] // CHECK:STDOUT: } -// CHECK:STDOUT: impl_decl @impl.199 [concrete] { +// CHECK:STDOUT: impl_decl @J.impl.199 [concrete] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D.decl [concrete = constants.%D] @@ -518,9 +518,9 @@ impl forall [T:! type] D as J(T*) {} // CHECK:STDOUT: %J.type.loc11_32.1: type = facet_type <@J, @J(constants.%T)> [symbolic = %J.type.loc11_32.2 (constants.%J.type.b72)] // CHECK:STDOUT: %T.loc11_14.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc11_14.2 (constants.%T)] // CHECK:STDOUT: } -// CHECK:STDOUT: %J.impl_witness_table.loc11 = impl_witness_table (), @impl.199 [concrete] -// CHECK:STDOUT: %J.impl_witness.loc11: = impl_witness %J.impl_witness_table.loc11, @impl.199(constants.%T) [symbolic = @impl.199.%J.impl_witness (constants.%J.impl_witness.809)] -// CHECK:STDOUT: impl_decl @impl.dfd [concrete] { +// CHECK:STDOUT: %J.impl_witness_table.loc11 = impl_witness_table (), @J.impl.199 [concrete] +// CHECK:STDOUT: %J.impl_witness.loc11: = impl_witness %J.impl_witness_table.loc11, @J.impl.199(constants.%T) [symbolic = @J.impl.199.%J.impl_witness (constants.%J.impl_witness.809)] +// CHECK:STDOUT: impl_decl @J.impl.dfd [concrete] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D.decl [concrete = constants.%D] @@ -530,8 +530,8 @@ impl forall [T:! type] D as J(T*) {} // CHECK:STDOUT: %J.type.loc17_33.1: type = facet_type <@J, @J(constants.%ptr)> [symbolic = %J.type.loc17_33.2 (constants.%J.type.628)] // CHECK:STDOUT: %T.loc17_14.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc17_14.2 (constants.%T)] // CHECK:STDOUT: } -// CHECK:STDOUT: %J.impl_witness_table.loc17 = impl_witness_table (), @impl.dfd [concrete] -// CHECK:STDOUT: %J.impl_witness.loc17: = impl_witness %J.impl_witness_table.loc17, @impl.dfd(constants.%T) [symbolic = @impl.dfd.%J.impl_witness (constants.%J.impl_witness.5a8)] +// CHECK:STDOUT: %J.impl_witness_table.loc17 = impl_witness_table (), @J.impl.dfd [concrete] +// CHECK:STDOUT: %J.impl_witness.loc17: = impl_witness %J.impl_witness_table.loc17, @J.impl.dfd(constants.%T) [symbolic = @J.impl.dfd.%J.impl_witness (constants.%J.impl_witness.5a8)] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @J(%T.loc5_13.1: type) { @@ -550,19 +550,19 @@ impl forall [T:! type] D as J(T*) {} // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl.199(%T.loc11_14.1: type) { +// CHECK:STDOUT: generic impl @J.impl.199(%T.loc11_14.1: type) { // CHECK:STDOUT: %T.loc11_14.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc11_14.2 (constants.%T)] // CHECK:STDOUT: %J.type.loc11_32.2: type = facet_type <@J, @J(%T.loc11_14.2)> [symbolic = %J.type.loc11_32.2 (constants.%J.type.b72)] -// CHECK:STDOUT: %J.impl_witness: = impl_witness file.%J.impl_witness_table.loc11, @impl.199(%T.loc11_14.2) [symbolic = %J.impl_witness (constants.%J.impl_witness.809)] +// CHECK:STDOUT: %J.impl_witness: = impl_witness file.%J.impl_witness_table.loc11, @J.impl.199(%T.loc11_14.2) [symbolic = %J.impl_witness (constants.%J.impl_witness.809)] // CHECK:STDOUT: // CHECK:STDOUT: impl: %D.ref as %J.type.loc11_32.1; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl.dfd(%T.loc17_14.1: type) { +// CHECK:STDOUT: generic impl @J.impl.dfd(%T.loc17_14.1: type) { // CHECK:STDOUT: %T.loc17_14.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc17_14.2 (constants.%T)] // CHECK:STDOUT: %ptr.loc17_32.2: type = ptr_type %T.loc17_14.2 [symbolic = %ptr.loc17_32.2 (constants.%ptr)] // CHECK:STDOUT: %J.type.loc17_33.2: type = facet_type <@J, @J(%ptr.loc17_32.2)> [symbolic = %J.type.loc17_33.2 (constants.%J.type.628)] -// CHECK:STDOUT: %J.impl_witness: = impl_witness file.%J.impl_witness_table.loc17, @impl.dfd(%T.loc17_14.2) [symbolic = %J.impl_witness (constants.%J.impl_witness.5a8)] +// CHECK:STDOUT: %J.impl_witness: = impl_witness file.%J.impl_witness_table.loc17, @J.impl.dfd(%T.loc17_14.2) [symbolic = %J.impl_witness (constants.%J.impl_witness.5a8)] // CHECK:STDOUT: // CHECK:STDOUT: impl: %D.ref as %J.type.loc17_33.1; // CHECK:STDOUT: } @@ -580,7 +580,7 @@ impl forall [T:! type] D as J(T*) {} // CHECK:STDOUT: %T.loc5_13.2 => constants.%T // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.199(constants.%T) { +// CHECK:STDOUT: specific @J.impl.199(constants.%T) { // CHECK:STDOUT: %T.loc11_14.2 => constants.%T // CHECK:STDOUT: %J.type.loc11_32.2 => constants.%J.type.b72 // CHECK:STDOUT: %J.impl_witness => constants.%J.impl_witness.809 @@ -590,7 +590,7 @@ impl forall [T:! type] D as J(T*) {} // CHECK:STDOUT: %T.loc5_13.2 => constants.%ptr // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.dfd(constants.%T) { +// CHECK:STDOUT: specific @J.impl.dfd(constants.%T) { // CHECK:STDOUT: %T.loc17_14.2 => constants.%T // CHECK:STDOUT: %ptr.loc17_32.2 => constants.%ptr // CHECK:STDOUT: %J.type.loc17_33.2 => constants.%J.type.628 @@ -609,10 +609,10 @@ impl forall [T:! type] D as J(T*) {} // CHECK:STDOUT: %D: type = class_type @D [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] -// CHECK:STDOUT: %J.impl_witness.809: = impl_witness imports.%J.impl_witness_table.891, @impl.199bba.1(%T) [symbolic] +// CHECK:STDOUT: %J.impl_witness.809: = impl_witness imports.%J.impl_witness_table.891, @J.impl.199bba.1(%T) [symbolic] // CHECK:STDOUT: %ptr: type = ptr_type %T [symbolic] // CHECK:STDOUT: %J.type.628: type = facet_type <@J, @J(%ptr)> [symbolic] -// CHECK:STDOUT: %J.impl_witness.5a8: = impl_witness imports.%J.impl_witness_table.487, @impl.dfd2f7.1(%T) [symbolic] +// CHECK:STDOUT: %J.impl_witness.5a8: = impl_witness imports.%J.impl_witness_table.487, @J.impl.dfd2f7.1(%T) [symbolic] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -622,14 +622,14 @@ impl forall [T:! type] D as J(T*) {} // CHECK:STDOUT: %Main.import_ref.ff5 = import_ref Main//import_generic_decl, inst31 [no loc], unloaded // CHECK:STDOUT: %Main.import_ref.8f2: = import_ref Main//import_generic_decl, loc4_10, loaded [concrete = constants.%complete_type] // CHECK:STDOUT: %Main.import_ref.cab = import_ref Main//import_generic_decl, inst16 [no loc], unloaded -// CHECK:STDOUT: %Main.import_ref.5ab3ec.2: type = import_ref Main//import_generic_decl, loc11_14, loaded [symbolic = @impl.199bba.1.%T (constants.%T)] +// CHECK:STDOUT: %Main.import_ref.5ab3ec.2: type = import_ref Main//import_generic_decl, loc11_14, loaded [symbolic = @J.impl.199bba.1.%T (constants.%T)] // CHECK:STDOUT: %Main.import_ref.aa9f8a.1: type = import_ref Main//import_generic_decl, loc11_24, loaded [concrete = constants.%D] -// CHECK:STDOUT: %Main.import_ref.ded: type = import_ref Main//import_generic_decl, loc11_32, loaded [symbolic = @impl.199bba.1.%J.type (constants.%J.type.b72)] -// CHECK:STDOUT: %J.impl_witness_table.891 = impl_witness_table (), @impl.199bba.1 [concrete] -// CHECK:STDOUT: %Main.import_ref.5ab3ec.3: type = import_ref Main//import_generic_decl, loc17_14, loaded [symbolic = @impl.dfd2f7.1.%T (constants.%T)] +// CHECK:STDOUT: %Main.import_ref.ded: type = import_ref Main//import_generic_decl, loc11_32, loaded [symbolic = @J.impl.199bba.1.%J.type (constants.%J.type.b72)] +// CHECK:STDOUT: %J.impl_witness_table.891 = impl_witness_table (), @J.impl.199bba.1 [concrete] +// CHECK:STDOUT: %Main.import_ref.5ab3ec.3: type = import_ref Main//import_generic_decl, loc17_14, loaded [symbolic = @J.impl.dfd2f7.1.%T (constants.%T)] // CHECK:STDOUT: %Main.import_ref.aa9f8a.2: type = import_ref Main//import_generic_decl, loc17_24, loaded [concrete = constants.%D] -// CHECK:STDOUT: %Main.import_ref.0d3: type = import_ref Main//import_generic_decl, loc17_33, loaded [symbolic = @impl.dfd2f7.1.%J.type (constants.%J.type.628)] -// CHECK:STDOUT: %J.impl_witness_table.487 = impl_witness_table (), @impl.dfd2f7.1 [concrete] +// CHECK:STDOUT: %Main.import_ref.0d3: type = import_ref Main//import_generic_decl, loc17_33, loaded [symbolic = @J.impl.dfd2f7.1.%J.type (constants.%J.type.628)] +// CHECK:STDOUT: %J.impl_witness_table.487 = impl_witness_table (), @J.impl.dfd2f7.1 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -639,7 +639,7 @@ impl forall [T:! type] D as J(T*) {} // CHECK:STDOUT: } // CHECK:STDOUT: %default.import.loc2_35.1 = import // CHECK:STDOUT: %default.import.loc2_35.2 = import -// CHECK:STDOUT: impl_decl @impl.199bba.2 [concrete] { +// CHECK:STDOUT: impl_decl @J.impl.199bba.2 [concrete] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref: type = name_ref D, imports.%Main.D [concrete = constants.%D] @@ -648,7 +648,7 @@ impl forall [T:! type] D as J(T*) {} // CHECK:STDOUT: %J.type.loc8_32.1: type = facet_type <@J, @J(constants.%T)> [symbolic = %J.type.loc8_32.2 (constants.%J.type.b72)] // CHECK:STDOUT: %T.loc8_14.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc8_14.2 (constants.%T)] // CHECK:STDOUT: } -// CHECK:STDOUT: impl_decl @impl.199bba.3 [concrete] { +// CHECK:STDOUT: impl_decl @J.impl.199bba.3 [concrete] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref: type = name_ref D, imports.%Main.D [concrete = constants.%D] @@ -657,7 +657,7 @@ impl forall [T:! type] D as J(T*) {} // CHECK:STDOUT: %J.type.loc14_32.1: type = facet_type <@J, @J(constants.%T)> [symbolic = %J.type.loc14_32.2 (constants.%J.type.b72)] // CHECK:STDOUT: %T.loc14_14.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc14_14.2 (constants.%T)] // CHECK:STDOUT: } -// CHECK:STDOUT: impl_decl @impl.dfd2f7.2 [concrete] { +// CHECK:STDOUT: impl_decl @J.impl.dfd2f7.2 [concrete] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref: type = name_ref D, imports.%Main.D [concrete = constants.%D] @@ -667,7 +667,7 @@ impl forall [T:! type] D as J(T*) {} // CHECK:STDOUT: %J.type.loc20_33.1: type = facet_type <@J, @J(constants.%ptr)> [symbolic = %J.type.loc20_33.2 (constants.%J.type.628)] // CHECK:STDOUT: %T.loc20_14.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc20_14.2 (constants.%T)] // CHECK:STDOUT: } -// CHECK:STDOUT: impl_decl @impl.dfd2f7.3 [concrete] { +// CHECK:STDOUT: impl_decl @J.impl.dfd2f7.3 [concrete] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref: type = name_ref D, imports.%Main.D [concrete = constants.%D] @@ -693,31 +693,31 @@ impl forall [T:! type] D as J(T*) {} // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl.199bba.1(imports.%Main.import_ref.5ab3ec.2: type) [from "fail_import_generic_decl.carbon"] { +// CHECK:STDOUT: generic impl @J.impl.199bba.1(imports.%Main.import_ref.5ab3ec.2: type) [from "fail_import_generic_decl.carbon"] { // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic = %T (constants.%T)] // CHECK:STDOUT: %J.type: type = facet_type <@J, @J(%T)> [symbolic = %J.type (constants.%J.type.b72)] -// CHECK:STDOUT: %J.impl_witness: = impl_witness imports.%J.impl_witness_table.891, @impl.199bba.1(%T) [symbolic = %J.impl_witness (constants.%J.impl_witness.809)] +// CHECK:STDOUT: %J.impl_witness: = impl_witness imports.%J.impl_witness_table.891, @J.impl.199bba.1(%T) [symbolic = %J.impl_witness (constants.%J.impl_witness.809)] // CHECK:STDOUT: // CHECK:STDOUT: impl: imports.%Main.import_ref.aa9f8a.1 as imports.%Main.import_ref.ded; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl.dfd2f7.1(imports.%Main.import_ref.5ab3ec.3: type) [from "fail_import_generic_decl.carbon"] { +// CHECK:STDOUT: generic impl @J.impl.dfd2f7.1(imports.%Main.import_ref.5ab3ec.3: type) [from "fail_import_generic_decl.carbon"] { // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic = %T (constants.%T)] // CHECK:STDOUT: %ptr: type = ptr_type %T [symbolic = %ptr (constants.%ptr)] // CHECK:STDOUT: %J.type: type = facet_type <@J, @J(%ptr)> [symbolic = %J.type (constants.%J.type.628)] -// CHECK:STDOUT: %J.impl_witness: = impl_witness imports.%J.impl_witness_table.487, @impl.dfd2f7.1(%T) [symbolic = %J.impl_witness (constants.%J.impl_witness.5a8)] +// CHECK:STDOUT: %J.impl_witness: = impl_witness imports.%J.impl_witness_table.487, @J.impl.dfd2f7.1(%T) [symbolic = %J.impl_witness (constants.%J.impl_witness.5a8)] // CHECK:STDOUT: // CHECK:STDOUT: impl: imports.%Main.import_ref.aa9f8a.2 as imports.%Main.import_ref.0d3; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl.199bba.2(%T.loc8_14.1: type) { +// CHECK:STDOUT: generic impl @J.impl.199bba.2(%T.loc8_14.1: type) { // CHECK:STDOUT: %T.loc8_14.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc8_14.2 (constants.%T)] // CHECK:STDOUT: %J.type.loc8_32.2: type = facet_type <@J, @J(%T.loc8_14.2)> [symbolic = %J.type.loc8_32.2 (constants.%J.type.b72)] // CHECK:STDOUT: // CHECK:STDOUT: impl: %D.ref as %J.type.loc8_32.1; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl.199bba.3(%T.loc14_14.1: type) { +// CHECK:STDOUT: generic impl @J.impl.199bba.3(%T.loc14_14.1: type) { // CHECK:STDOUT: %T.loc14_14.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc14_14.2 (constants.%T)] // CHECK:STDOUT: %J.type.loc14_32.2: type = facet_type <@J, @J(%T.loc14_14.2)> [symbolic = %J.type.loc14_32.2 (constants.%J.type.b72)] // CHECK:STDOUT: @@ -729,7 +729,7 @@ impl forall [T:! type] D as J(T*) {} // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl.dfd2f7.2(%T.loc20_14.1: type) { +// CHECK:STDOUT: generic impl @J.impl.dfd2f7.2(%T.loc20_14.1: type) { // CHECK:STDOUT: %T.loc20_14.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc20_14.2 (constants.%T)] // CHECK:STDOUT: %ptr.loc20_32.2: type = ptr_type %T.loc20_14.2 [symbolic = %ptr.loc20_32.2 (constants.%ptr)] // CHECK:STDOUT: %J.type.loc20_33.2: type = facet_type <@J, @J(%ptr.loc20_32.2)> [symbolic = %J.type.loc20_33.2 (constants.%J.type.628)] @@ -737,7 +737,7 @@ impl forall [T:! type] D as J(T*) {} // CHECK:STDOUT: impl: %D.ref as %J.type.loc20_33.1; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl.dfd2f7.3(%T.loc26_14.1: type) { +// CHECK:STDOUT: generic impl @J.impl.dfd2f7.3(%T.loc26_14.1: type) { // CHECK:STDOUT: %T.loc26_14.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc26_14.2 (constants.%T)] // CHECK:STDOUT: %ptr.loc26_32.2: type = ptr_type %T.loc26_14.2 [symbolic = %ptr.loc26_32.2 (constants.%ptr)] // CHECK:STDOUT: %J.type.loc26_33.2: type = facet_type <@J, @J(%ptr.loc26_32.2)> [symbolic = %J.type.loc26_33.2 (constants.%J.type.628)] @@ -761,7 +761,7 @@ impl forall [T:! type] D as J(T*) {} // CHECK:STDOUT: %T => constants.%T // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.199bba.1(constants.%T) { +// CHECK:STDOUT: specific @J.impl.199bba.1(constants.%T) { // CHECK:STDOUT: %T => constants.%T // CHECK:STDOUT: %J.type => constants.%J.type.b72 // CHECK:STDOUT: %J.impl_witness => constants.%J.impl_witness.809 @@ -771,30 +771,30 @@ impl forall [T:! type] D as J(T*) {} // CHECK:STDOUT: %T => constants.%ptr // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.dfd2f7.1(constants.%T) { +// CHECK:STDOUT: specific @J.impl.dfd2f7.1(constants.%T) { // CHECK:STDOUT: %T => constants.%T // CHECK:STDOUT: %ptr => constants.%ptr // CHECK:STDOUT: %J.type => constants.%J.type.628 // CHECK:STDOUT: %J.impl_witness => constants.%J.impl_witness.5a8 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.199bba.2(constants.%T) { +// CHECK:STDOUT: specific @J.impl.199bba.2(constants.%T) { // CHECK:STDOUT: %T.loc8_14.2 => constants.%T // CHECK:STDOUT: %J.type.loc8_32.2 => constants.%J.type.b72 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.199bba.3(constants.%T) { +// CHECK:STDOUT: specific @J.impl.199bba.3(constants.%T) { // CHECK:STDOUT: %T.loc14_14.2 => constants.%T // CHECK:STDOUT: %J.type.loc14_32.2 => constants.%J.type.b72 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.dfd2f7.2(constants.%T) { +// CHECK:STDOUT: specific @J.impl.dfd2f7.2(constants.%T) { // CHECK:STDOUT: %T.loc20_14.2 => constants.%T // CHECK:STDOUT: %ptr.loc20_32.2 => constants.%ptr // CHECK:STDOUT: %J.type.loc20_33.2 => constants.%J.type.628 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.dfd2f7.3(constants.%T) { +// CHECK:STDOUT: specific @J.impl.dfd2f7.3(constants.%T) { // CHECK:STDOUT: %T.loc26_14.2 => constants.%T // CHECK:STDOUT: %ptr.loc26_32.2 => constants.%ptr // CHECK:STDOUT: %J.type.loc26_33.2 => constants.%J.type.628 diff --git a/toolchain/check/testdata/impl/import_interface_assoc_const.carbon b/toolchain/check/testdata/impl/import_interface_assoc_const.carbon index 5e159b701de6..3bc792307e66 100644 --- a/toolchain/check/testdata/impl/import_interface_assoc_const.carbon +++ b/toolchain/check/testdata/impl/import_interface_assoc_const.carbon @@ -348,7 +348,7 @@ impl CD as IF where .F = 0 { // CHECK:STDOUT: } // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: %C1.decl: type = class_decl @C1 [concrete = constants.%C1] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl [concrete] {} { // CHECK:STDOUT: %C1.ref: type = name_ref C1, file.%C1.decl [concrete = constants.%C1] // CHECK:STDOUT: %I.ref: type = name_ref I, imports.%Main.I [concrete = constants.%I.type] // CHECK:STDOUT: %.Self: %I.type = bind_symbolic_name .Self [symbolic_self = constants.%.Self] @@ -363,7 +363,7 @@ impl CD as IF where .F = 0 { // CHECK:STDOUT: requirement_rewrite %impl.elem0, %.loc5_26.2 // CHECK:STDOUT: } // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant), @impl [concrete] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant), @I.impl [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness] // CHECK:STDOUT: %impl_witness_assoc_constant: type = impl_witness_assoc_constant constants.%empty_struct_type [concrete = constants.%empty_struct_type] // CHECK:STDOUT: } @@ -379,7 +379,7 @@ impl CD as IF where .F = 0 { // CHECK:STDOUT: assoc_const T:! type; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %C1.ref as %.loc5_14 { +// CHECK:STDOUT: impl @I.impl: %C1.ref as %.loc5_14 { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = file.%I.impl_witness // CHECK:STDOUT: } @@ -437,7 +437,7 @@ impl CD as IF where .F = 0 { // CHECK:STDOUT: } // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: %C2.decl: type = class_decl @C2 [concrete = constants.%C2] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl [concrete] {} { // CHECK:STDOUT: %C2.ref.loc5: type = name_ref C2, file.%C2.decl [concrete = constants.%C2] // CHECK:STDOUT: %I.ref.loc5: type = name_ref I, imports.%Main.I [concrete = constants.%I.type] // CHECK:STDOUT: %.Self.1: %I.type = bind_symbolic_name .Self [symbolic_self = constants.%.Self] @@ -452,10 +452,10 @@ impl CD as IF where .F = 0 { // CHECK:STDOUT: requirement_rewrite %impl.elem0.loc5, %.loc5_26.2 // CHECK:STDOUT: } // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant), @impl [concrete] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant), @I.impl [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness] // CHECK:STDOUT: %impl_witness_assoc_constant: type = impl_witness_assoc_constant constants.%empty_struct_type [concrete = constants.%empty_struct_type] -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl [concrete] {} { // CHECK:STDOUT: %C2.ref.loc6: type = name_ref C2, file.%C2.decl [concrete = constants.%C2] // CHECK:STDOUT: %I.ref.loc6: type = name_ref I, imports.%Main.I [concrete = constants.%I.type] // CHECK:STDOUT: %.Self.2: %I.type = bind_symbolic_name .Self [symbolic_self = constants.%.Self] @@ -483,7 +483,7 @@ impl CD as IF where .F = 0 { // CHECK:STDOUT: assoc_const T:! type; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %C2.ref.loc5 as %.loc5_14 { +// CHECK:STDOUT: impl @I.impl: %C2.ref.loc5 as %.loc5_14 { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = file.%I.impl_witness // CHECK:STDOUT: } @@ -542,13 +542,13 @@ impl CD as IF where .F = 0 { // CHECK:STDOUT: } // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: %C3.decl: type = class_decl @C3 [concrete = constants.%C3] {} {} -// CHECK:STDOUT: impl_decl @impl.16e [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl.16e [concrete] {} { // CHECK:STDOUT: %C3.ref: type = name_ref C3, file.%C3.decl [concrete = constants.%C3] // CHECK:STDOUT: %I.ref: type = name_ref I, imports.%Main.I [concrete = constants.%I.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table.loc9 = impl_witness_table (), @impl.16e [concrete] +// CHECK:STDOUT: %I.impl_witness_table.loc9 = impl_witness_table (), @I.impl.16e [concrete] // CHECK:STDOUT: %I.impl_witness.loc9: = impl_witness %I.impl_witness_table.loc9 [concrete = constants.%I.impl_witness.21f] -// CHECK:STDOUT: impl_decl @impl.625 [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl.625 [concrete] {} { // CHECK:STDOUT: %C3.ref: type = name_ref C3, file.%C3.decl [concrete = constants.%C3] // CHECK:STDOUT: %I.ref: type = name_ref I, imports.%Main.I [concrete = constants.%I.type] // CHECK:STDOUT: %.Self: %I.type = bind_symbolic_name .Self [symbolic_self = constants.%.Self] @@ -563,7 +563,7 @@ impl CD as IF where .F = 0 { // CHECK:STDOUT: requirement_rewrite %impl.elem0, %.loc10_26.2 // CHECK:STDOUT: } // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table.loc10 = impl_witness_table (%impl_witness_assoc_constant), @impl.625 [concrete] +// CHECK:STDOUT: %I.impl_witness_table.loc10 = impl_witness_table (%impl_witness_assoc_constant), @I.impl.625 [concrete] // CHECK:STDOUT: %I.impl_witness.loc10: = impl_witness %I.impl_witness_table.loc10 [concrete = constants.%I.impl_witness.f84] // CHECK:STDOUT: %impl_witness_assoc_constant: type = impl_witness_assoc_constant constants.%empty_struct_type [concrete = constants.%empty_struct_type] // CHECK:STDOUT: } @@ -579,9 +579,9 @@ impl CD as IF where .F = 0 { // CHECK:STDOUT: assoc_const T:! type; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.16e: %C3.ref as %I.ref; +// CHECK:STDOUT: impl @I.impl.16e: %C3.ref as %I.ref; // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.625: %C3.ref as %.loc10_14 { +// CHECK:STDOUT: impl @I.impl.625: %C3.ref as %.loc10_14 { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = file.%I.impl_witness.loc10 // CHECK:STDOUT: } @@ -642,7 +642,7 @@ impl CD as IF where .F = 0 { // CHECK:STDOUT: } // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: %C4.decl: type = class_decl @C4 [concrete = constants.%C4] {} {} -// CHECK:STDOUT: impl_decl @impl.62b [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl.62b [concrete] {} { // CHECK:STDOUT: %C4.ref: type = name_ref C4, file.%C4.decl [concrete = constants.%C4] // CHECK:STDOUT: %I.ref: type = name_ref I, imports.%Main.I [concrete = constants.%I.type] // CHECK:STDOUT: %.Self: %I.type = bind_symbolic_name .Self [symbolic_self = constants.%.Self] @@ -657,10 +657,10 @@ impl CD as IF where .F = 0 { // CHECK:STDOUT: requirement_rewrite %impl.elem0, %.loc9_26.2 // CHECK:STDOUT: } // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table.loc9 = impl_witness_table (%impl_witness_assoc_constant.loc9), @impl.62b [concrete] +// CHECK:STDOUT: %I.impl_witness_table.loc9 = impl_witness_table (%impl_witness_assoc_constant.loc9), @I.impl.62b [concrete] // CHECK:STDOUT: %I.impl_witness.loc9: = impl_witness %I.impl_witness_table.loc9 [concrete = constants.%I.impl_witness.b54] // CHECK:STDOUT: %impl_witness_assoc_constant.loc9: type = impl_witness_assoc_constant constants.%empty_struct_type [concrete = constants.%empty_struct_type] -// CHECK:STDOUT: impl_decl @impl.384 [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl.384 [concrete] {} { // CHECK:STDOUT: %C4.ref: type = name_ref C4, file.%C4.decl [concrete = constants.%C4] // CHECK:STDOUT: %I.ref: type = name_ref I, imports.%Main.I [concrete = constants.%I.type] // CHECK:STDOUT: %.Self: %I.type = bind_symbolic_name .Self [symbolic_self = constants.%.Self] @@ -675,7 +675,7 @@ impl CD as IF where .F = 0 { // CHECK:STDOUT: requirement_rewrite %impl.elem0, %.loc10_26.2 // CHECK:STDOUT: } // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table.loc10 = impl_witness_table (%impl_witness_assoc_constant.loc10), @impl.384 [concrete] +// CHECK:STDOUT: %I.impl_witness_table.loc10 = impl_witness_table (%impl_witness_assoc_constant.loc10), @I.impl.384 [concrete] // CHECK:STDOUT: %I.impl_witness.loc10: = impl_witness %I.impl_witness_table.loc10 [concrete = constants.%I.impl_witness.ac6] // CHECK:STDOUT: %impl_witness_assoc_constant.loc10: type = impl_witness_assoc_constant constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: } @@ -691,9 +691,9 @@ impl CD as IF where .F = 0 { // CHECK:STDOUT: assoc_const T:! type; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.62b: %C4.ref as %.loc9_14; +// CHECK:STDOUT: impl @I.impl.62b: %C4.ref as %.loc9_14; // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.384: %C4.ref as %.loc10_14 { +// CHECK:STDOUT: impl @I.impl.384: %C4.ref as %.loc10_14 { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = file.%I.impl_witness.loc10 // CHECK:STDOUT: } @@ -921,7 +921,7 @@ impl CD as IF where .F = 0 { // CHECK:STDOUT: } // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: %C6.decl: type = class_decl @C6 [concrete = constants.%C6] {} {} -// CHECK:STDOUT: impl_decl @impl.98d [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl.98d [concrete] {} { // CHECK:STDOUT: %C6.ref: type = name_ref C6, file.%C6.decl [concrete = constants.%C6] // CHECK:STDOUT: %I.ref: type = name_ref I, imports.%Main.I [concrete = constants.%I.type] // CHECK:STDOUT: %.Self: %I.type = bind_symbolic_name .Self [symbolic_self = constants.%.Self] @@ -936,14 +936,14 @@ impl CD as IF where .F = 0 { // CHECK:STDOUT: requirement_rewrite %impl.elem0, %.loc5_26.2 // CHECK:STDOUT: } // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table.loc5 = impl_witness_table (%impl_witness_assoc_constant), @impl.98d [concrete] +// CHECK:STDOUT: %I.impl_witness_table.loc5 = impl_witness_table (%impl_witness_assoc_constant), @I.impl.98d [concrete] // CHECK:STDOUT: %I.impl_witness.loc5: = impl_witness %I.impl_witness_table.loc5 [concrete = constants.%I.impl_witness.9b2] // CHECK:STDOUT: %impl_witness_assoc_constant: type = impl_witness_assoc_constant constants.%empty_struct_type [concrete = constants.%empty_struct_type] -// CHECK:STDOUT: impl_decl @impl.482 [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl.482 [concrete] {} { // CHECK:STDOUT: %C6.ref: type = name_ref C6, file.%C6.decl [concrete = constants.%C6] // CHECK:STDOUT: %I.ref: type = name_ref I, imports.%Main.I [concrete = constants.%I.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table.loc18 = impl_witness_table (), @impl.482 [concrete] +// CHECK:STDOUT: %I.impl_witness_table.loc18 = impl_witness_table (), @I.impl.482 [concrete] // CHECK:STDOUT: %I.impl_witness.loc18: = impl_witness %I.impl_witness_table.loc18 [concrete = constants.%I.impl_witness.6de] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -958,9 +958,9 @@ impl CD as IF where .F = 0 { // CHECK:STDOUT: assoc_const T:! type; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.98d: %C6.ref as %.loc5_14; +// CHECK:STDOUT: impl @I.impl.98d: %C6.ref as %.loc5_14; // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.482: %C6.ref as %I.ref { +// CHECK:STDOUT: impl @I.impl.482: %C6.ref as %I.ref { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = file.%I.impl_witness.loc18 // CHECK:STDOUT: } @@ -1388,7 +1388,7 @@ impl CD as IF where .F = 0 { // CHECK:STDOUT: } // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: %CB.decl: type = class_decl @CB [concrete = constants.%CB] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl [concrete] {} { // CHECK:STDOUT: %CB.ref: type = name_ref CB, file.%CB.decl [concrete = constants.%CB] // CHECK:STDOUT: %I.ref: type = name_ref I, imports.%Main.I [concrete = constants.%I.type] // CHECK:STDOUT: %.Self: %I.type = bind_symbolic_name .Self [symbolic_self = constants.%.Self] @@ -1411,7 +1411,7 @@ impl CD as IF where .F = 0 { // CHECK:STDOUT: requirement_rewrite %impl.elem0.loc6_32, %.loc6_38.2 // CHECK:STDOUT: } // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant), @impl [concrete] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant), @I.impl [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness] // CHECK:STDOUT: %impl_witness_assoc_constant: type = impl_witness_assoc_constant constants.%empty_struct_type [concrete = constants.%empty_struct_type] // CHECK:STDOUT: } @@ -1427,7 +1427,7 @@ impl CD as IF where .F = 0 { // CHECK:STDOUT: assoc_const T:! type; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %CB.ref as %.loc6_14 { +// CHECK:STDOUT: impl @I.impl: %CB.ref as %.loc6_14 { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = file.%I.impl_witness // CHECK:STDOUT: } @@ -1488,7 +1488,7 @@ impl CD as IF where .F = 0 { // CHECK:STDOUT: } // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: %CC.decl: type = class_decl @CC [concrete = constants.%CC] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @NonType.impl [concrete] {} { // CHECK:STDOUT: %CC.ref: type = name_ref CC, file.%CC.decl [concrete = constants.%CC] // CHECK:STDOUT: %NonType.ref: type = name_ref NonType, imports.%Main.NonType [concrete = constants.%NonType.type] // CHECK:STDOUT: %.Self: %NonType.type = bind_symbolic_name .Self [symbolic_self = constants.%.Self] @@ -1507,7 +1507,7 @@ impl CD as IF where .F = 0 { // CHECK:STDOUT: requirement_rewrite %impl.elem0, %.loc6_39.3 // CHECK:STDOUT: } // CHECK:STDOUT: } -// CHECK:STDOUT: %NonType.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant), @impl [concrete] +// CHECK:STDOUT: %NonType.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant), @NonType.impl [concrete] // CHECK:STDOUT: %NonType.impl_witness: = impl_witness %NonType.impl_witness_table [concrete = constants.%NonType.impl_witness] // CHECK:STDOUT: %impl_witness_assoc_constant: %struct_type.a.225 = impl_witness_assoc_constant constants.%struct [concrete = constants.%struct] // CHECK:STDOUT: } @@ -1523,7 +1523,7 @@ impl CD as IF where .F = 0 { // CHECK:STDOUT: assoc_const Y:! %struct_type.a.225; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %CC.ref as %.loc6_20 { +// CHECK:STDOUT: impl @NonType.impl: %CC.ref as %.loc6_20 { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = file.%NonType.impl_witness // CHECK:STDOUT: } @@ -1618,7 +1618,7 @@ impl CD as IF where .F = 0 { // CHECK:STDOUT: } // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: %CD.decl: type = class_decl @CD [concrete = constants.%CD] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @IF.impl [concrete] {} { // CHECK:STDOUT: %CD.ref: type = name_ref CD, file.%CD.decl [concrete = constants.%CD] // CHECK:STDOUT: %IF.ref: type = name_ref IF, imports.%Main.IF [concrete = constants.%IF.type] // CHECK:STDOUT: %.Self: %IF.type = bind_symbolic_name .Self [symbolic_self = constants.%.Self] @@ -1632,7 +1632,7 @@ impl CD as IF where .F = 0 { // CHECK:STDOUT: requirement_rewrite %impl.elem0, %int_0 // CHECK:STDOUT: } // CHECK:STDOUT: } -// CHECK:STDOUT: %IF.impl_witness_table = impl_witness_table (@impl.%F.decl), @impl [concrete] +// CHECK:STDOUT: %IF.impl_witness_table = impl_witness_table (@IF.impl.%F.decl), @IF.impl [concrete] // CHECK:STDOUT: %IF.impl_witness: = impl_witness %IF.impl_witness_table [concrete = constants.%IF.impl_witness] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -1643,7 +1643,7 @@ impl CD as IF where .F = 0 { // CHECK:STDOUT: witness = (imports.%Main.F) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %CD.ref as %.loc10_15 { +// 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: // CHECK:STDOUT: !members: diff --git a/toolchain/check/testdata/impl/import_self.carbon b/toolchain/check/testdata/impl/import_self.carbon index 52cebdbaadad..2f1c0c4b47bb 100644 --- a/toolchain/check/testdata/impl/import_self.carbon +++ b/toolchain/check/testdata/impl/import_self.carbon @@ -137,7 +137,7 @@ 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, @impl.49c(%empty_tuple.type) [concrete] +// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.4, @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] @@ -166,12 +166,12 @@ fn F(x: (), y: ()) -> () { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %default.import = import -// CHECK:STDOUT: impl_decl @impl.d68 [concrete] {} { +// CHECK:STDOUT: impl_decl @Add.impl [concrete] {} { // CHECK:STDOUT: %.loc6_7.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc6_7.2: type = converted %.loc6_7.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %Add.ref: type = name_ref Add, imports.%Main.Add [concrete = constants.%Add.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %Add.impl_witness_table = impl_witness_table (@impl.d68.%Op.decl), @impl.d68 [concrete] +// CHECK:STDOUT: %Add.impl_witness_table = impl_witness_table (@Add.impl.%Op.decl), @Add.impl [concrete] // CHECK:STDOUT: %Add.impl_witness: = impl_witness %Add.impl_witness_table [concrete = constants.%Add.impl_witness] // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { // CHECK:STDOUT: %x.patt: %pattern_type.cb1 = binding_pattern x [concrete] @@ -207,7 +207,7 @@ fn F(x: (), y: ()) -> () { // CHECK:STDOUT: witness = (imports.%Main.Op) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.d68: %.loc6_7.2 as %Add.ref { +// 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: %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] @@ -216,12 +216,12 @@ fn F(x: (), y: ()) -> () { // 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_param2 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %Self.ref.loc7_37: type = name_ref Self, @impl.d68.%.loc6_7.2 [concrete = constants.%empty_tuple.type] +// CHECK:STDOUT: %Self.ref.loc7_37: type = name_ref Self, @Add.impl.%.loc6_7.2 [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %self.param: %empty_tuple.type = value_param call_param0 -// CHECK:STDOUT: %Self.ref.loc7_15: type = name_ref Self, @impl.d68.%.loc6_7.2 [concrete = constants.%empty_tuple.type] +// CHECK:STDOUT: %Self.ref.loc7_15: type = name_ref Self, @Add.impl.%.loc6_7.2 [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %self: %empty_tuple.type = bind_name self, %self.param // CHECK:STDOUT: %other.param: %empty_tuple.type = value_param call_param1 -// CHECK:STDOUT: %Self.ref.loc7_28: type = name_ref Self, @impl.d68.%.loc6_7.2 [concrete = constants.%empty_tuple.type] +// CHECK:STDOUT: %Self.ref.loc7_28: type = name_ref Self, @Add.impl.%.loc6_7.2 [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %other: %empty_tuple.type = bind_name other, %other.param // CHECK:STDOUT: %return.param: ref %empty_tuple.type = out_param call_param2 // CHECK:STDOUT: %return: ref %empty_tuple.type = return_slot %return.param diff --git a/toolchain/check/testdata/impl/import_thunk.carbon b/toolchain/check/testdata/impl/import_thunk.carbon index e82788ece09e..59daacd1d2ef 100644 --- a/toolchain/check/testdata/impl/import_thunk.carbon +++ b/toolchain/check/testdata/impl/import_thunk.carbon @@ -115,12 +115,12 @@ fn G() { // CHECK:STDOUT: %F.type.cf0: type = fn_type @F.1 [concrete] // CHECK:STDOUT: %F.bc6: %F.type.cf0 = struct_value () [concrete] // CHECK:STDOUT: %pattern_type.a96: type = pattern_type %empty_struct_type [concrete] -// CHECK:STDOUT: %I.impl_witness: = impl_witness file.%I.impl_witness_table, @impl.22b(%Y) [symbolic] +// 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, @impl.22b(%Y) [symbolic] +// CHECK:STDOUT: %F.type.0daaa1.1: type = fn_type @F.2, @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, @impl.22b(%Y) [symbolic] +// CHECK:STDOUT: %F.type.0daaa1.2: type = fn_type @F.3, @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] @@ -172,7 +172,7 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: %X.loc5_9.1: %empty_tuple.type = bind_symbolic_name X, 0 [symbolic = %X.loc5_9.2 (constants.%X)] // CHECK:STDOUT: } -// CHECK:STDOUT: impl_decl @impl.22b [concrete] { +// CHECK:STDOUT: impl_decl @I.impl [concrete] { // CHECK:STDOUT: %Y.patt: %pattern_type.cb1 = symbolic_binding_pattern Y, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: %C.type = name_ref C, file.%C.decl [concrete = constants.%C.generic] @@ -185,8 +185,8 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: %Y.loc7_14.1: %empty_tuple.type = bind_symbolic_name Y, 0 [symbolic = %Y.loc7_14.2 (constants.%Y)] // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (@impl.22b.%F.decl.loc8_17.2), @impl.22b [concrete] -// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table, @impl.22b(constants.%Y) [symbolic = @impl.22b.%I.impl_witness (constants.%I.impl_witness)] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (@I.impl.%F.decl.loc8_17.2), @I.impl [concrete] +// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table, @I.impl(constants.%Y) [symbolic = @I.impl.%I.impl_witness (constants.%I.impl_witness)] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: interface @I [from "a.carbon"] { @@ -196,31 +196,31 @@ fn G() { // CHECK:STDOUT: witness = (imports.%Main.F) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl.22b(%Y.loc7_14.1: %empty_tuple.type) { +// CHECK:STDOUT: generic impl @I.impl(%Y.loc7_14.1: %empty_tuple.type) { // CHECK:STDOUT: %Y.loc7_14.2: %empty_tuple.type = bind_symbolic_name Y, 0 [symbolic = %Y.loc7_14.2 (constants.%Y)] // CHECK:STDOUT: %C.loc7_25.2: type = class_type @C, @C(%Y.loc7_14.2) [symbolic = %C.loc7_25.2 (constants.%C.13320f.2)] -// CHECK:STDOUT: %I.impl_witness: = impl_witness file.%I.impl_witness_table, @impl.22b(%Y.loc7_14.2) [symbolic = %I.impl_witness (constants.%I.impl_witness)] +// 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, @impl.22b(%Y.loc7_14.2) [symbolic = %F.type.loc8_17.1 (constants.%F.type.0daaa1.1)] -// CHECK:STDOUT: %F.loc8_17.1: @impl.22b.%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, @impl.22b(%Y.loc7_14.2) [symbolic = %F.type.loc8_17.2 (constants.%F.type.0daaa1.2)] -// CHECK:STDOUT: %F.loc8_17.2: @impl.22b.%F.type.loc8_17.2 (%F.type.0daaa1.2) = struct_value () [symbolic = %F.loc8_17.2 (constants.%F.49c1ac.2)] +// 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.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.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: @impl.22b.%F.type.loc8_17.1 (%F.type.0daaa1.1) = fn_decl @F.2 [symbolic = @impl.22b.%F.loc8_17.1 (constants.%F.49c1ac.1)] { +// 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: } { // CHECK:STDOUT: %x.param: @F.2.%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, @impl.22b.%Y.loc7_14.1 [symbolic = %Y (constants.%Y)] +// 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: } -// CHECK:STDOUT: %F.decl.loc8_17.2: @impl.22b.%F.type.loc8_17.2 (%F.type.0daaa1.2) = fn_decl @F.3 [symbolic = @impl.22b.%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.3 [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(@impl.22b.%Y.loc7_14.1: %empty_tuple.type) { +// CHECK:STDOUT: generic fn @F.2(@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)] @@ -269,10 +269,10 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.3(@impl.22b.%Y.loc7_14.1: %empty_tuple.type) { +// CHECK:STDOUT: generic fn @F.3(@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, @impl.22b(%Y) [symbolic = %F.type (constants.%F.type.0daaa1.1)] +// 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: %C: type = class_type @C, @C(%Y) [symbolic = %C (constants.%C.13320f.2)] @@ -286,9 +286,9 @@ fn G() { // 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 @impl.22b.%F.decl.loc8_17.1] { +// 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 @impl.22b.%F.decl.loc8_17.1, @impl.22b(constants.%Y) [symbolic = %F (constants.%F.49c1ac.1)] +// 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: %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)] @@ -319,7 +319,7 @@ fn G() { // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.22b(constants.%Y) { +// CHECK:STDOUT: specific @I.impl(constants.%Y) { // CHECK:STDOUT: %Y.loc7_14.2 => constants.%Y // CHECK:STDOUT: %C.loc7_25.2 => constants.%C.13320f.2 // CHECK:STDOUT: %I.impl_witness => constants.%I.impl_witness @@ -367,11 +367,11 @@ fn G() { // CHECK:STDOUT: %F.bc6: %F.type.cf0 = struct_value () [concrete] // CHECK:STDOUT: %Y: %empty_tuple.type = bind_symbolic_name Y, 0 [symbolic] // CHECK:STDOUT: %C.13320f.2: type = class_type @C, @C(%Y) [symbolic] -// CHECK:STDOUT: %I.impl_witness.7d9: = impl_witness imports.%I.impl_witness_table, @impl.22b(%Y) [symbolic] -// CHECK:STDOUT: %F.type.0daaa1.1: type = fn_type @F.2, @impl.22b(%Y) [symbolic] +// CHECK:STDOUT: %I.impl_witness.7d9: = impl_witness imports.%I.impl_witness_table, @I.impl(%Y) [symbolic] +// CHECK:STDOUT: %F.type.0daaa1.1: type = fn_type @F.2, @I.impl(%Y) [symbolic] // CHECK:STDOUT: %F.49c1ac.1: %F.type.0daaa1.1 = struct_value () [symbolic] // CHECK:STDOUT: %pattern_type.ccc: type = pattern_type %C.13320f.2 [symbolic] -// CHECK:STDOUT: %F.type.0daaa1.2: type = fn_type @F.3, @impl.22b(%Y) [symbolic] +// CHECK:STDOUT: %F.type.0daaa1.2: type = fn_type @F.3, @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.8d9: = specific_function %F.49c1ac.1, @F.2(%Y) [symbolic] @@ -386,12 +386,12 @@ fn G() { // CHECK:STDOUT: %ptr.40d: type = ptr_type %C.13320f.2 [symbolic] // CHECK:STDOUT: %require_complete.0b0: = require_complete_type %ptr.40d [symbolic] // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic] -// CHECK:STDOUT: %Op.type.ed4: type = fn_type @Op.2, @impl.d2b(%T) [symbolic] +// CHECK:STDOUT: %Op.type.ed4: type = fn_type @Op.2, @Destroy.impl(%T) [symbolic] // CHECK:STDOUT: %Op.486: %Op.type.ed4 = struct_value () [symbolic] -// CHECK:STDOUT: %I.impl_witness.02b: = impl_witness imports.%I.impl_witness_table, @impl.22b(%empty_tuple) [concrete] -// CHECK:STDOUT: %F.type.af4856.1: type = fn_type @F.2, @impl.22b(%empty_tuple) [concrete] +// CHECK:STDOUT: %I.impl_witness.02b: = impl_witness imports.%I.impl_witness_table, @I.impl(%empty_tuple) [concrete] +// CHECK:STDOUT: %F.type.af4856.1: type = fn_type @F.2, @I.impl(%empty_tuple) [concrete] // CHECK:STDOUT: %F.5fa954.1: %F.type.af4856.1 = struct_value () [concrete] -// CHECK:STDOUT: %F.type.af4856.2: type = fn_type @F.3, @impl.22b(%empty_tuple) [concrete] +// CHECK:STDOUT: %F.type.af4856.2: type = fn_type @F.3, @I.impl(%empty_tuple) [concrete] // CHECK:STDOUT: %F.5fa954.2: %F.type.af4856.2 = struct_value () [concrete] // CHECK:STDOUT: %I.facet: %I.type = facet_value %C.607, (%I.impl_witness.02b) [concrete] // CHECK:STDOUT: %.885: type = fn_type_with_self_type %F.type.cf0, %I.facet [concrete] @@ -400,8 +400,8 @@ fn G() { // CHECK:STDOUT: %pattern_type.186: type = pattern_type %C.607 [concrete] // CHECK:STDOUT: %F.specific_fn.4832e8.2: = specific_function %F.5fa954.1, @F.2(%empty_tuple) [concrete] // CHECK:STDOUT: %C.val.12f: %C.607 = struct_value () [concrete] -// CHECK:STDOUT: %Destroy.impl_witness.ce0: = impl_witness imports.%Destroy.impl_witness_table, @impl.d2b(%C.607) [concrete] -// CHECK:STDOUT: %Op.type.ea0: type = fn_type @Op.2, @impl.d2b(%C.607) [concrete] +// CHECK:STDOUT: %Destroy.impl_witness.ce0: = impl_witness imports.%Destroy.impl_witness_table, @Destroy.impl(%C.607) [concrete] +// CHECK:STDOUT: %Op.type.ea0: type = fn_type @Op.2, @Destroy.impl(%C.607) [concrete] // CHECK:STDOUT: %Op.ac0: %Op.type.ea0 = struct_value () [concrete] // CHECK:STDOUT: %ptr.2ce: type = ptr_type %C.607 [concrete] // CHECK:STDOUT: %complete_type.e2c: = complete_type_witness %ptr.2ce [concrete] @@ -426,17 +426,17 @@ fn G() { // CHECK:STDOUT: %Main.F.8b9 = import_ref Main//a, F, unloaded // CHECK:STDOUT: %Main.import_ref.e03: %F.type.cf0 = import_ref Main//a, loc5_14, loaded [concrete = constants.%F.bc6] // CHECK:STDOUT: %Main.import_ref.5dd: %I.type = import_ref Main//a, inst19 [no loc], loaded [symbolic = constants.%Self.826] -// CHECK:STDOUT: %Main.import_ref.f89: = import_ref Main//b, loc7_32, loaded [symbolic = @impl.22b.%I.impl_witness (constants.%I.impl_witness.7d9)] -// CHECK:STDOUT: %Main.import_ref.eb1c17.2: %empty_tuple.type = import_ref Main//b, loc7_14, loaded [symbolic = @impl.22b.%Y (constants.%Y)] -// CHECK:STDOUT: %Main.import_ref.dbf: type = import_ref Main//b, loc7_25, loaded [symbolic = @impl.22b.%C (constants.%C.13320f.2)] +// CHECK:STDOUT: %Main.import_ref.f89: = import_ref Main//b, loc7_32, loaded [symbolic = @I.impl.%I.impl_witness (constants.%I.impl_witness.7d9)] +// CHECK:STDOUT: %Main.import_ref.eb1c17.2: %empty_tuple.type = import_ref Main//b, loc7_14, loaded [symbolic = @I.impl.%Y (constants.%Y)] +// CHECK:STDOUT: %Main.import_ref.dbf: type = import_ref Main//b, loc7_25, loaded [symbolic = @I.impl.%C (constants.%C.13320f.2)] // CHECK:STDOUT: %Main.import_ref.f50: type = import_ref Main//b, loc7_30, loaded [concrete = constants.%I.type] -// CHECK:STDOUT: %Main.import_ref.047: @impl.22b.%F.type.2 (%F.type.0daaa1.2) = import_ref Main//b, loc8_17, loaded [symbolic = @impl.22b.%F.2 (constants.%F.49c1ac.2)] -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%Main.import_ref.047), @impl.22b [concrete] -// CHECK:STDOUT: %Main.import_ref.eb1c17.3: %empty_tuple.type = import_ref Main//b, loc7_14, loaded [symbolic = @impl.22b.%Y (constants.%Y)] -// CHECK:STDOUT: %Main.import_ref.eb1c17.4: %empty_tuple.type = import_ref Main//b, loc7_14, loaded [symbolic = @impl.22b.%Y (constants.%Y)] -// CHECK:STDOUT: %Main.F.5a8: @impl.22b.%F.type.1 (%F.type.0daaa1.1) = import_ref Main//b, F, loaded [symbolic = @impl.22b.%F.1 (constants.%F.49c1ac.1)] -// CHECK:STDOUT: %Main.import_ref.fcc: @impl.d2b.%Op.type (%Op.type.ed4) = import_ref Main//b, inst153 [indirect], loaded [symbolic = @impl.d2b.%Op (constants.%Op.486)] -// CHECK:STDOUT: %Destroy.impl_witness_table = impl_witness_table (%Main.import_ref.fcc), @impl.d2b [concrete] +// CHECK:STDOUT: %Main.import_ref.047: @I.impl.%F.type.2 (%F.type.0daaa1.2) = import_ref Main//b, loc8_17, loaded [symbolic = @I.impl.%F.2 (constants.%F.49c1ac.2)] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%Main.import_ref.047), @I.impl [concrete] +// CHECK:STDOUT: %Main.import_ref.eb1c17.3: %empty_tuple.type = import_ref Main//b, loc7_14, loaded [symbolic = @I.impl.%Y (constants.%Y)] +// CHECK:STDOUT: %Main.import_ref.eb1c17.4: %empty_tuple.type = import_ref Main//b, loc7_14, loaded [symbolic = @I.impl.%Y (constants.%Y)] +// CHECK:STDOUT: %Main.F.5a8: @I.impl.%F.type.1 (%F.type.0daaa1.1) = import_ref Main//b, F, loaded [symbolic = @I.impl.%F.1 (constants.%F.49c1ac.1)] +// CHECK:STDOUT: %Main.import_ref.fcc: @Destroy.impl.%Op.type (%Op.type.ed4) = import_ref Main//b, inst153 [indirect], loaded [symbolic = @Destroy.impl.%Op (constants.%Op.486)] +// CHECK:STDOUT: %Destroy.impl_witness_table = impl_witness_table (%Main.import_ref.fcc), @Destroy.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -459,16 +459,16 @@ fn G() { // CHECK:STDOUT: witness = (imports.%Main.F.8b9) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl.22b(imports.%Main.import_ref.eb1c17.2: %empty_tuple.type) [from "b.carbon"] { +// CHECK:STDOUT: generic impl @I.impl(imports.%Main.import_ref.eb1c17.2: %empty_tuple.type) [from "b.carbon"] { // CHECK:STDOUT: %Y: %empty_tuple.type = bind_symbolic_name Y, 0 [symbolic = %Y (constants.%Y)] // CHECK:STDOUT: %C: type = class_type @C, @C(%Y) [symbolic = %C (constants.%C.13320f.2)] -// CHECK:STDOUT: %I.impl_witness: = impl_witness imports.%I.impl_witness_table, @impl.22b(%Y) [symbolic = %I.impl_witness (constants.%I.impl_witness.7d9)] +// CHECK:STDOUT: %I.impl_witness: = impl_witness imports.%I.impl_witness_table, @I.impl(%Y) [symbolic = %I.impl_witness (constants.%I.impl_witness.7d9)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %F.type.1: type = fn_type @F.2, @impl.22b(%Y) [symbolic = %F.type.1 (constants.%F.type.0daaa1.1)] -// CHECK:STDOUT: %F.1: @impl.22b.%F.type.1 (%F.type.0daaa1.1) = struct_value () [symbolic = %F.1 (constants.%F.49c1ac.1)] -// CHECK:STDOUT: %F.type.2: type = fn_type @F.3, @impl.22b(%Y) [symbolic = %F.type.2 (constants.%F.type.0daaa1.2)] -// CHECK:STDOUT: %F.2: @impl.22b.%F.type.2 (%F.type.0daaa1.2) = struct_value () [symbolic = %F.2 (constants.%F.49c1ac.2)] +// CHECK:STDOUT: %F.type.1: type = fn_type @F.2, @I.impl(%Y) [symbolic = %F.type.1 (constants.%F.type.0daaa1.1)] +// CHECK:STDOUT: %F.1: @I.impl.%F.type.1 (%F.type.0daaa1.1) = struct_value () [symbolic = %F.1 (constants.%F.49c1ac.1)] +// CHECK:STDOUT: %F.type.2: type = fn_type @F.3, @I.impl(%Y) [symbolic = %F.type.2 (constants.%F.type.0daaa1.2)] +// CHECK:STDOUT: %F.2: @I.impl.%F.type.2 (%F.type.0daaa1.2) = struct_value () [symbolic = %F.2 (constants.%F.49c1ac.2)] // CHECK:STDOUT: // CHECK:STDOUT: impl: imports.%Main.import_ref.dbf as imports.%Main.import_ref.f50 { // CHECK:STDOUT: !members: @@ -507,7 +507,7 @@ fn G() { // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @F.3(constants.%empty_tuple) [concrete = constants.%F.specific_fn.4832e8.1] // CHECK:STDOUT: %empty_struct.loc7_16.2: %empty_struct_type = struct_value () [concrete = constants.%empty_struct] // CHECK:STDOUT: %.loc7_16.2: %empty_struct_type = converted %.loc7_16.1, %empty_struct.loc7_16.2 [concrete = constants.%empty_struct] -// CHECK:STDOUT: %.loc7_17.2: %F.type.af4856.1 = specific_constant imports.%Main.F.5a8, @impl.22b(constants.%empty_tuple) [concrete = constants.%F.5fa954.1] +// CHECK:STDOUT: %.loc7_17.2: %F.type.af4856.1 = specific_constant imports.%Main.F.5a8, @I.impl(constants.%empty_tuple) [concrete = constants.%F.5fa954.1] // CHECK:STDOUT: %F.ref.loc7_17: %F.type.af4856.1 = name_ref F, %.loc7_17.2 [concrete = constants.%F.5fa954.1] // CHECK:STDOUT: %F.specific_fn: = specific_function %F.ref.loc7_17, @F.2(constants.%empty_tuple) [concrete = constants.%F.specific_fn.4832e8.2] // CHECK:STDOUT: %.loc7_16.3: ref %C.607 = temporary_storage @@ -542,7 +542,7 @@ fn G() { // CHECK:STDOUT: generic fn @F.3(imports.%Main.import_ref.eb1c17.4: %empty_tuple.type) [from "b.carbon"] { // 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, @impl.22b(%Y) [symbolic = %F.type (constants.%F.type.0daaa1.1)] +// 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: = specific_function %F, @F.2(%Y) [symbolic = %F.specific_fn (constants.%F.specific_fn.8d9)] // CHECK:STDOUT: %C: type = class_type @C, @C(%Y) [symbolic = %C (constants.%C.13320f.2)] @@ -577,7 +577,7 @@ fn G() { // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.22b(constants.%Y) { +// CHECK:STDOUT: specific @I.impl(constants.%Y) { // CHECK:STDOUT: %Y => constants.%Y // CHECK:STDOUT: %C => constants.%C.13320f.2 // CHECK:STDOUT: %I.impl_witness => constants.%I.impl_witness.7d9 @@ -600,7 +600,7 @@ fn G() { // CHECK:STDOUT: // CHECK:STDOUT: specific @F.3(constants.%Y) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.22b(constants.%empty_tuple) { +// CHECK:STDOUT: specific @I.impl(constants.%empty_tuple) { // CHECK:STDOUT: %Y => constants.%empty_tuple // CHECK:STDOUT: %C => constants.%C.607 // CHECK:STDOUT: %I.impl_witness => constants.%I.impl_witness.02b diff --git a/toolchain/check/testdata/impl/import_use_generic.carbon b/toolchain/check/testdata/impl/import_use_generic.carbon index e5e2a18310c1..5bd72e6e49cc 100644 --- a/toolchain/check/testdata/impl/import_use_generic.carbon +++ b/toolchain/check/testdata/impl/import_use_generic.carbon @@ -69,8 +69,8 @@ fn H() -> C({}).(I.F)() {} // 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, @impl(%T) [symbolic] -// CHECK:STDOUT: %F.type.40c: type = fn_type @F.2, @impl(%T) [symbolic] +// 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.071: %F.type.40c = struct_value () [symbolic] // CHECK:STDOUT: %I.facet: %I.type = facet_value %C, (%I.impl_witness) [symbolic] // CHECK:STDOUT: } @@ -86,7 +86,7 @@ fn H() -> C({}).(I.F)() {} // CHECK:STDOUT: %T.loc4_9.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc4_9.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %I.decl: type = interface_decl @I [concrete = constants.%I.type] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] { +// CHECK:STDOUT: impl_decl @I.impl [concrete] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: %C.type = name_ref C, file.%C.decl [concrete = constants.%C.generic] @@ -95,8 +95,8 @@ fn H() -> C({}).(I.F)() {} // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: %T.loc10_14.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc10_14.2 (constants.%T)] // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (@impl.%F.decl), @impl [concrete] -// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table, @impl(constants.%T) [symbolic = @impl.%I.impl_witness (constants.%I.impl_witness)] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (@I.impl.%F.decl), @I.impl [concrete] +// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table, @I.impl(constants.%T) [symbolic = @I.impl.%I.impl_witness (constants.%I.impl_witness)] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: interface @I { @@ -110,17 +110,17 @@ fn H() -> C({}).(I.F)() {} // CHECK:STDOUT: witness = (%F.decl) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl(%T.loc10_14.1: type) { +// CHECK:STDOUT: generic impl @I.impl(%T.loc10_14.1: type) { // CHECK:STDOUT: %T.loc10_14.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc10_14.2 (constants.%T)] // CHECK:STDOUT: %C.loc10_27.2: type = class_type @C, @C(%T.loc10_14.2) [symbolic = %C.loc10_27.2 (constants.%C)] -// CHECK:STDOUT: %I.impl_witness: = impl_witness file.%I.impl_witness_table, @impl(%T.loc10_14.2) [symbolic = %I.impl_witness (constants.%I.impl_witness)] +// 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, @impl(%T.loc10_14.2) [symbolic = %F.type (constants.%F.type.40c)] -// CHECK:STDOUT: %F: @impl.%F.type (%F.type.40c) = struct_value () [symbolic = %F (constants.%F.071)] +// 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: @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: @impl.%F.type (%F.type.40c) = fn_decl @F.2 [symbolic = @impl.%F (constants.%F.071)] {} {} +// CHECK:STDOUT: %F.decl: @I.impl.%F.type (%F.type.40c) = fn_decl @F.2 [symbolic = @I.impl.%F (constants.%F.071)] {} {} // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .F = %F.decl @@ -147,7 +147,7 @@ fn H() -> C({}).(I.F)() {} // CHECK:STDOUT: fn(); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.2(@impl.%T.loc10_14.1: type) { +// CHECK:STDOUT: generic fn @F.2(@I.impl.%T.loc10_14.1: type) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: // CHECK:STDOUT: fn() { @@ -162,7 +162,7 @@ fn H() -> C({}).(I.F)() {} // CHECK:STDOUT: // CHECK:STDOUT: specific @F.1(constants.%Self) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl(constants.%T) { +// CHECK:STDOUT: specific @I.impl(constants.%T) { // CHECK:STDOUT: %T.loc10_14.2 => constants.%T // CHECK:STDOUT: %C.loc10_27.2 => constants.%C // CHECK:STDOUT: %I.impl_witness => constants.%I.impl_witness @@ -197,11 +197,11 @@ fn H() -> C({}).(I.F)() {} // CHECK:STDOUT: %F.bc6: %F.type.cf0 = struct_value () [concrete] // CHECK:STDOUT: %G.type: type = fn_type @G [concrete] // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] -// CHECK:STDOUT: %I.impl_witness.443: = impl_witness imports.%I.impl_witness_table, @impl(%T) [symbolic] -// CHECK:STDOUT: %F.type.40c: type = fn_type @F.2, @impl(%T) [symbolic] +// CHECK:STDOUT: %I.impl_witness.443: = impl_witness imports.%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.071: %F.type.40c = struct_value () [symbolic] -// CHECK:STDOUT: %I.impl_witness.6bb: = impl_witness imports.%I.impl_witness_table, @impl(%empty_struct_type) [concrete] -// CHECK:STDOUT: %F.type.4a4: type = fn_type @F.2, @impl(%empty_struct_type) [concrete] +// CHECK:STDOUT: %I.impl_witness.6bb: = impl_witness imports.%I.impl_witness_table, @I.impl(%empty_struct_type) [concrete] +// CHECK:STDOUT: %F.type.4a4: type = fn_type @F.2, @I.impl(%empty_struct_type) [concrete] // CHECK:STDOUT: %F.9e6: %F.type.4a4 = struct_value () [concrete] // CHECK:STDOUT: %I.facet: %I.type = facet_value %C.7a7, (%I.impl_witness.6bb) [concrete] // CHECK:STDOUT: %.81d: type = fn_type_with_self_type %F.type.cf0, %I.facet [concrete] @@ -221,13 +221,13 @@ fn H() -> C({}).(I.F)() {} // CHECK:STDOUT: %Main.F = import_ref Main//import_generic, F, unloaded // CHECK:STDOUT: %Main.import_ref.e03: %F.type.cf0 = import_ref Main//import_generic, loc7_9, loaded [concrete = constants.%F.bc6] // CHECK:STDOUT: %Main.import_ref.5dd: %I.type = import_ref Main//import_generic, inst31 [no loc], loaded [symbolic = constants.%Self] -// CHECK:STDOUT: %Main.import_ref.6ac: = import_ref Main//import_generic, loc10_34, loaded [symbolic = @impl.%I.impl_witness (constants.%I.impl_witness.443)] -// CHECK:STDOUT: %Main.import_ref.5ab3ec.2: type = import_ref Main//import_generic, loc10_14, loaded [symbolic = @impl.%T (constants.%T)] -// CHECK:STDOUT: %Main.import_ref.499: type = import_ref Main//import_generic, loc10_27, loaded [symbolic = @impl.%C (constants.%C.f2e)] +// CHECK:STDOUT: %Main.import_ref.6ac: = import_ref Main//import_generic, loc10_34, loaded [symbolic = @I.impl.%I.impl_witness (constants.%I.impl_witness.443)] +// CHECK:STDOUT: %Main.import_ref.5ab3ec.2: type = import_ref Main//import_generic, loc10_14, loaded [symbolic = @I.impl.%T (constants.%T)] +// CHECK:STDOUT: %Main.import_ref.499: type = import_ref Main//import_generic, loc10_27, loaded [symbolic = @I.impl.%C (constants.%C.f2e)] // CHECK:STDOUT: %Main.import_ref.301: type = import_ref Main//import_generic, loc10_32, loaded [concrete = constants.%I.type] -// CHECK:STDOUT: %Main.import_ref.e2c: @impl.%F.type (%F.type.40c) = import_ref Main//import_generic, loc11_10, loaded [symbolic = @impl.%F (constants.%F.071)] -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%Main.import_ref.e2c), @impl [concrete] -// CHECK:STDOUT: %Main.import_ref.5ab3ec.3: type = import_ref Main//import_generic, loc10_14, loaded [symbolic = @impl.%T (constants.%T)] +// CHECK:STDOUT: %Main.import_ref.e2c: @I.impl.%F.type (%F.type.40c) = import_ref Main//import_generic, loc11_10, loaded [symbolic = @I.impl.%F (constants.%F.071)] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%Main.import_ref.e2c), @I.impl [concrete] +// CHECK:STDOUT: %Main.import_ref.5ab3ec.3: type = import_ref Main//import_generic, loc10_14, loaded [symbolic = @I.impl.%T (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -292,14 +292,14 @@ fn H() -> C({}).(I.F)() {} // CHECK:STDOUT: witness = (imports.%Main.F) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl(imports.%Main.import_ref.5ab3ec.2: type) [from "import_generic.carbon"] { +// CHECK:STDOUT: generic impl @I.impl(imports.%Main.import_ref.5ab3ec.2: type) [from "import_generic.carbon"] { // 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: %I.impl_witness: = impl_witness imports.%I.impl_witness_table, @impl(%T) [symbolic = %I.impl_witness (constants.%I.impl_witness.443)] +// CHECK:STDOUT: %I.impl_witness: = impl_witness imports.%I.impl_witness_table, @I.impl(%T) [symbolic = %I.impl_witness (constants.%I.impl_witness.443)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %F.type: type = fn_type @F.2, @impl(%T) [symbolic = %F.type (constants.%F.type.40c)] -// CHECK:STDOUT: %F: @impl.%F.type (%F.type.40c) = struct_value () [symbolic = %F (constants.%F.071)] +// CHECK:STDOUT: %F.type: type = fn_type @F.2, @I.impl(%T) [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: imports.%Main.import_ref.499 as imports.%Main.import_ref.301 { // CHECK:STDOUT: !members: @@ -359,7 +359,7 @@ fn H() -> C({}).(I.F)() {} // CHECK:STDOUT: // CHECK:STDOUT: specific @F.1(constants.%Self) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl(constants.%T) { +// CHECK:STDOUT: specific @I.impl(constants.%T) { // CHECK:STDOUT: %T => constants.%T // CHECK:STDOUT: %C => constants.%C.f2e // CHECK:STDOUT: %I.impl_witness => constants.%I.impl_witness.443 @@ -371,7 +371,7 @@ fn H() -> C({}).(I.F)() {} // CHECK:STDOUT: // CHECK:STDOUT: specific @F.2(constants.%T) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl(constants.%empty_struct_type) { +// CHECK:STDOUT: specific @I.impl(constants.%empty_struct_type) { // CHECK:STDOUT: %T => constants.%empty_struct_type // CHECK:STDOUT: %C => constants.%C.7a7 // CHECK:STDOUT: %I.impl_witness => constants.%I.impl_witness.6bb diff --git a/toolchain/check/testdata/impl/interface_args.carbon b/toolchain/check/testdata/impl/interface_args.carbon index 5440137f6e26..e2176fa1c488 100644 --- a/toolchain/check/testdata/impl/interface_args.carbon +++ b/toolchain/check/testdata/impl/interface_args.carbon @@ -263,13 +263,13 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: %A.decl: type = class_decl @A [concrete = constants.%A] {} {} // CHECK:STDOUT: %B.decl: type = class_decl @B [concrete = constants.%B] {} {} // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @Action.impl [concrete] {} { // CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [concrete = constants.%A] // CHECK:STDOUT: %Action.ref: %Action.type.29c = name_ref Action, file.%Action.decl [concrete = constants.%Action.generic] // CHECK:STDOUT: %B.ref: type = name_ref B, file.%B.decl [concrete = constants.%B] // CHECK:STDOUT: %Action.type: type = facet_type <@Action, @Action(constants.%B)> [concrete = constants.%Action.type.cb0] // CHECK:STDOUT: } -// CHECK:STDOUT: %Action.impl_witness_table = impl_witness_table (@impl.%Op.decl), @impl [concrete] +// CHECK:STDOUT: %Action.impl_witness_table = impl_witness_table (@Action.impl.%Op.decl), @Action.impl [concrete] // CHECK:STDOUT: %Action.impl_witness: = impl_witness %Action.impl_witness_table [concrete = constants.%Action.impl_witness] // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { // CHECK:STDOUT: %a.patt: %pattern_type.c10 = binding_pattern a [concrete] @@ -316,13 +316,13 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %A.ref as %Action.type { +// 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: %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: } { // CHECK:STDOUT: %self.param: %A = value_param call_param0 -// CHECK:STDOUT: %Self.ref: type = name_ref Self, @impl.%A.ref [concrete = constants.%A] +// CHECK:STDOUT: %Self.ref: type = name_ref Self, @Action.impl.%A.ref [concrete = constants.%A] // CHECK:STDOUT: %self: %A = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: @@ -483,7 +483,7 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: %Main.import_ref.1f6: @Action.%Op.type (%Op.type.036) = import_ref Main//action, loc5_22, loaded [symbolic = @Action.%Op (constants.%Op.6ed)] // CHECK:STDOUT: %Main.import_ref.0e3753.2 = import_ref Main//action, loc5_22, unloaded // CHECK:STDOUT: %Main.import_ref.d0b: %Op.type.4b4 = import_ref Main//action, loc13_23, loaded [concrete = constants.%Op.40d] -// CHECK:STDOUT: %Action.impl_witness_table = impl_witness_table (%Main.import_ref.d0b), @impl [concrete] +// CHECK:STDOUT: %Action.impl_witness_table = impl_witness_table (%Main.import_ref.d0b), @Action.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -528,7 +528,7 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: imports.%Main.import_ref.984 as imports.%Main.import_ref.bb2 [from "action.carbon"] { +// CHECK:STDOUT: impl @Action.impl: imports.%Main.import_ref.984 as imports.%Main.import_ref.bb2 [from "action.carbon"] { // CHECK:STDOUT: !members: // CHECK:STDOUT: .Op = imports.%Main.import_ref.7b5 // CHECK:STDOUT: witness = imports.%Main.import_ref.995 @@ -708,7 +708,7 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: imports.%Main.import_ref.984 as imports.%Main.import_ref.bb2 [from "action.carbon"] { +// CHECK:STDOUT: impl @Action.impl: imports.%Main.import_ref.984 as imports.%Main.import_ref.bb2 [from "action.carbon"] { // CHECK:STDOUT: !members: // CHECK:STDOUT: .Op = imports.%Main.import_ref.7b5 // CHECK:STDOUT: witness = imports.%Main.import_ref.19c @@ -856,13 +856,13 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: } // CHECK:STDOUT: %A.decl: type = class_decl @A [concrete = constants.%A] {} {} // CHECK:STDOUT: %B.decl: type = class_decl @B [concrete = constants.%B] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @Factory.impl [concrete] {} { // CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [concrete = constants.%A] // CHECK:STDOUT: %Factory.ref: %Factory.type.1a8 = name_ref Factory, file.%Factory.decl [concrete = constants.%Factory.generic] // CHECK:STDOUT: %B.ref: type = name_ref B, file.%B.decl [concrete = constants.%B] // CHECK:STDOUT: %Factory.type: type = facet_type <@Factory, @Factory(constants.%B)> [concrete = constants.%Factory.type.a5d] // CHECK:STDOUT: } -// CHECK:STDOUT: %Factory.impl_witness_table = impl_witness_table (@impl.%Make.decl, @impl.%Method.decl), @impl [concrete] +// CHECK:STDOUT: %Factory.impl_witness_table = impl_witness_table (@Factory.impl.%Make.decl, @Factory.impl.%Method.decl), @Factory.impl [concrete] // CHECK:STDOUT: %Factory.impl_witness: = impl_witness %Factory.impl_witness_table [concrete = constants.%Factory.impl_witness] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -920,7 +920,7 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %A.ref as %Factory.type { +// 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: %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] @@ -937,7 +937,7 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: } { // CHECK:STDOUT: %B.ref: type = name_ref B, file.%B.decl [concrete = constants.%B] // CHECK:STDOUT: %self.param: %A = value_param call_param0 -// CHECK:STDOUT: %Self.ref: type = name_ref Self, @impl.%A.ref [concrete = constants.%A] +// CHECK:STDOUT: %Self.ref: type = name_ref Self, @Factory.impl.%A.ref [concrete = constants.%A] // CHECK:STDOUT: %self: %A = bind_name self, %self.param // CHECK:STDOUT: %return.param: ref %B = out_param call_param1 // CHECK:STDOUT: %return: ref %B = return_slot %return.param @@ -1079,7 +1079,7 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: %Make.type.ec4: type = fn_type @Make.2 [concrete] // CHECK:STDOUT: %Make.377: %Make.type.ec4 = struct_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.1a6: type = fn_type @Op.2, @impl.49c(%B) [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] // CHECK:STDOUT: %ptr.e79: type = ptr_type %B [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.3c2, @Op.2(%B) [concrete] @@ -1127,7 +1127,7 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: %Main.import_ref.21018a.2 = import_ref Main//factory, loc6_17, unloaded // CHECK:STDOUT: %Main.import_ref.9ec: %Make.type.ec4 = import_ref Main//factory, loc15_17, loaded [concrete = constants.%Make.377] // CHECK:STDOUT: %Main.import_ref.7dd: %Method.type.af5 = import_ref Main//factory, loc16_31, loaded [concrete = constants.%Method.3d4] -// CHECK:STDOUT: %Factory.impl_witness_table = impl_witness_table (%Main.import_ref.9ec, %Main.import_ref.7dd), @impl.ba3 [concrete] +// CHECK:STDOUT: %Factory.impl_witness_table = impl_witness_table (%Main.import_ref.9ec, %Main.import_ref.7dd), @Factory.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: %Main.import_ref.46fc3c.2 = import_ref Main//factory, loc8_31, unloaded // CHECK:STDOUT: } @@ -1190,7 +1190,7 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.ba3: imports.%Main.import_ref.984 as imports.%Main.import_ref.bd2 [from "factory.carbon"] { +// CHECK:STDOUT: impl @Factory.impl: imports.%Main.import_ref.984 as imports.%Main.import_ref.bd2 [from "factory.carbon"] { // CHECK:STDOUT: !members: // CHECK:STDOUT: .Make = imports.%Main.import_ref.a27 // CHECK:STDOUT: .Method = imports.%Main.import_ref.163 @@ -1454,7 +1454,7 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: imports.%Main.import_ref.984 as imports.%Main.import_ref.bd2 [from "factory.carbon"] { +// CHECK:STDOUT: impl @Factory.impl: imports.%Main.import_ref.984 as imports.%Main.import_ref.bd2 [from "factory.carbon"] { // CHECK:STDOUT: !members: // CHECK:STDOUT: .Make = imports.%Main.import_ref.a27 // CHECK:STDOUT: .Method = imports.%Main.import_ref.163 diff --git a/toolchain/check/testdata/impl/lookup/alias.carbon b/toolchain/check/testdata/impl/lookup/alias.carbon index 72faf67acbf2..1af077daffa1 100644 --- a/toolchain/check/testdata/impl/lookup/alias.carbon +++ b/toolchain/check/testdata/impl/lookup/alias.carbon @@ -60,11 +60,11 @@ fn G(c: C) { // CHECK:STDOUT: } // CHECK:STDOUT: %HasF.decl: type = interface_decl @HasF [concrete = constants.%HasF.type] {} {} // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @HasF.impl [concrete] {} { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %HasF.ref: type = name_ref HasF, file.%HasF.decl [concrete = constants.%HasF.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %HasF.impl_witness_table = impl_witness_table (@impl.%F.decl), @impl [concrete] +// CHECK:STDOUT: %HasF.impl_witness_table = impl_witness_table (@HasF.impl.%F.decl), @HasF.impl [concrete] // CHECK:STDOUT: %HasF.impl_witness: = impl_witness %HasF.impl_witness_table [concrete = constants.%HasF.impl_witness] // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [concrete = constants.%G] { // CHECK:STDOUT: %c.patt: %pattern_type = binding_pattern c [concrete] @@ -87,7 +87,7 @@ fn G(c: C) { // CHECK:STDOUT: witness = (%F.decl) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %C.ref as %HasF.ref { +// 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: // CHECK:STDOUT: !members: diff --git a/toolchain/check/testdata/impl/lookup/canonical_query_self.carbon b/toolchain/check/testdata/impl/lookup/canonical_query_self.carbon index 6e29dd30b1e5..0065d9769436 100644 --- a/toolchain/check/testdata/impl/lookup/canonical_query_self.carbon +++ b/toolchain/check/testdata/impl/lookup/canonical_query_self.carbon @@ -110,7 +110,7 @@ fn G() { // CHECK:STDOUT: %facet_value: %facet_type = facet_value %C, (%I.impl_witness, %J.impl_witness) [concrete] // CHECK:STDOUT: %F.specific_fn: = specific_function %F, @F(%facet_value) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.8e9: type = fn_type @Op.4, @impl.49c(%C) [concrete] +// CHECK:STDOUT: %Op.type.8e9: type = fn_type @Op.4, @Destroy.impl(%C) [concrete] // CHECK:STDOUT: %Op.ddb: %Op.type.8e9 = struct_value () [concrete] // CHECK:STDOUT: %ptr.8e6: type = ptr_type %C [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.ddb, @Op.4(%C) [concrete] @@ -125,7 +125,7 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.BitAndWith: %BitAndWith.type.f2e = import_ref Core//prelude, BitAndWith, loaded [concrete = constants.%BitAndWith.generic] // CHECK:STDOUT: %Core.import_ref.012: %Op.type.1cc = import_ref Core//prelude, loc13_42, loaded [concrete = constants.%Op.ff4] -// CHECK:STDOUT: %BitAndWith.impl_witness_table = impl_witness_table (%Core.import_ref.012), @impl.865 [concrete] +// CHECK:STDOUT: %BitAndWith.impl_witness_table = impl_witness_table (%Core.import_ref.012), @BitAndWith.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -212,7 +212,7 @@ fn G() { // CHECK:STDOUT: witness = (%JJ.decl) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.093: %Self.ref as %I.ref { +// 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: %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] @@ -227,7 +227,7 @@ fn G() { // CHECK:STDOUT: witness = @C.%I.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.023: %Self.ref as %J.ref { +// 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: %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] @@ -243,17 +243,17 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @C { -// CHECK:STDOUT: impl_decl @impl.093 [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl [concrete] {} { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%C [concrete = constants.%C] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (@impl.093.%II.decl), @impl.093 [concrete] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (@I.impl.%II.decl), @I.impl [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness] -// CHECK:STDOUT: impl_decl @impl.023 [concrete] {} { +// CHECK:STDOUT: impl_decl @J.impl [concrete] {} { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%C [concrete = constants.%C] // CHECK:STDOUT: %J.ref: type = name_ref J, file.%J.decl [concrete = constants.%J.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %J.impl_witness_table = impl_witness_table (@impl.023.%JJ.decl), @impl.023 [concrete] +// CHECK:STDOUT: %J.impl_witness_table = impl_witness_table (@J.impl.%JJ.decl), @J.impl [concrete] // CHECK:STDOUT: %J.impl_witness: = impl_witness %J.impl_witness_table [concrete = constants.%J.impl_witness] // 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] @@ -264,8 +264,8 @@ fn G() { // CHECK:STDOUT: .I = // CHECK:STDOUT: .J = // CHECK:STDOUT: .JJ = -// CHECK:STDOUT: extend @impl.093.%I.ref -// CHECK:STDOUT: extend @impl.023.%J.ref +// CHECK:STDOUT: extend @I.impl.%I.ref +// CHECK:STDOUT: extend @J.impl.%J.ref // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @II.1(@I.%Self: %I.type) { 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 69d9d4673cae..a8b8b8f90178 100644 --- a/toolchain/check/testdata/impl/lookup/fail_todo_undefined_impl.carbon +++ b/toolchain/check/testdata/impl/lookup/fail_todo_undefined_impl.carbon @@ -83,11 +83,11 @@ fn G() { // 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: impl_decl @impl.770 [concrete] {} { +// 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] // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (@impl.770.%F.decl), @impl.770 [concrete] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (@I.impl.770.%F.decl), @I.impl.770 [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness.6f2] // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [concrete = constants.%G] {} {} // CHECK:STDOUT: } @@ -103,9 +103,9 @@ fn G() { // CHECK:STDOUT: witness = (%F.decl) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.a21: %Self.ref as %I.ref; +// CHECK:STDOUT: impl @I.impl.a21: %Self.ref as %I.ref; // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.770: %C.ref as %I.ref { +// 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: // CHECK:STDOUT: !members: @@ -114,11 +114,11 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @C { -// CHECK:STDOUT: impl_decl @impl.a21 [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl.a21 [concrete] {} { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%C [concrete = constants.%C] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @impl.a21 [concrete] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @I.impl.a21 [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness.ab4] // 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] @@ -128,7 +128,7 @@ fn G() { // CHECK:STDOUT: .Self = constants.%C // CHECK:STDOUT: .I = // CHECK:STDOUT: .F = -// CHECK:STDOUT: extend @impl.a21.%I.ref +// CHECK:STDOUT: extend @I.impl.a21.%I.ref // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @F.1(@I.%Self: %I.type) { diff --git a/toolchain/check/testdata/impl/lookup/generic.carbon b/toolchain/check/testdata/impl/lookup/generic.carbon index 5bc1803bce7d..93f61a954406 100644 --- a/toolchain/check/testdata/impl/lookup/generic.carbon +++ b/toolchain/check/testdata/impl/lookup/generic.carbon @@ -141,9 +141,9 @@ fn G(x: A) { // CHECK:STDOUT: %assoc0: %HasF.assoc_type = assoc_entity element0, @HasF.%F.decl [concrete] // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic] // CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %HasF.impl_witness.ec7: = impl_witness file.%HasF.impl_witness_table, @impl(%T) [symbolic] +// 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, @impl(%T) [symbolic] +// CHECK:STDOUT: %F.type.3fd: type = fn_type @F.2, @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] @@ -151,8 +151,8 @@ fn G(x: A) { // CHECK:STDOUT: %pattern_type.a96: type = pattern_type %empty_struct_type [concrete] // 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, @impl(%empty_struct_type) [concrete] -// CHECK:STDOUT: %F.type.2e4: type = fn_type @F.2, @impl(%empty_struct_type) [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.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] @@ -175,15 +175,15 @@ fn G(x: A) { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %HasF.decl: type = interface_decl @HasF [concrete = constants.%HasF.type] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] { +// CHECK:STDOUT: impl_decl @HasF.impl [concrete] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc8_14.1 [symbolic = %T.loc8_14.2 (constants.%T)] // CHECK:STDOUT: %HasF.ref: type = name_ref HasF, file.%HasF.decl [concrete = constants.%HasF.type] // CHECK:STDOUT: %T.loc8_14.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc8_14.2 (constants.%T)] // CHECK:STDOUT: } -// CHECK:STDOUT: %HasF.impl_witness_table = impl_witness_table (@impl.%F.decl), @impl [concrete] -// CHECK:STDOUT: %HasF.impl_witness: = impl_witness %HasF.impl_witness_table, @impl(constants.%T) [symbolic = @impl.%HasF.impl_witness (constants.%HasF.impl_witness.ec7)] +// CHECK:STDOUT: %HasF.impl_witness_table = impl_witness_table (@HasF.impl.%F.decl), @HasF.impl [concrete] +// CHECK:STDOUT: %HasF.impl_witness: = impl_witness %HasF.impl_witness_table, @HasF.impl(constants.%T) [symbolic = @HasF.impl.%HasF.impl_witness (constants.%HasF.impl_witness.ec7)] // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [concrete = constants.%G] { // 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] @@ -219,21 +219,21 @@ fn G(x: A) { // CHECK:STDOUT: witness = (%F.decl) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl(%T.loc8_14.1: type) { +// CHECK:STDOUT: generic impl @HasF.impl(%T.loc8_14.1: type) { // CHECK:STDOUT: %T.loc8_14.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc8_14.2 (constants.%T)] -// CHECK:STDOUT: %HasF.impl_witness: = impl_witness file.%HasF.impl_witness_table, @impl(%T.loc8_14.2) [symbolic = %HasF.impl_witness (constants.%HasF.impl_witness.ec7)] +// 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, @impl(%T.loc8_14.2) [symbolic = %F.type (constants.%F.type.3fd)] -// CHECK:STDOUT: %F: @impl.%F.type (%F.type.3fd) = struct_value () [symbolic = %F (constants.%F.c98)] +// 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: @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: @impl.%F.type (%F.type.3fd) = fn_decl @F.2 [symbolic = @impl.%F (constants.%F.c98)] { +// 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: } { // CHECK:STDOUT: %self.param: @F.2.%T (%T) = value_param call_param0 -// CHECK:STDOUT: %Self.ref: type = name_ref Self, @impl.%T.ref [symbolic = %T (constants.%T)] +// 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: } // CHECK:STDOUT: @@ -251,7 +251,7 @@ fn G(x: A) { // CHECK:STDOUT: fn(%self.param: @F.1.%Self.as_type.loc5_14.1 (%Self.as_type)); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.2(@impl.%T.loc8_14.1: type) { +// CHECK:STDOUT: generic fn @F.2(@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: @@ -283,7 +283,7 @@ fn G(x: A) { // CHECK:STDOUT: %pattern_type => constants.%pattern_type.28f // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl(constants.%T) { +// CHECK:STDOUT: specific @HasF.impl(constants.%T) { // CHECK:STDOUT: %T.loc8_14.2 => constants.%T // CHECK:STDOUT: %HasF.impl_witness => constants.%HasF.impl_witness.ec7 // CHECK:STDOUT: @@ -303,7 +303,7 @@ fn G(x: A) { // CHECK:STDOUT: %pattern_type => constants.%pattern_type.7dc // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl(constants.%empty_struct_type) { +// CHECK:STDOUT: specific @HasF.impl(constants.%empty_struct_type) { // CHECK:STDOUT: %T.loc8_14.2 => constants.%empty_struct_type // CHECK:STDOUT: %HasF.impl_witness => constants.%HasF.impl_witness.6e4 // CHECK:STDOUT: @@ -334,9 +334,9 @@ fn G(x: A) { // CHECK:STDOUT: %assoc0.97a: %HasF.assoc_type = assoc_entity element0, @HasF.%F.decl [concrete] // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic] // CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %HasF.impl_witness.ec7: = impl_witness file.%HasF.impl_witness_table, @impl.b7a(%T) [symbolic] +// 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, @impl.b7a(%T) [symbolic] +// CHECK:STDOUT: %F.type.3fd: type = fn_type @F.2, @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] @@ -344,15 +344,15 @@ fn G(x: A) { // CHECK:STDOUT: %pattern_type.a96: type = pattern_type %empty_struct_type [concrete] // 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, @impl.b7a(%empty_struct_type) [concrete] -// CHECK:STDOUT: %F.type.2e4: type = fn_type @F.2, @impl.b7a(%empty_struct_type) [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.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: %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, @impl.49c(%empty_struct_type) [concrete] +// CHECK:STDOUT: %Op.type.069: type = fn_type @Op.2, @Destroy.impl(%empty_struct_type) [concrete] // CHECK:STDOUT: %Op.d5a: %Op.type.069 = struct_value () [concrete] // CHECK:STDOUT: %ptr.c28: type = ptr_type %empty_struct_type [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.d5a, @Op.2(%empty_struct_type) [concrete] @@ -376,15 +376,15 @@ fn G(x: A) { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %HasF.decl: type = interface_decl @HasF [concrete = constants.%HasF.type] {} {} -// CHECK:STDOUT: impl_decl @impl.b7a [concrete] { +// CHECK:STDOUT: impl_decl @HasF.impl [concrete] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc8_14.1 [symbolic = %T.loc8_14.2 (constants.%T)] // CHECK:STDOUT: %HasF.ref: type = name_ref HasF, file.%HasF.decl [concrete = constants.%HasF.type] // CHECK:STDOUT: %T.loc8_14.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc8_14.2 (constants.%T)] // CHECK:STDOUT: } -// CHECK:STDOUT: %HasF.impl_witness_table = impl_witness_table (@impl.b7a.%F.decl), @impl.b7a [concrete] -// CHECK:STDOUT: %HasF.impl_witness: = impl_witness %HasF.impl_witness_table, @impl.b7a(constants.%T) [symbolic = @impl.b7a.%HasF.impl_witness (constants.%HasF.impl_witness.ec7)] +// CHECK:STDOUT: %HasF.impl_witness_table = impl_witness_table (@HasF.impl.%F.decl), @HasF.impl [concrete] +// CHECK:STDOUT: %HasF.impl_witness: = impl_witness %HasF.impl_witness_table, @HasF.impl(constants.%T) [symbolic = @HasF.impl.%HasF.impl_witness (constants.%HasF.impl_witness.ec7)] // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [concrete = constants.%G] { // 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] @@ -433,24 +433,24 @@ fn G(x: A) { // CHECK:STDOUT: witness = (%F.decl) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl.b7a(%T.loc8_14.1: type) { +// CHECK:STDOUT: generic impl @HasF.impl(%T.loc8_14.1: type) { // CHECK:STDOUT: %T.loc8_14.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc8_14.2 (constants.%T)] -// CHECK:STDOUT: %HasF.impl_witness: = impl_witness file.%HasF.impl_witness_table, @impl.b7a(%T.loc8_14.2) [symbolic = %HasF.impl_witness (constants.%HasF.impl_witness.ec7)] +// 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, @impl.b7a(%T.loc8_14.2) [symbolic = %F.type (constants.%F.type.3fd)] -// CHECK:STDOUT: %F: @impl.b7a.%F.type (%F.type.3fd) = struct_value () [symbolic = %F (constants.%F.c98)] +// 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: @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: @impl.b7a.%F.type (%F.type.3fd) = fn_decl @F.2 [symbolic = @impl.b7a.%F (constants.%F.c98)] { +// 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: } { -// CHECK:STDOUT: %T.ref: type = name_ref T, @impl.b7a.%T.loc8_14.1 [symbolic = %T (constants.%T)] +// 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.ref: type = name_ref Self, @impl.b7a.%T.ref [symbolic = %T (constants.%T)] +// 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 @@ -471,7 +471,7 @@ fn G(x: A) { // 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: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.2(@impl.b7a.%T.loc8_14.1: type) { +// CHECK:STDOUT: generic fn @F.2(@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: @@ -513,7 +513,7 @@ fn G(x: A) { // CHECK:STDOUT: %pattern_type => constants.%pattern_type.28f // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.b7a(constants.%T) { +// CHECK:STDOUT: specific @HasF.impl(constants.%T) { // CHECK:STDOUT: %T.loc8_14.2 => constants.%T // CHECK:STDOUT: %HasF.impl_witness => constants.%HasF.impl_witness.ec7 // CHECK:STDOUT: @@ -533,7 +533,7 @@ fn G(x: A) { // CHECK:STDOUT: %pattern_type => constants.%pattern_type.7dc // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.b7a(constants.%empty_struct_type) { +// CHECK:STDOUT: specific @HasF.impl(constants.%empty_struct_type) { // CHECK:STDOUT: %T.loc8_14.2 => constants.%empty_struct_type // CHECK:STDOUT: %HasF.impl_witness => constants.%HasF.impl_witness.6e4 // CHECK:STDOUT: @@ -569,9 +569,9 @@ fn G(x: A) { // CHECK:STDOUT: %C.f2e: type = class_type @C, @C(%T) [symbolic] // 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.834: = impl_witness file.%HasF.impl_witness_table, @impl(%T) [symbolic] +// 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, @impl(%T) [symbolic] +// CHECK:STDOUT: %F.type.8fe: type = fn_type @F.2, @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] @@ -579,8 +579,8 @@ fn G(x: A) { // CHECK:STDOUT: %pattern_type.99a: type = pattern_type %C.7a7 [concrete] // 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, @impl(%empty_struct_type) [concrete] -// CHECK:STDOUT: %F.type.2e5: type = fn_type @F.2, @impl(%empty_struct_type) [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.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] @@ -608,7 +608,7 @@ fn G(x: A) { // CHECK:STDOUT: } { // CHECK:STDOUT: %T.loc8_9.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc8_9.2 (constants.%T)] // CHECK:STDOUT: } -// CHECK:STDOUT: impl_decl @impl [concrete] { +// CHECK:STDOUT: impl_decl @HasF.impl [concrete] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: %C.type = name_ref C, file.%C.decl [concrete = constants.%C.generic] @@ -617,8 +617,8 @@ fn G(x: A) { // CHECK:STDOUT: %HasF.ref: type = name_ref HasF, file.%HasF.decl [concrete = constants.%HasF.type] // CHECK:STDOUT: %T.loc10_14.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc10_14.2 (constants.%T)] // CHECK:STDOUT: } -// CHECK:STDOUT: %HasF.impl_witness_table = impl_witness_table (@impl.%F.decl), @impl [concrete] -// CHECK:STDOUT: %HasF.impl_witness: = impl_witness %HasF.impl_witness_table, @impl(constants.%T) [symbolic = @impl.%HasF.impl_witness (constants.%HasF.impl_witness.834)] +// CHECK:STDOUT: %HasF.impl_witness_table = impl_witness_table (@HasF.impl.%F.decl), @HasF.impl [concrete] +// CHECK:STDOUT: %HasF.impl_witness: = impl_witness %HasF.impl_witness_table, @HasF.impl(constants.%T) [symbolic = @HasF.impl.%HasF.impl_witness (constants.%HasF.impl_witness.834)] // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [concrete = constants.%G] { // CHECK:STDOUT: %x.patt: %pattern_type.99a = binding_pattern x [concrete] // CHECK:STDOUT: %x.param_patt: %pattern_type.99a = value_param_pattern %x.patt, call_param0 [concrete] @@ -656,22 +656,22 @@ fn G(x: A) { // CHECK:STDOUT: witness = (%F.decl) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl(%T.loc10_14.1: type) { +// CHECK:STDOUT: generic impl @HasF.impl(%T.loc10_14.1: type) { // CHECK:STDOUT: %T.loc10_14.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc10_14.2 (constants.%T)] // CHECK:STDOUT: %C.loc10_27.2: type = class_type @C, @C(%T.loc10_14.2) [symbolic = %C.loc10_27.2 (constants.%C.f2e)] -// CHECK:STDOUT: %HasF.impl_witness: = impl_witness file.%HasF.impl_witness_table, @impl(%T.loc10_14.2) [symbolic = %HasF.impl_witness (constants.%HasF.impl_witness.834)] +// 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, @impl(%T.loc10_14.2) [symbolic = %F.type (constants.%F.type.8fe)] -// CHECK:STDOUT: %F: @impl.%F.type (%F.type.8fe) = struct_value () [symbolic = %F (constants.%F.92a)] +// 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: @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: @impl.%F.type (%F.type.8fe) = fn_decl @F.2 [symbolic = @impl.%F (constants.%F.92a)] { +// 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: } { // CHECK:STDOUT: %self.param: @F.2.%C (%C.f2e) = value_param call_param0 -// CHECK:STDOUT: %Self.ref: type = name_ref Self, @impl.%C.loc10_27.1 [symbolic = %C (constants.%C.f2e)] +// 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: } // CHECK:STDOUT: @@ -704,7 +704,7 @@ fn G(x: A) { // CHECK:STDOUT: fn(%self.param: @F.1.%Self.as_type.loc5_14.1 (%Self.as_type)); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.2(@impl.%T.loc10_14.1: type) { +// CHECK:STDOUT: generic fn @F.2(@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)] @@ -743,7 +743,7 @@ fn G(x: A) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl(constants.%T) { +// CHECK:STDOUT: specific @HasF.impl(constants.%T) { // CHECK:STDOUT: %T.loc10_14.2 => constants.%T // CHECK:STDOUT: %C.loc10_27.2 => constants.%C.f2e // CHECK:STDOUT: %HasF.impl_witness => constants.%HasF.impl_witness.834 @@ -771,7 +771,7 @@ fn G(x: A) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl(constants.%empty_struct_type) { +// CHECK:STDOUT: specific @HasF.impl(constants.%empty_struct_type) { // CHECK:STDOUT: %T.loc10_14.2 => constants.%empty_struct_type // CHECK:STDOUT: %C.loc10_27.2 => constants.%C.7a7 // CHECK:STDOUT: %HasF.impl_witness => constants.%HasF.impl_witness.0de @@ -808,9 +808,9 @@ fn G(x: A) { // CHECK:STDOUT: %assoc0.d31: %HasF.assoc_type.dd8 = assoc_entity element0, @HasF.%F.decl [symbolic] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %require_complete: = require_complete_type %HasF.type.901 [symbolic] -// CHECK:STDOUT: %HasF.impl_witness.55c: = impl_witness file.%HasF.impl_witness_table, @impl(%T) [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, @impl(%T) [symbolic] +// CHECK:STDOUT: %F.type.6c8: type = fn_type @F.2, @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] @@ -822,8 +822,8 @@ fn G(x: A) { // 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, @impl(%empty_struct_type) [concrete] -// CHECK:STDOUT: %F.type.a13: type = fn_type @F.2, @impl(%empty_struct_type) [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.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] @@ -849,7 +849,7 @@ fn G(x: A) { // CHECK:STDOUT: } { // CHECK:STDOUT: %T.loc4_16.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc4_16.2 (constants.%T)] // CHECK:STDOUT: } -// CHECK:STDOUT: impl_decl @impl [concrete] { +// CHECK:STDOUT: impl_decl @HasF.impl [concrete] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc8_25.1: %empty_struct_type = struct_literal () @@ -859,8 +859,8 @@ fn G(x: A) { // CHECK:STDOUT: %HasF.type.loc8_36.1: type = facet_type <@HasF, @HasF(constants.%T)> [symbolic = %HasF.type.loc8_36.2 (constants.%HasF.type.901)] // CHECK:STDOUT: %T.loc8_14.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc8_14.2 (constants.%T)] // CHECK:STDOUT: } -// CHECK:STDOUT: %HasF.impl_witness_table = impl_witness_table (@impl.%F.decl), @impl [concrete] -// CHECK:STDOUT: %HasF.impl_witness: = impl_witness %HasF.impl_witness_table, @impl(constants.%T) [symbolic = @impl.%HasF.impl_witness (constants.%HasF.impl_witness.55c)] +// CHECK:STDOUT: %HasF.impl_witness_table = impl_witness_table (@HasF.impl.%F.decl), @HasF.impl [concrete] +// CHECK:STDOUT: %HasF.impl_witness: = impl_witness %HasF.impl_witness_table, @HasF.impl(constants.%T) [symbolic = @HasF.impl.%HasF.impl_witness (constants.%HasF.impl_witness.55c)] // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [concrete = constants.%G] { // 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] @@ -909,23 +909,23 @@ fn G(x: A) { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl(%T.loc8_14.1: type) { +// CHECK:STDOUT: generic impl @HasF.impl(%T.loc8_14.1: type) { // CHECK:STDOUT: %T.loc8_14.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc8_14.2 (constants.%T)] // CHECK:STDOUT: %HasF.type.loc8_36.2: type = facet_type <@HasF, @HasF(%T.loc8_14.2)> [symbolic = %HasF.type.loc8_36.2 (constants.%HasF.type.901)] // CHECK:STDOUT: %require_complete: = require_complete_type %HasF.type.loc8_36.2 [symbolic = %require_complete (constants.%require_complete)] -// CHECK:STDOUT: %HasF.impl_witness: = impl_witness file.%HasF.impl_witness_table, @impl(%T.loc8_14.2) [symbolic = %HasF.impl_witness (constants.%HasF.impl_witness.55c)] +// 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, @impl(%T.loc8_14.2) [symbolic = %F.type (constants.%F.type.6c8)] -// CHECK:STDOUT: %F: @impl.%F.type (%F.type.6c8) = struct_value () [symbolic = %F (constants.%F.008)] +// 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: @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: @impl.%F.type (%F.type.6c8) = fn_decl @F.2 [symbolic = @impl.%F (constants.%F.008)] { +// CHECK:STDOUT: %F.decl: @HasF.impl.%F.type (%F.type.6c8) = fn_decl @F.2 [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: } { // CHECK:STDOUT: %self.param: %empty_struct_type = value_param call_param0 -// CHECK:STDOUT: %Self.ref: type = name_ref Self, @impl.%.loc8_25.2 [concrete = constants.%empty_struct_type] +// CHECK:STDOUT: %Self.ref: type = name_ref Self, @HasF.impl.%.loc8_25.2 [concrete = constants.%empty_struct_type] // CHECK:STDOUT: %self: %empty_struct_type = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: @@ -945,7 +945,7 @@ fn G(x: A) { // CHECK:STDOUT: fn(%self.param: @F.1.%Self.as_type.loc5_14.1 (%Self.as_type)); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.2(@impl.%T.loc8_14.1: type) { +// CHECK:STDOUT: generic fn @F.2(@HasF.impl.%T.loc8_14.1: type) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: // CHECK:STDOUT: fn(%self.param: %empty_struct_type) { @@ -991,7 +991,7 @@ fn G(x: A) { // CHECK:STDOUT: %pattern_type => constants.%pattern_type.dfb // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl(constants.%T) { +// CHECK:STDOUT: specific @HasF.impl(constants.%T) { // CHECK:STDOUT: %T.loc8_14.2 => constants.%T // CHECK:STDOUT: %HasF.type.loc8_36.2 => constants.%HasF.type.901 // CHECK:STDOUT: %require_complete => constants.%require_complete @@ -1024,7 +1024,7 @@ fn G(x: A) { // CHECK:STDOUT: %assoc0.loc5_21.2 => constants.%assoc0.f76 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl(constants.%empty_struct_type) { +// CHECK:STDOUT: specific @HasF.impl(constants.%empty_struct_type) { // CHECK:STDOUT: %T.loc8_14.2 => constants.%empty_struct_type // CHECK:STDOUT: %HasF.type.loc8_36.2 => constants.%HasF.type.072 // CHECK:STDOUT: %require_complete => constants.%complete_type @@ -1053,9 +1053,9 @@ fn G(x: A) { // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic] // CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] // CHECK:STDOUT: %U: type = bind_symbolic_name U, 1 [symbolic] -// CHECK:STDOUT: %HasF.impl_witness: = impl_witness file.%HasF.impl_witness_table, @impl(%T, %U) [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, @impl(%T, %U) [symbolic] +// CHECK:STDOUT: %F.type.56e: type = fn_type @F.2, @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] @@ -1079,7 +1079,7 @@ fn G(x: A) { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %HasF.decl: type = interface_decl @HasF [concrete = constants.%HasF.type] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] { +// CHECK:STDOUT: impl_decl @HasF.impl [concrete] { // 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: } { @@ -1088,8 +1088,8 @@ fn G(x: A) { // CHECK:STDOUT: %T.loc12_14.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc12_14.2 (constants.%T)] // CHECK:STDOUT: %U.loc12_24.1: type = bind_symbolic_name U, 1 [symbolic = %U.loc12_24.2 (constants.%U)] // CHECK:STDOUT: } -// CHECK:STDOUT: %HasF.impl_witness_table = impl_witness_table (), @impl [concrete] -// CHECK:STDOUT: %HasF.impl_witness: = impl_witness %HasF.impl_witness_table, @impl(constants.%T, constants.%U) [symbolic = @impl.%HasF.impl_witness (constants.%HasF.impl_witness)] +// CHECK:STDOUT: %HasF.impl_witness_table = impl_witness_table (), @HasF.impl [concrete] +// CHECK:STDOUT: %HasF.impl_witness: = impl_witness %HasF.impl_witness_table, @HasF.impl(constants.%T, constants.%U) [symbolic = @HasF.impl.%HasF.impl_witness (constants.%HasF.impl_witness)] // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [concrete = constants.%G] { // 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] @@ -1125,22 +1125,22 @@ fn G(x: A) { // CHECK:STDOUT: witness = (%F.decl) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl(%T.loc12_14.1: type, %U.loc12_24.1: type) { +// CHECK:STDOUT: generic impl @HasF.impl(%T.loc12_14.1: type, %U.loc12_24.1: type) { // CHECK:STDOUT: %T.loc12_14.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc12_14.2 (constants.%T)] // CHECK:STDOUT: %U.loc12_24.2: type = bind_symbolic_name U, 1 [symbolic = %U.loc12_24.2 (constants.%U)] -// CHECK:STDOUT: %HasF.impl_witness: = impl_witness file.%HasF.impl_witness_table, @impl(%T.loc12_14.2, %U.loc12_24.2) [symbolic = %HasF.impl_witness (constants.%HasF.impl_witness)] +// 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, @impl(%T.loc12_14.2, %U.loc12_24.2) [symbolic = %F.type (constants.%F.type.56e)] -// CHECK:STDOUT: %F: @impl.%F.type (%F.type.56e) = struct_value () [symbolic = %F (constants.%F.9b8)] +// 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: @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: @impl.%F.type (%F.type.56e) = fn_decl @F.2 [symbolic = @impl.%F (constants.%F.9b8)] { +// 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: } { // CHECK:STDOUT: %self.param: @F.2.%T (%T) = value_param call_param0 -// CHECK:STDOUT: %Self.ref: type = name_ref Self, @impl.%T.ref [symbolic = %T (constants.%T)] +// 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: } // CHECK:STDOUT: @@ -1158,7 +1158,7 @@ fn G(x: A) { // CHECK:STDOUT: fn(%self.param: @F.1.%Self.as_type.loc5_14.1 (%Self.as_type)); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.2(@impl.%T.loc12_14.1: type, @impl.%U.loc12_24.1: type) { +// CHECK:STDOUT: generic fn @F.2(@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: @@ -1185,7 +1185,7 @@ fn G(x: A) { // CHECK:STDOUT: %pattern_type => constants.%pattern_type.28f // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl(constants.%T, constants.%U) { +// CHECK:STDOUT: specific @HasF.impl(constants.%T, constants.%U) { // CHECK:STDOUT: %T.loc12_14.2 => constants.%T // CHECK:STDOUT: %U.loc12_24.2 => constants.%U // CHECK:STDOUT: %HasF.impl_witness => constants.%HasF.impl_witness @@ -1216,9 +1216,9 @@ fn G(x: A) { // 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, @impl(%T) [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, @impl(%T) [symbolic] +// CHECK:STDOUT: %F.type.912: type = fn_type @F.2, @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] @@ -1258,7 +1258,7 @@ fn G(x: A) { // CHECK:STDOUT: } { // CHECK:STDOUT: %T.loc4_16.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc4_16.2 (constants.%T)] // CHECK:STDOUT: } -// CHECK:STDOUT: impl_decl @impl [concrete] { +// CHECK:STDOUT: impl_decl @HasF.impl [concrete] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc8_24: type = name_ref T, %T.loc8_14.1 [symbolic = %T.loc8_14.2 (constants.%T)] @@ -1267,8 +1267,8 @@ fn G(x: A) { // CHECK:STDOUT: %HasF.type.loc8_35.1: type = facet_type <@HasF, @HasF(constants.%T)> [symbolic = %HasF.type.loc8_35.2 (constants.%HasF.type.901)] // CHECK:STDOUT: %T.loc8_14.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc8_14.2 (constants.%T)] // CHECK:STDOUT: } -// CHECK:STDOUT: %HasF.impl_witness_table = impl_witness_table (@impl.%F.decl), @impl [concrete] -// CHECK:STDOUT: %HasF.impl_witness: = impl_witness %HasF.impl_witness_table, @impl(constants.%T) [symbolic = @impl.%HasF.impl_witness (constants.%HasF.impl_witness)] +// CHECK:STDOUT: %HasF.impl_witness_table = impl_witness_table (@HasF.impl.%F.decl), @HasF.impl [concrete] +// CHECK:STDOUT: %HasF.impl_witness: = impl_witness %HasF.impl_witness_table, @HasF.impl(constants.%T) [symbolic = @HasF.impl.%HasF.impl_witness (constants.%HasF.impl_witness)] // CHECK:STDOUT: %A.decl: type = class_decl @A [concrete = constants.%A] {} {} // CHECK:STDOUT: %B.decl: type = class_decl @B [concrete = constants.%B] {} {} // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [concrete = constants.%G] { @@ -1316,23 +1316,23 @@ fn G(x: A) { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl(%T.loc8_14.1: type) { +// CHECK:STDOUT: generic impl @HasF.impl(%T.loc8_14.1: type) { // CHECK:STDOUT: %T.loc8_14.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc8_14.2 (constants.%T)] // CHECK:STDOUT: %HasF.type.loc8_35.2: type = facet_type <@HasF, @HasF(%T.loc8_14.2)> [symbolic = %HasF.type.loc8_35.2 (constants.%HasF.type.901)] // CHECK:STDOUT: %require_complete: = require_complete_type %HasF.type.loc8_35.2 [symbolic = %require_complete (constants.%require_complete.03f)] -// CHECK:STDOUT: %HasF.impl_witness: = impl_witness file.%HasF.impl_witness_table, @impl(%T.loc8_14.2) [symbolic = %HasF.impl_witness (constants.%HasF.impl_witness)] +// 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, @impl(%T.loc8_14.2) [symbolic = %F.type (constants.%F.type.912)] -// CHECK:STDOUT: %F: @impl.%F.type (%F.type.912) = struct_value () [symbolic = %F (constants.%F.f30)] +// 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: @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: @impl.%F.type (%F.type.912) = fn_decl @F.2 [symbolic = @impl.%F (constants.%F.f30)] { +// 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: } { // CHECK:STDOUT: %self.param: @F.2.%T (%T) = value_param call_param0 -// CHECK:STDOUT: %Self.ref: type = name_ref Self, @impl.%T.ref.loc8_24 [symbolic = %T (constants.%T)] +// 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: } // CHECK:STDOUT: @@ -1370,7 +1370,7 @@ fn G(x: A) { // CHECK:STDOUT: fn(%self.param: @F.1.%Self.as_type.loc5_14.1 (%Self.as_type)); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.2(@impl.%T.loc8_14.1: type) { +// CHECK:STDOUT: generic fn @F.2(@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: @@ -1414,7 +1414,7 @@ fn G(x: A) { // CHECK:STDOUT: %pattern_type => constants.%pattern_type.dfb // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl(constants.%T) { +// CHECK:STDOUT: specific @HasF.impl(constants.%T) { // CHECK:STDOUT: %T.loc8_14.2 => constants.%T // CHECK:STDOUT: %HasF.type.loc8_35.2 => constants.%HasF.type.901 // CHECK:STDOUT: %require_complete => constants.%require_complete.03f diff --git a/toolchain/check/testdata/impl/lookup/impl_forall.carbon b/toolchain/check/testdata/impl/lookup/impl_forall.carbon index f0bf2f7c7269..c15e0d185262 100644 --- a/toolchain/check/testdata/impl/lookup/impl_forall.carbon +++ b/toolchain/check/testdata/impl/lookup/impl_forall.carbon @@ -71,10 +71,10 @@ fn TestSpecific(a: A({})) -> {} { // 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] // CHECK:STDOUT: %require_complete.cfebb2.1: = require_complete_type %I.type.325e65.2 [symbolic] -// CHECK:STDOUT: %I.impl_witness.40ab31.1: = impl_witness file.%I.impl_witness_table, @impl.27e(%V) [symbolic] +// 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, @impl.27e(%V) [symbolic] +// CHECK:STDOUT: %F.type.0fea45.1: type = fn_type @F.2, @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] @@ -100,8 +100,8 @@ fn TestSpecific(a: A({})) -> {} { // 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, @impl.27e(%W) [symbolic] -// CHECK:STDOUT: %F.type.0fea45.2: type = fn_type @F.2, @impl.27e(%W) [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.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] @@ -125,15 +125,15 @@ fn TestSpecific(a: A({})) -> {} { // 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, @impl.27e(%empty_struct_type) [concrete] -// CHECK:STDOUT: %F.type.875: type = fn_type @F.2, @impl.27e(%empty_struct_type) [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.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: %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, @impl.49c(%empty_struct_type) [concrete] +// CHECK:STDOUT: %Op.type.069: type = fn_type @Op.2, @Destroy.impl(%empty_struct_type) [concrete] // CHECK:STDOUT: %Op.d5a: %Op.type.069 = struct_value () [concrete] // CHECK:STDOUT: %ptr.c28: type = ptr_type %empty_struct_type [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.d5a, @Op.2(%empty_struct_type) [concrete] @@ -167,7 +167,7 @@ fn TestSpecific(a: A({})) -> {} { // CHECK:STDOUT: } { // CHECK:STDOUT: %U.loc7_13.1: type = bind_symbolic_name U, 0 [symbolic = %U.loc7_13.2 (constants.%U)] // CHECK:STDOUT: } -// CHECK:STDOUT: impl_decl @impl.27e [concrete] { +// CHECK:STDOUT: impl_decl @I.impl [concrete] { // CHECK:STDOUT: %V.patt: %pattern_type.98f = symbolic_binding_pattern V, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %A.ref: %A.type = name_ref A, file.%A.decl [concrete = constants.%A.generic] @@ -178,8 +178,8 @@ fn TestSpecific(a: A({})) -> {} { // CHECK:STDOUT: %I.type.loc11_35.1: type = facet_type <@I, @I(constants.%V)> [symbolic = %I.type.loc11_35.2 (constants.%I.type.325e65.2)] // CHECK:STDOUT: %V.loc11_14.1: type = bind_symbolic_name V, 0 [symbolic = %V.loc11_14.2 (constants.%V)] // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (@impl.27e.%F.decl), @impl.27e [concrete] -// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table, @impl.27e(constants.%V) [symbolic = @impl.27e.%I.impl_witness (constants.%I.impl_witness.40ab31.1)] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (@I.impl.%F.decl), @I.impl [concrete] +// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table, @I.impl(constants.%V) [symbolic = @I.impl.%I.impl_witness (constants.%I.impl_witness.40ab31.1)] // CHECK:STDOUT: %TestGeneric.decl: %TestGeneric.type = fn_decl @TestGeneric [concrete = constants.%TestGeneric] { // CHECK:STDOUT: %W.patt: %pattern_type.98f = symbolic_binding_pattern W, 0 [concrete] // CHECK:STDOUT: %a.patt: @TestGeneric.%pattern_type.loc17_26 (%pattern_type.68d8d3.2) = binding_pattern a [concrete] @@ -261,27 +261,27 @@ fn TestSpecific(a: A({})) -> {} { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl.27e(%V.loc11_14.1: type) { +// CHECK:STDOUT: generic impl @I.impl(%V.loc11_14.1: type) { // CHECK:STDOUT: %V.loc11_14.2: type = bind_symbolic_name V, 0 [symbolic = %V.loc11_14.2 (constants.%V)] // CHECK:STDOUT: %A.loc11_27.2: type = class_type @A, @A(%V.loc11_14.2) [symbolic = %A.loc11_27.2 (constants.%A.13025a.2)] // CHECK:STDOUT: %I.type.loc11_35.2: type = facet_type <@I, @I(%V.loc11_14.2)> [symbolic = %I.type.loc11_35.2 (constants.%I.type.325e65.2)] // CHECK:STDOUT: %require_complete: = require_complete_type %I.type.loc11_35.2 [symbolic = %require_complete (constants.%require_complete.cfebb2.1)] -// CHECK:STDOUT: %I.impl_witness: = impl_witness file.%I.impl_witness_table, @impl.27e(%V.loc11_14.2) [symbolic = %I.impl_witness (constants.%I.impl_witness.40ab31.1)] +// 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, @impl.27e(%V.loc11_14.2) [symbolic = %F.type (constants.%F.type.0fea45.1)] -// CHECK:STDOUT: %F: @impl.27e.%F.type (%F.type.0fea45.1) = struct_value () [symbolic = %F (constants.%F.d6ae34.1)] +// 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: @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: @impl.27e.%F.type (%F.type.0fea45.1) = fn_decl @F.2 [symbolic = @impl.27e.%F (constants.%F.d6ae34.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: } { -// CHECK:STDOUT: %V.ref: type = name_ref V, @impl.27e.%V.loc11_14.1 [symbolic = %V (constants.%V)] +// 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.ref: type = name_ref Self, @impl.27e.%A.loc11_27.1 [symbolic = %A (constants.%A.13025a.2)] +// 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 @@ -329,7 +329,7 @@ fn TestSpecific(a: A({})) -> {} { // CHECK:STDOUT: fn(%self.param: @F.1.%Self.as_type.loc8_14.1 (%Self.as_type.928)) -> @F.1.%U (%U); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.2(@impl.27e.%V.loc11_14.1: type) { +// CHECK:STDOUT: generic fn @F.2(@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)] @@ -455,7 +455,7 @@ fn TestSpecific(a: A({})) -> {} { // CHECK:STDOUT: %assoc0.loc8_26.2 => constants.%assoc0.8f0422.2 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.27e(constants.%V) { +// CHECK:STDOUT: specific @I.impl(constants.%V) { // CHECK:STDOUT: %V.loc11_14.2 => constants.%V // CHECK:STDOUT: %A.loc11_27.2 => constants.%A.13025a.2 // CHECK:STDOUT: %I.type.loc11_35.2 => constants.%I.type.325e65.2 @@ -513,7 +513,7 @@ fn TestSpecific(a: A({})) -> {} { // CHECK:STDOUT: %assoc0.loc8_26.2 => constants.%assoc0.8f0422.3 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.27e(constants.%W) { +// CHECK:STDOUT: specific @I.impl(constants.%W) { // CHECK:STDOUT: %V.loc11_14.2 => constants.%W // CHECK:STDOUT: %A.loc11_27.2 => constants.%A.13025a.3 // CHECK:STDOUT: %I.type.loc11_35.2 => constants.%I.type.325e65.3 @@ -557,7 +557,7 @@ fn TestSpecific(a: A({})) -> {} { // CHECK:STDOUT: %assoc0.loc8_26.2 => constants.%assoc0.722 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.27e(constants.%empty_struct_type) { +// CHECK:STDOUT: specific @I.impl(constants.%empty_struct_type) { // CHECK:STDOUT: %V.loc11_14.2 => constants.%empty_struct_type // CHECK:STDOUT: %A.loc11_27.2 => constants.%A.235 // CHECK:STDOUT: %I.type.loc11_35.2 => constants.%I.type.885 diff --git a/toolchain/check/testdata/impl/lookup/import.carbon b/toolchain/check/testdata/impl/lookup/import.carbon index 62cb3363c2ac..367b646b1903 100644 --- a/toolchain/check/testdata/impl/lookup/import.carbon +++ b/toolchain/check/testdata/impl/lookup/import.carbon @@ -260,11 +260,11 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %HasF.decl: type = interface_decl @HasF [concrete = constants.%HasF.type] {} {} // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @HasF.impl [concrete] {} { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %HasF.ref: type = name_ref HasF, file.%HasF.decl [concrete = constants.%HasF.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %HasF.impl_witness_table = impl_witness_table (@impl.%F.decl), @impl [concrete] +// CHECK:STDOUT: %HasF.impl_witness_table = impl_witness_table (@HasF.impl.%F.decl), @HasF.impl [concrete] // CHECK:STDOUT: %HasF.impl_witness: = impl_witness %HasF.impl_witness_table [concrete = constants.%HasF.impl_witness] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -290,13 +290,13 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: witness = (%F.decl) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %C.ref as %HasF.ref { +// 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: %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: } { // CHECK:STDOUT: %self.param: %C = value_param call_param0 -// CHECK:STDOUT: %Self.ref: type = name_ref Self, @impl.%C.ref [concrete = constants.%C] +// CHECK:STDOUT: %Self.ref: type = name_ref Self, @HasF.impl.%C.ref [concrete = constants.%C] // CHECK:STDOUT: %self: %C = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: @@ -407,25 +407,25 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %PackageA.import = import PackageA // CHECK:STDOUT: %HasG.decl: type = interface_decl @HasG [concrete = constants.%HasG.type] {} {} // CHECK:STDOUT: %D.decl: type = class_decl @D [concrete = constants.%D] {} {} -// CHECK:STDOUT: impl_decl @impl.e95 [concrete] {} { +// CHECK:STDOUT: impl_decl @HasG.impl.e95 [concrete] {} { // CHECK:STDOUT: %PackageA.ref: = name_ref PackageA, imports.%PackageA [concrete = imports.%PackageA] // CHECK:STDOUT: %C.ref: type = name_ref C, imports.%PackageA.C [concrete = constants.%C] // CHECK:STDOUT: %HasG.ref: type = name_ref HasG, file.%HasG.decl [concrete = constants.%HasG.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %HasG.impl_witness_table.loc13 = impl_witness_table (@impl.e95.%G.decl), @impl.e95 [concrete] +// CHECK:STDOUT: %HasG.impl_witness_table.loc13 = impl_witness_table (@HasG.impl.e95.%G.decl), @HasG.impl.e95 [concrete] // CHECK:STDOUT: %HasG.impl_witness.loc13: = impl_witness %HasG.impl_witness_table.loc13 [concrete = constants.%HasG.impl_witness.69b] -// CHECK:STDOUT: impl_decl @impl.8af [concrete] {} { +// CHECK:STDOUT: impl_decl @HasF.impl [concrete] {} { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D.decl [concrete = constants.%D] // CHECK:STDOUT: %PackageA.ref: = name_ref PackageA, imports.%PackageA [concrete = imports.%PackageA] // CHECK:STDOUT: %HasF.ref: type = name_ref HasF, imports.%PackageA.HasF [concrete = constants.%HasF.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %HasF.impl_witness_table = impl_witness_table (@impl.8af.%F.decl), @impl.8af [concrete] +// CHECK:STDOUT: %HasF.impl_witness_table = impl_witness_table (@HasF.impl.%F.decl), @HasF.impl [concrete] // CHECK:STDOUT: %HasF.impl_witness: = impl_witness %HasF.impl_witness_table [concrete = constants.%HasF.impl_witness] -// CHECK:STDOUT: impl_decl @impl.da9 [concrete] {} { +// CHECK:STDOUT: impl_decl @HasG.impl.da9 [concrete] {} { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D.decl [concrete = constants.%D] // CHECK:STDOUT: %HasG.ref: type = name_ref HasG, file.%HasG.decl [concrete = constants.%HasG.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %HasG.impl_witness_table.loc23 = impl_witness_table (@impl.da9.%G.decl), @impl.da9 [concrete] +// CHECK:STDOUT: %HasG.impl_witness_table.loc23 = impl_witness_table (@HasG.impl.da9.%G.decl), @HasG.impl.da9 [concrete] // CHECK:STDOUT: %HasG.impl_witness.loc23: = impl_witness %HasG.impl_witness_table.loc23 [concrete = constants.%HasG.impl_witness.b2b] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -458,13 +458,13 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: witness = (imports.%PackageA.F) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.e95: %C.ref as %HasG.ref { +// 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: %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: } { // CHECK:STDOUT: %self.param: %C = value_param call_param0 -// CHECK:STDOUT: %Self.ref: type = name_ref Self, @impl.e95.%C.ref [concrete = constants.%C] +// CHECK:STDOUT: %Self.ref: type = name_ref Self, @HasG.impl.e95.%C.ref [concrete = constants.%C] // CHECK:STDOUT: %self: %C = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: @@ -473,13 +473,13 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: witness = file.%HasG.impl_witness.loc13 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.8af: %D.ref as %HasF.ref { +// 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: %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: } { // CHECK:STDOUT: %self.param: %D = value_param call_param0 -// CHECK:STDOUT: %Self.ref: type = name_ref Self, @impl.8af.%D.ref [concrete = constants.%D] +// CHECK:STDOUT: %Self.ref: type = name_ref Self, @HasF.impl.%D.ref [concrete = constants.%D] // CHECK:STDOUT: %self: %D = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: @@ -488,13 +488,13 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: witness = file.%HasF.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.da9: %D.ref as %HasG.ref { +// 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: %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: } { // CHECK:STDOUT: %self.param: %D = value_param call_param0 -// CHECK:STDOUT: %Self.ref: type = name_ref Self, @impl.da9.%D.ref [concrete = constants.%D] +// CHECK:STDOUT: %Self.ref: type = name_ref Self, @HasG.impl.da9.%D.ref [concrete = constants.%D] // CHECK:STDOUT: %self: %D = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: @@ -628,7 +628,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %PackageA.import_ref.29a: type = import_ref PackageA//default, loc11_6, loaded [concrete = constants.%C] // CHECK:STDOUT: %PackageA.import_ref.e8c: type = import_ref PackageA//default, loc11_11, loaded [concrete = constants.%HasF.type] // CHECK:STDOUT: %PackageA.import_ref.148: %F.type.4e3 = import_ref PackageA//default, loc12_22, loaded [concrete = constants.%F.857] -// CHECK:STDOUT: %HasF.impl_witness_table = impl_witness_table (%PackageA.import_ref.148), @impl [concrete] +// CHECK:STDOUT: %HasF.impl_witness_table = impl_witness_table (%PackageA.import_ref.148), @HasF.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -659,7 +659,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: witness = (imports.%PackageA.F) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: imports.%PackageA.import_ref.29a as imports.%PackageA.import_ref.e8c [from "package_a.carbon"] { +// CHECK:STDOUT: impl @HasF.impl: imports.%PackageA.import_ref.29a as imports.%PackageA.import_ref.e8c [from "package_a.carbon"] { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = imports.%PackageA.import_ref.c12 // CHECK:STDOUT: } @@ -766,7 +766,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %PackageB.import_ref.aa9f8a.2: type = import_ref PackageB//default, loc23_6, loaded [concrete = constants.%D] // CHECK:STDOUT: %PackageB.import_ref.cee586.2: type = import_ref PackageB//default, loc23_11, loaded [concrete = constants.%HasG.type] // CHECK:STDOUT: %PackageB.import_ref.0cd: %F.type.394 = import_ref PackageB//default, loc19_22, loaded [concrete = constants.%F.1fc] -// CHECK:STDOUT: %HasF.impl_witness_table = impl_witness_table (%PackageB.import_ref.0cd), @impl.52b [concrete] +// CHECK:STDOUT: %HasF.impl_witness_table = impl_witness_table (%PackageB.import_ref.0cd), @HasF.impl.52b [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -806,22 +806,22 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: witness = (imports.%PackageB.G) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.4b2: imports.%PackageA.import_ref.29a as imports.%PackageA.import_ref.e8c [from "package_a.carbon"] { +// CHECK:STDOUT: impl @HasF.impl.4b2: imports.%PackageA.import_ref.29a as imports.%PackageA.import_ref.e8c [from "package_a.carbon"] { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = imports.%PackageA.import_ref.5cd // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.922: imports.%PackageB.import_ref.dfb as imports.%PackageB.import_ref.cee586.1 [from "package_b.carbon"] { +// CHECK:STDOUT: impl @HasG.impl.922: imports.%PackageB.import_ref.dfb as imports.%PackageB.import_ref.cee586.1 [from "package_b.carbon"] { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = imports.%PackageB.import_ref.ea7 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.52b: imports.%PackageB.import_ref.aa9f8a.1 as imports.%PackageB.import_ref.831 [from "package_b.carbon"] { +// CHECK:STDOUT: impl @HasF.impl.52b: imports.%PackageB.import_ref.aa9f8a.1 as imports.%PackageB.import_ref.831 [from "package_b.carbon"] { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = imports.%PackageB.import_ref.ce6 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.47e: imports.%PackageB.import_ref.aa9f8a.2 as imports.%PackageB.import_ref.cee586.2 [from "package_b.carbon"] { +// CHECK:STDOUT: impl @HasG.impl.47e: imports.%PackageB.import_ref.aa9f8a.2 as imports.%PackageB.import_ref.cee586.2 [from "package_b.carbon"] { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = imports.%PackageB.import_ref.569 // CHECK:STDOUT: } @@ -935,7 +935,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %PackageB.import_ref.aa9f8a.2: type = import_ref PackageB//default, loc23_6, loaded [concrete = constants.%D] // CHECK:STDOUT: %PackageB.import_ref.cee586.2: type = import_ref PackageB//default, loc23_11, loaded [concrete = constants.%HasG.type] // CHECK:STDOUT: %PackageB.import_ref.9ec: %G.type.18e = import_ref PackageB//default, loc14_22, loaded [concrete = constants.%G.dbb] -// CHECK:STDOUT: %HasG.impl_witness_table = impl_witness_table (%PackageB.import_ref.9ec), @impl.922 [concrete] +// CHECK:STDOUT: %HasG.impl_witness_table = impl_witness_table (%PackageB.import_ref.9ec), @HasG.impl.922 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -975,22 +975,22 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: witness = (imports.%PackageA.F) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.4b2: imports.%PackageA.import_ref.29a as imports.%PackageA.import_ref.e8c [from "package_a.carbon"] { +// CHECK:STDOUT: impl @HasF.impl.4b2: imports.%PackageA.import_ref.29a as imports.%PackageA.import_ref.e8c [from "package_a.carbon"] { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = imports.%PackageA.import_ref.5cd // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.922: imports.%PackageB.import_ref.dfb as imports.%PackageB.import_ref.cee586.1 [from "package_b.carbon"] { +// CHECK:STDOUT: impl @HasG.impl.922: imports.%PackageB.import_ref.dfb as imports.%PackageB.import_ref.cee586.1 [from "package_b.carbon"] { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = imports.%PackageB.import_ref.1f6 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.52b: imports.%PackageB.import_ref.aa9f8a.1 as imports.%PackageB.import_ref.831 [from "package_b.carbon"] { +// CHECK:STDOUT: impl @HasF.impl.52b: imports.%PackageB.import_ref.aa9f8a.1 as imports.%PackageB.import_ref.831 [from "package_b.carbon"] { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = imports.%PackageB.import_ref.5ba // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.47e: imports.%PackageB.import_ref.aa9f8a.2 as imports.%PackageB.import_ref.cee586.2 [from "package_b.carbon"] { +// CHECK:STDOUT: impl @HasG.impl.47e: imports.%PackageB.import_ref.aa9f8a.2 as imports.%PackageB.import_ref.cee586.2 [from "package_b.carbon"] { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = imports.%PackageB.import_ref.569 // CHECK:STDOUT: } @@ -1098,7 +1098,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %PackageB.import_ref.aa9f8a.2: type = import_ref PackageB//default, loc23_6, loaded [concrete = constants.%D] // CHECK:STDOUT: %PackageB.import_ref.cee586.2: type = import_ref PackageB//default, loc23_11, loaded [concrete = constants.%HasG.type] // CHECK:STDOUT: %PackageB.import_ref.b0a: %G.type.405 = import_ref PackageB//default, loc24_22, loaded [concrete = constants.%G.703] -// CHECK:STDOUT: %HasG.impl_witness_table = impl_witness_table (%PackageB.import_ref.b0a), @impl.47e [concrete] +// CHECK:STDOUT: %HasG.impl_witness_table = impl_witness_table (%PackageB.import_ref.b0a), @HasG.impl.47e [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -1136,17 +1136,17 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: witness = (imports.%PackageB.F) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.162: imports.%PackageB.import_ref.dfb as imports.%PackageB.import_ref.cee586.1 [from "package_b.carbon"] { +// CHECK:STDOUT: impl @HasG.impl.162: imports.%PackageB.import_ref.dfb as imports.%PackageB.import_ref.cee586.1 [from "package_b.carbon"] { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = imports.%PackageB.import_ref.ea7 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.5f1: imports.%PackageB.import_ref.aa9f8a.1 as imports.%PackageB.import_ref.831 [from "package_b.carbon"] { +// CHECK:STDOUT: impl @HasF.impl: imports.%PackageB.import_ref.aa9f8a.1 as imports.%PackageB.import_ref.831 [from "package_b.carbon"] { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = imports.%PackageB.import_ref.5ba // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.47e: imports.%PackageB.import_ref.aa9f8a.2 as imports.%PackageB.import_ref.cee586.2 [from "package_b.carbon"] { +// CHECK:STDOUT: impl @HasG.impl.47e: imports.%PackageB.import_ref.aa9f8a.2 as imports.%PackageB.import_ref.cee586.2 [from "package_b.carbon"] { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = imports.%PackageB.import_ref.bb9 // CHECK:STDOUT: } @@ -1226,12 +1226,12 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Z.decl: type = interface_decl @Z [concrete = constants.%Z.type] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @Z.impl [concrete] {} { // CHECK:STDOUT: %.loc8_7.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc8_7.2: type = converted %.loc8_7.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %Z.ref: type = name_ref Z, file.%Z.decl [concrete = constants.%Z.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %Z.impl_witness_table = impl_witness_table (@impl.%H.decl), @impl [concrete] +// CHECK:STDOUT: %Z.impl_witness_table = impl_witness_table (@Z.impl.%H.decl), @Z.impl [concrete] // CHECK:STDOUT: %Z.impl_witness: = impl_witness %Z.impl_witness_table [concrete = constants.%Z.impl_witness] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -1257,13 +1257,13 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: witness = (%H.decl) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %.loc8_7.2 as %Z.ref { +// 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: %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: } { // CHECK:STDOUT: %self.param: %empty_tuple.type = value_param call_param0 -// CHECK:STDOUT: %Self.ref: type = name_ref Self, @impl.%.loc8_7.2 [concrete = constants.%empty_tuple.type] +// CHECK:STDOUT: %Self.ref: type = name_ref Self, @Z.impl.%.loc8_7.2 [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %self: %empty_tuple.type = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: @@ -1338,7 +1338,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %PackageAssociatedInterface.import_ref.e5c: type = import_ref PackageAssociatedInterface//default, loc8_7, loaded [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %PackageAssociatedInterface.import_ref.df1: type = import_ref PackageAssociatedInterface//default, loc8_12, loaded [concrete = constants.%Z.type] // CHECK:STDOUT: %PackageAssociatedInterface.import_ref.6d7: %H.type.ab3 = import_ref PackageAssociatedInterface//default, loc9_22, loaded [concrete = constants.%H.c25] -// CHECK:STDOUT: %Z.impl_witness_table = impl_witness_table (%PackageAssociatedInterface.import_ref.6d7), @impl [concrete] +// CHECK:STDOUT: %Z.impl_witness_table = impl_witness_table (%PackageAssociatedInterface.import_ref.6d7), @Z.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -1359,7 +1359,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: witness = (imports.%PackageAssociatedInterface.H) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: imports.%PackageAssociatedInterface.import_ref.e5c as imports.%PackageAssociatedInterface.import_ref.df1 [from "associated_interface.carbon"] { +// CHECK:STDOUT: impl @Z.impl: imports.%PackageAssociatedInterface.import_ref.e5c as imports.%PackageAssociatedInterface.import_ref.df1 [from "associated_interface.carbon"] { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = imports.%PackageAssociatedInterface.import_ref.d8c // CHECK:STDOUT: } @@ -1545,7 +1545,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %assoc0.494: %Y.assoc_type = assoc_entity element0, imports.%PackageHasParam.import_ref.ce2 [concrete] // CHECK:STDOUT: %.0fb: type = fn_type_with_self_type %K.type.311, %Y.facet [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.5fc: type = fn_type @Op.2, @impl.49c(%AnyParam.241) [concrete] +// CHECK:STDOUT: %Op.type.5fc: type = fn_type @Op.2, @Destroy.impl(%AnyParam.241) [concrete] // CHECK:STDOUT: %Op.6f3: %Op.type.5fc = struct_value () [concrete] // CHECK:STDOUT: %ptr.301: type = ptr_type %AnyParam.241 [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.6f3, @Op.2(%AnyParam.241) [concrete] @@ -1590,7 +1590,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: } { // CHECK:STDOUT: %U.loc6_28.1: type = bind_symbolic_name U, 0 [symbolic = %U.loc6_28.2 (constants.%U)] // CHECK:STDOUT: } -// CHECK:STDOUT: impl_decl @impl.dbd [concrete] {} { +// CHECK:STDOUT: impl_decl @Y.impl [concrete] {} { // CHECK:STDOUT: %PackageHasParam.ref.loc8_6: = name_ref PackageHasParam, imports.%PackageHasParam [concrete = imports.%PackageHasParam] // CHECK:STDOUT: %AnyParam.ref: %AnyParam.type = name_ref AnyParam, imports.%PackageHasParam.AnyParam [concrete = constants.%AnyParam.generic] // CHECK:STDOUT: %GenericInterface.ref: %GenericInterface.type.c92 = name_ref GenericInterface, file.%GenericInterface.decl [concrete = constants.%GenericInterface.generic] @@ -1598,7 +1598,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %PackageHasParam.ref.loc8_52: = name_ref PackageHasParam, imports.%PackageHasParam [concrete = imports.%PackageHasParam] // CHECK:STDOUT: %Y.ref: type = name_ref Y, imports.%PackageHasParam.Y [concrete = constants.%Y.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %Y.impl_witness_table = impl_witness_table (@impl.dbd.%K.decl), @impl.dbd [concrete] +// CHECK:STDOUT: %Y.impl_witness_table = impl_witness_table (@Y.impl.%K.decl), @Y.impl [concrete] // CHECK:STDOUT: %Y.impl_witness: = impl_witness %Y.impl_witness_table [concrete = constants.%Y.impl_witness] // CHECK:STDOUT: %L.decl: %L.type = fn_decl @L [concrete = constants.%L] {} {} // CHECK:STDOUT: } @@ -1626,13 +1626,13 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: witness = (imports.%PackageHasParam.K) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.dbd: %AnyParam as %Y.ref { +// 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: %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: } { // CHECK:STDOUT: %self.param: %AnyParam.241 = value_param call_param0 -// CHECK:STDOUT: %Self.ref: type = name_ref Self, @impl.dbd.%AnyParam [concrete = constants.%AnyParam.241] +// CHECK:STDOUT: %Self.ref: type = name_ref Self, @Y.impl.%AnyParam [concrete = constants.%AnyParam.241] // CHECK:STDOUT: %self: %AnyParam.241 = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: @@ -1773,7 +1773,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %.e17: type = fn_type_with_self_type %K.type.311, %Y.facet [concrete] // CHECK:STDOUT: %K.type.7f9: type = fn_type @K.2 [concrete] // CHECK:STDOUT: %K.c3c: %K.type.7f9 = struct_value () [concrete] -// CHECK:STDOUT: %Op.type.77e: type = fn_type @Op.1, @impl.4b5(%AnyParam.861) [concrete] +// CHECK:STDOUT: %Op.type.77e: type = fn_type @Op.1, @Destroy.impl(%AnyParam.861) [concrete] // CHECK:STDOUT: %Op.49f: %Op.type.77e = struct_value () [concrete] // CHECK:STDOUT: %ptr.1ef: type = ptr_type %AnyParam.861 [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.49f, @Op.1(%AnyParam.861) [concrete] @@ -1812,7 +1812,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %PackageGenericInterface.import_ref.321: type = import_ref PackageGenericInterface//default, loc8_47, loaded [concrete = constants.%AnyParam.861] // CHECK:STDOUT: %PackageGenericInterface.import_ref.ca6: type = import_ref PackageGenericInterface//default, loc8_67, loaded [concrete = constants.%Y.type] // CHECK:STDOUT: %PackageGenericInterface.import_ref.456: %K.type.7f9 = import_ref PackageGenericInterface//default, loc9_22, loaded [concrete = constants.%K.c3c] -// CHECK:STDOUT: %Y.impl_witness_table = impl_witness_table (%PackageGenericInterface.import_ref.456), @impl.02a [concrete] +// CHECK:STDOUT: %Y.impl_witness_table = impl_witness_table (%PackageGenericInterface.import_ref.456), @Y.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -1850,7 +1850,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: witness = (imports.%PackageHasParam.K) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.02a: imports.%PackageGenericInterface.import_ref.321 as imports.%PackageGenericInterface.import_ref.ca6 [from "has_generic_interface.carbon"] { +// CHECK:STDOUT: impl @Y.impl: imports.%PackageGenericInterface.import_ref.321 as imports.%PackageGenericInterface.import_ref.ca6 [from "has_generic_interface.carbon"] { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = imports.%PackageGenericInterface.import_ref.53c // CHECK:STDOUT: } @@ -1979,7 +1979,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %assoc0.494: %Y.assoc_type = assoc_entity element0, imports.%PackageHasParam.import_ref.ce2 [concrete] // CHECK:STDOUT: %.701: type = fn_type_with_self_type %K.type.311, %Y.facet [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.f56: type = fn_type @Op.2, @impl.49c(%AnyParam.0dd) [concrete] +// CHECK:STDOUT: %Op.type.f56: type = fn_type @Op.2, @Destroy.impl(%AnyParam.0dd) [concrete] // CHECK:STDOUT: %Op.1fa: %Op.type.f56 = struct_value () [concrete] // CHECK:STDOUT: %ptr.d96: type = ptr_type %AnyParam.0dd [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.1fa, @Op.2(%AnyParam.0dd) [concrete] @@ -2024,7 +2024,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: } { // CHECK:STDOUT: %U.loc6_20.1: type = bind_symbolic_name U, 0 [symbolic = %U.loc6_20.2 (constants.%U)] // CHECK:STDOUT: } -// CHECK:STDOUT: impl_decl @impl.4c1 [concrete] {} { +// CHECK:STDOUT: impl_decl @Y.impl [concrete] {} { // CHECK:STDOUT: %PackageHasParam.ref.loc8_6: = name_ref PackageHasParam, imports.%PackageHasParam [concrete = imports.%PackageHasParam] // CHECK:STDOUT: %AnyParam.ref: %AnyParam.type = name_ref AnyParam, imports.%PackageHasParam.AnyParam [concrete = constants.%AnyParam.generic] // CHECK:STDOUT: %GenericClass.ref: %GenericClass.type = name_ref GenericClass, file.%GenericClass.decl [concrete = constants.%GenericClass.generic] @@ -2032,7 +2032,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %PackageHasParam.ref.loc8_48: = name_ref PackageHasParam, imports.%PackageHasParam [concrete = imports.%PackageHasParam] // CHECK:STDOUT: %Y.ref: type = name_ref Y, imports.%PackageHasParam.Y [concrete = constants.%Y.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %Y.impl_witness_table = impl_witness_table (@impl.4c1.%K.decl), @impl.4c1 [concrete] +// CHECK:STDOUT: %Y.impl_witness_table = impl_witness_table (@Y.impl.%K.decl), @Y.impl [concrete] // CHECK:STDOUT: %Y.impl_witness: = impl_witness %Y.impl_witness_table [concrete = constants.%Y.impl_witness] // CHECK:STDOUT: %L.decl: %L.type = fn_decl @L [concrete = constants.%L] {} {} // CHECK:STDOUT: } @@ -2044,13 +2044,13 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: witness = (imports.%PackageHasParam.K) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.4c1: %AnyParam as %Y.ref { +// 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: %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: } { // CHECK:STDOUT: %self.param: %AnyParam.0dd = value_param call_param0 -// CHECK:STDOUT: %Self.ref: type = name_ref Self, @impl.4c1.%AnyParam [concrete = constants.%AnyParam.0dd] +// CHECK:STDOUT: %Self.ref: type = name_ref Self, @Y.impl.%AnyParam [concrete = constants.%AnyParam.0dd] // CHECK:STDOUT: %self: %AnyParam.0dd = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: @@ -2204,7 +2204,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %.0dd: type = fn_type_with_self_type %K.type.311, %Y.facet [concrete] // CHECK:STDOUT: %K.type.9cf: type = fn_type @K.2 [concrete] // CHECK:STDOUT: %K.039: %K.type.9cf = struct_value () [concrete] -// CHECK:STDOUT: %Op.type.051: type = fn_type @Op.1, @impl.1d2(%AnyParam.d71) [concrete] +// CHECK:STDOUT: %Op.type.051: type = fn_type @Op.1, @Destroy.impl(%AnyParam.d71) [concrete] // CHECK:STDOUT: %Op.d0b: %Op.type.051 = struct_value () [concrete] // CHECK:STDOUT: %ptr.8ee: type = ptr_type %AnyParam.d71 [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.d0b, @Op.1(%AnyParam.d71) [concrete] @@ -2244,7 +2244,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %PackageGenericClass.import_ref.a0e: type = import_ref PackageGenericClass//default, loc8_43, loaded [concrete = constants.%AnyParam.d71] // CHECK:STDOUT: %PackageGenericClass.import_ref.ca6: type = import_ref PackageGenericClass//default, loc8_63, loaded [concrete = constants.%Y.type] // CHECK:STDOUT: %PackageGenericClass.import_ref.fbf: %K.type.9cf = import_ref PackageGenericClass//default, loc9_22, loaded [concrete = constants.%K.039] -// CHECK:STDOUT: %Y.impl_witness_table = impl_witness_table (%PackageGenericClass.import_ref.fbf), @impl.421 [concrete] +// CHECK:STDOUT: %Y.impl_witness_table = impl_witness_table (%PackageGenericClass.import_ref.fbf), @Y.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -2268,7 +2268,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: witness = (imports.%PackageHasParam.K) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.421: imports.%PackageGenericClass.import_ref.a0e as imports.%PackageGenericClass.import_ref.ca6 [from "has_generic_class.carbon"] { +// CHECK:STDOUT: impl @Y.impl: imports.%PackageGenericClass.import_ref.a0e as imports.%PackageGenericClass.import_ref.ca6 [from "has_generic_class.carbon"] { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = imports.%PackageGenericClass.import_ref.246 // CHECK:STDOUT: } @@ -2453,7 +2453,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %T.loc13_9.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc13_9.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %I.decl: type = interface_decl @I [concrete = constants.%I.type] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl [concrete] {} { // CHECK:STDOUT: %C.ref: %C.type = name_ref C, file.%C.decl [concrete = constants.%C.generic] // CHECK:STDOUT: %Extra1.ref: type = name_ref Extra1, file.%Extra1.decl [concrete = constants.%Extra1.type] // CHECK:STDOUT: %Extra2.ref: type = name_ref Extra2, file.%Extra2.decl [concrete = constants.%Extra2.type] @@ -2468,7 +2468,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %C: type = class_type @C, @C(constants.%tuple.type.15d) [concrete = constants.%C.69b] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (@impl.%F.decl), @impl [concrete] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (@I.impl.%F.decl), @I.impl [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -2558,13 +2558,13 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: witness = (%F.decl) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %C as %I.ref { +// 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: %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: } { // CHECK:STDOUT: %self.param: %C.69b = value_param call_param0 -// CHECK:STDOUT: %Self.ref: type = name_ref Self, @impl.%C [concrete = constants.%C.69b] +// CHECK:STDOUT: %Self.ref: type = name_ref Self, @I.impl.%C [concrete = constants.%C.69b] // CHECK:STDOUT: %self: %C.69b = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: @@ -2765,7 +2765,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: witness = () // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: imports.%HasExtraInterfaces.import_ref.aa8 as imports.%HasExtraInterfaces.import_ref.301 [from "has_extra_interfaces.carbon"] { +// CHECK:STDOUT: impl @I.impl: imports.%HasExtraInterfaces.import_ref.aa8 as imports.%HasExtraInterfaces.import_ref.301 [from "has_extra_interfaces.carbon"] { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = imports.%HasExtraInterfaces.import_ref.bca // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/impl/lookup/instance_method.carbon b/toolchain/check/testdata/impl/lookup/instance_method.carbon index d4ad17e5c5a7..f18a2179eecf 100644 --- a/toolchain/check/testdata/impl/lookup/instance_method.carbon +++ b/toolchain/check/testdata/impl/lookup/instance_method.carbon @@ -121,7 +121,7 @@ fn F(c: C) -> i32 { // CHECK:STDOUT: witness = (%F.decl) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %Self.ref as %I.ref { +// 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: %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] @@ -143,11 +143,11 @@ fn F(c: C) -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @C { -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl [concrete] {} { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%C [concrete = constants.%C] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (@impl.%F.decl), @impl [concrete] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (@I.impl.%F.decl), @I.impl [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness] // 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] @@ -157,7 +157,7 @@ fn F(c: C) -> i32 { // CHECK:STDOUT: .Self = constants.%C // CHECK:STDOUT: .I = // CHECK:STDOUT: .F = -// CHECK:STDOUT: extend @impl.%I.ref +// CHECK:STDOUT: extend @I.impl.%I.ref // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @F.1(@I.%Self: %I.type) { diff --git a/toolchain/check/testdata/impl/lookup/lookup_interface_with_enclosing_generic_inside_rewrite_constraint.carbon b/toolchain/check/testdata/impl/lookup/lookup_interface_with_enclosing_generic_inside_rewrite_constraint.carbon index ccb0127a0493..2558681edd1f 100644 --- a/toolchain/check/testdata/impl/lookup/lookup_interface_with_enclosing_generic_inside_rewrite_constraint.carbon +++ b/toolchain/check/testdata/impl/lookup/lookup_interface_with_enclosing_generic_inside_rewrite_constraint.carbon @@ -170,7 +170,7 @@ fn F() { // CHECK:STDOUT: %OuterParam.loc49_13.1: type = bind_symbolic_name OuterParam, 0 [symbolic = %OuterParam.loc49_13.2 (constants.%OuterParam)] // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @Y.impl [concrete] {} { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %Outer.ref: %Outer.type = name_ref Outer, file.%Outer.decl [concrete = constants.%Outer.generic] // CHECK:STDOUT: %.loc58_18: %empty_tuple.type = tuple_literal () @@ -191,7 +191,7 @@ fn F() { // CHECK:STDOUT: requirement_rewrite %impl.elem0, %.loc58_35.2 // CHECK:STDOUT: } // CHECK:STDOUT: } -// CHECK:STDOUT: %Y.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant), @impl [concrete] +// CHECK:STDOUT: %Y.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant), @Y.impl [concrete] // CHECK:STDOUT: %Y.impl_witness: = impl_witness %Y.impl_witness_table [concrete = constants.%Y.impl_witness] // CHECK:STDOUT: %impl_witness_assoc_constant: type = impl_witness_assoc_constant constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] {} {} @@ -222,7 +222,7 @@ fn F() { // CHECK:STDOUT: assoc_const T:! type; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %C.ref as %.loc58_23 { +// CHECK:STDOUT: impl @Y.impl: %C.ref as %.loc58_23 { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = file.%Y.impl_witness // CHECK:STDOUT: } @@ -413,7 +413,7 @@ fn F() { // CHECK:STDOUT: %G.e2b: %G.type.854 = struct_value () [symbolic] // CHECK:STDOUT: %C.4b0: type = class_type @C, @C(%OuterParam) [symbolic] // CHECK:STDOUT: %require_complete.1fd: = require_complete_type %Y_where.type.fee [symbolic] -// CHECK:STDOUT: %Y.impl_witness.f45: = impl_witness @Outer.%Y.impl_witness_table, @impl.cc8(%OuterParam) [symbolic] +// CHECK:STDOUT: %Y.impl_witness.f45: = impl_witness @Outer.%Y.impl_witness_table, @Y.impl(%OuterParam) [symbolic] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type.357: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %Z1.impl_witness: = impl_witness file.%Z1.impl_witness_table [concrete] @@ -448,7 +448,7 @@ fn F() { // CHECK:STDOUT: %complete_type.066: = complete_type_witness %Y.type.927 [concrete] // CHECK:STDOUT: %.Self.as_type.7ce: type = facet_access_type %.Self.3de [symbolic_self] // CHECK:STDOUT: %complete_type.997: = complete_type_witness %Y_where.type.6af [concrete] -// CHECK:STDOUT: %Y.impl_witness.997: = impl_witness @Outer.%Y.impl_witness_table, @impl.cc8(%Z1.facet) [concrete] +// CHECK:STDOUT: %Y.impl_witness.997: = impl_witness @Outer.%Y.impl_witness_table, @Y.impl(%Z1.facet) [concrete] // CHECK:STDOUT: %facet_value.ed1: %Y_where.type.6af = facet_value %C.e73, (%Y.impl_witness.997) [concrete] // CHECK:STDOUT: %pattern_type.b1a: type = pattern_type %Y_where.type.6af [concrete] // CHECK:STDOUT: %G.specific_fn: = specific_function %G.ba4, @G(%Z1.facet, %facet_value.ed1) [concrete] @@ -462,7 +462,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.BitAndWith: %BitAndWith.type.f2e = import_ref Core//prelude, BitAndWith, loaded [concrete = constants.%BitAndWith.generic] // CHECK:STDOUT: %Core.import_ref.012: %Op.type.1cc = import_ref Core//prelude, loc13_42, loaded [concrete = constants.%Op.ff4] -// CHECK:STDOUT: %BitAndWith.impl_witness_table = impl_witness_table (%Core.import_ref.012), @impl.865 [concrete] +// CHECK:STDOUT: %BitAndWith.impl_witness_table = impl_witness_table (%Core.import_ref.012), @BitAndWith.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -482,19 +482,19 @@ fn F() { // CHECK:STDOUT: %Z1.ref: type = name_ref Z1, file.%Z1.decl [concrete = constants.%Z1.type] // CHECK:STDOUT: %OuterParam.loc6_13.1: %Z1.type = bind_symbolic_name OuterParam, 0 [symbolic = %OuterParam.loc6_13.2 (constants.%OuterParam)] // CHECK:STDOUT: } -// CHECK:STDOUT: impl_decl @impl.ff8 [concrete] {} { +// CHECK:STDOUT: impl_decl @Z1.impl [concrete] {} { // CHECK:STDOUT: %.loc17_7.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc17_7.2: type = converted %.loc17_7.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %Z1.ref: type = name_ref Z1, file.%Z1.decl [concrete = constants.%Z1.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %Z1.impl_witness_table = impl_witness_table (), @impl.ff8 [concrete] +// CHECK:STDOUT: %Z1.impl_witness_table = impl_witness_table (), @Z1.impl [concrete] // CHECK:STDOUT: %Z1.impl_witness: = impl_witness %Z1.impl_witness_table [concrete = constants.%Z1.impl_witness] -// CHECK:STDOUT: impl_decl @impl.272 [concrete] {} { +// CHECK:STDOUT: impl_decl @Z2.impl [concrete] {} { // CHECK:STDOUT: %.loc18_7.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc18_7.2: type = converted %.loc18_7.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %Z2.ref: type = name_ref Z2, file.%Z2.decl [concrete = constants.%Z2.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %Z2.impl_witness_table = impl_witness_table (), @impl.272 [concrete] +// CHECK:STDOUT: %Z2.impl_witness_table = impl_witness_table (), @Z2.impl [concrete] // CHECK:STDOUT: %Z2.impl_witness: = impl_witness %Z2.impl_witness_table [concrete = constants.%Z2.impl_witness] // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] {} {} // CHECK:STDOUT: } @@ -540,20 +540,20 @@ fn F() { // CHECK:STDOUT: assoc_const T:! type; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl.cc8(@Outer.%OuterParam.loc6_13.1: %Z1.type) { +// CHECK:STDOUT: generic impl @Y.impl(@Outer.%OuterParam.loc6_13.1: %Z1.type) { // CHECK:STDOUT: %OuterParam: %Z1.type = bind_symbolic_name OuterParam, 0 [symbolic = %OuterParam (constants.%OuterParam)] // CHECK:STDOUT: %C: type = class_type @C, @C(%OuterParam) [symbolic = %C (constants.%C.4b0)] // CHECK:STDOUT: %Y.type: type = facet_type <@Y, @Y(%OuterParam)> [symbolic = %Y.type (constants.%Y.type.5e4)] -// CHECK:STDOUT: %.Self.2: @impl.cc8.%Y.type (%Y.type.5e4) = bind_symbolic_name .Self [symbolic = %.Self.2 (constants.%.Self.99e)] +// CHECK:STDOUT: %.Self.2: @Y.impl.%Y.type (%Y.type.5e4) = bind_symbolic_name .Self [symbolic = %.Self.2 (constants.%.Self.99e)] // CHECK:STDOUT: %require_complete.loc14_21: = require_complete_type %Y.type [symbolic = %require_complete.loc14_21 (constants.%require_complete.d37)] // CHECK:STDOUT: %Y.assoc_type: type = assoc_entity_type @Y, @Y(%OuterParam) [symbolic = %Y.assoc_type (constants.%Y.assoc_type.2a6)] -// CHECK:STDOUT: %assoc0: @impl.cc8.%Y.assoc_type (%Y.assoc_type.2a6) = assoc_entity element0, @Y.%T [symbolic = %assoc0 (constants.%assoc0.603)] +// CHECK:STDOUT: %assoc0: @Y.impl.%Y.assoc_type (%Y.assoc_type.2a6) = assoc_entity element0, @Y.%T [symbolic = %assoc0 (constants.%assoc0.603)] // CHECK:STDOUT: %.Self.as_type.loc14_21.2: type = facet_access_type %.Self.2 [symbolic = %.Self.as_type.loc14_21.2 (constants.%.Self.as_type.3b9)] // CHECK:STDOUT: %Y.lookup_impl_witness: = lookup_impl_witness %.Self.2, @Y, @Y(%OuterParam) [symbolic = %Y.lookup_impl_witness (constants.%Y.lookup_impl_witness.c65)] // CHECK:STDOUT: %impl.elem0.loc14_21.2: type = impl_witness_access %Y.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc14_21.2 (constants.%impl.elem0.23d)] // CHECK:STDOUT: %Y_where.type: type = facet_type <@Y, @Y(%OuterParam) where %impl.elem0.loc14_21.2 = constants.%empty_tuple.type> [symbolic = %Y_where.type (constants.%Y_where.type.fee)] // CHECK:STDOUT: %require_complete.loc14_15: = require_complete_type %Y_where.type [symbolic = %require_complete.loc14_15 (constants.%require_complete.1fd)] -// CHECK:STDOUT: %Y.impl_witness: = impl_witness @Outer.%Y.impl_witness_table, @impl.cc8(%OuterParam) [symbolic = %Y.impl_witness (constants.%Y.impl_witness.f45)] +// CHECK:STDOUT: %Y.impl_witness: = impl_witness @Outer.%Y.impl_witness_table, @Y.impl(%OuterParam) [symbolic = %Y.impl_witness (constants.%Y.impl_witness.f45)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: @@ -563,12 +563,12 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.ff8: %.loc17_7.2 as %Z1.ref { +// CHECK:STDOUT: impl @Z1.impl: %.loc17_7.2 as %Z1.ref { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = file.%Z1.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.272: %.loc18_7.2 as %Z2.ref { +// CHECK:STDOUT: impl @Z2.impl: %.loc18_7.2 as %Z2.ref { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = file.%Z2.impl_witness // CHECK:STDOUT: } @@ -606,15 +606,15 @@ fn F() { // CHECK:STDOUT: %H.loc11_8.2: @G.%Y_where.type (%Y_where.type.fee) = bind_symbolic_name H, 1 [symbolic = %H.loc11_8.1 (constants.%H)] // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: type = class_decl @C [symbolic = @Outer.%C (constants.%C.4b0)] {} {} -// CHECK:STDOUT: impl_decl @impl.cc8 [concrete] {} { +// CHECK:STDOUT: impl_decl @Y.impl [concrete] {} { // CHECK:STDOUT: %.loc14_8: type = specific_constant @Outer.%C.decl, @Outer(constants.%OuterParam) [symbolic = %C (constants.%C.4b0)] // CHECK:STDOUT: %C.ref: type = name_ref C, %.loc14_8 [symbolic = %C (constants.%C.4b0)] // CHECK:STDOUT: %.loc14_13: type = specific_constant @Outer.%Y.decl, @Outer(constants.%OuterParam) [symbolic = %Y.type (constants.%Y.type.5e4)] // CHECK:STDOUT: %Y.ref: type = name_ref Y, %.loc14_13 [symbolic = %Y.type (constants.%Y.type.5e4)] -// CHECK:STDOUT: %.Self.1: @impl.cc8.%Y.type (%Y.type.5e4) = bind_symbolic_name .Self [symbolic = %.Self.2 (constants.%.Self.99e)] -// CHECK:STDOUT: %.Self.ref: @impl.cc8.%Y.type (%Y.type.5e4) = name_ref .Self, %.Self.1 [symbolic = %.Self.2 (constants.%.Self.99e)] -// CHECK:STDOUT: %.loc14_21.1: @impl.cc8.%Y.assoc_type (%Y.assoc_type.2a6) = specific_constant @T.%assoc0, @Y(constants.%OuterParam) [symbolic = %assoc0 (constants.%assoc0.603)] -// CHECK:STDOUT: %T.ref: @impl.cc8.%Y.assoc_type (%Y.assoc_type.2a6) = name_ref T, %.loc14_21.1 [symbolic = %assoc0 (constants.%assoc0.603)] +// CHECK:STDOUT: %.Self.1: @Y.impl.%Y.type (%Y.type.5e4) = bind_symbolic_name .Self [symbolic = %.Self.2 (constants.%.Self.99e)] +// CHECK:STDOUT: %.Self.ref: @Y.impl.%Y.type (%Y.type.5e4) = name_ref .Self, %.Self.1 [symbolic = %.Self.2 (constants.%.Self.99e)] +// CHECK:STDOUT: %.loc14_21.1: @Y.impl.%Y.assoc_type (%Y.assoc_type.2a6) = specific_constant @T.%assoc0, @Y(constants.%OuterParam) [symbolic = %assoc0 (constants.%assoc0.603)] +// CHECK:STDOUT: %T.ref: @Y.impl.%Y.assoc_type (%Y.assoc_type.2a6) = name_ref T, %.loc14_21.1 [symbolic = %assoc0 (constants.%assoc0.603)] // CHECK:STDOUT: %.Self.as_type.loc14_21.1: type = facet_access_type %.Self.ref [symbolic = %.Self.as_type.loc14_21.2 (constants.%.Self.as_type.3b9)] // CHECK:STDOUT: %.loc14_21.2: type = converted %.Self.ref, %.Self.as_type.loc14_21.1 [symbolic = %.Self.as_type.loc14_21.2 (constants.%.Self.as_type.3b9)] // CHECK:STDOUT: %impl.elem0.loc14_21.1: type = impl_witness_access constants.%Y.lookup_impl_witness.c65, element0 [symbolic = %impl.elem0.loc14_21.2 (constants.%impl.elem0.23d)] @@ -624,8 +624,8 @@ fn F() { // CHECK:STDOUT: requirement_rewrite %impl.elem0.loc14_21.1, %.loc14_27.2 // CHECK:STDOUT: } // CHECK:STDOUT: } -// CHECK:STDOUT: %Y.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant), @impl.cc8 [concrete] -// CHECK:STDOUT: %Y.impl_witness: = impl_witness %Y.impl_witness_table, @impl.cc8(constants.%OuterParam) [symbolic = @impl.cc8.%Y.impl_witness (constants.%Y.impl_witness.f45)] +// CHECK:STDOUT: %Y.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant), @Y.impl [concrete] +// CHECK:STDOUT: %Y.impl_witness: = impl_witness %Y.impl_witness_table, @Y.impl(constants.%OuterParam) [symbolic = @Y.impl.%Y.impl_witness (constants.%Y.impl_witness.f45)] // CHECK:STDOUT: %impl_witness_assoc_constant: type = impl_witness_assoc_constant constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // 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] @@ -748,7 +748,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: specific @C(constants.%OuterParam) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.cc8(constants.%OuterParam) { +// CHECK:STDOUT: specific @Y.impl(constants.%OuterParam) { // CHECK:STDOUT: %OuterParam => constants.%OuterParam // CHECK:STDOUT: %C => constants.%C.4b0 // CHECK:STDOUT: %Y.type => constants.%Y.type.5e4 @@ -785,7 +785,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: specific @C(constants.%Z1.facet) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.cc8(constants.%Z1.facet) { +// CHECK:STDOUT: specific @Y.impl(constants.%Z1.facet) { // CHECK:STDOUT: %OuterParam => constants.%Z1.facet // CHECK:STDOUT: %C => constants.%C.e73 // CHECK:STDOUT: %Y.type => constants.%Y.type.927 diff --git a/toolchain/check/testdata/impl/lookup/specialization_with_symbolic_rewrite.carbon b/toolchain/check/testdata/impl/lookup/specialization_with_symbolic_rewrite.carbon index b377a933fd0e..00514fb66972 100644 --- a/toolchain/check/testdata/impl/lookup/specialization_with_symbolic_rewrite.carbon +++ b/toolchain/check/testdata/impl/lookup/specialization_with_symbolic_rewrite.carbon @@ -122,7 +122,7 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %impl.elem0.240: type = impl_witness_access %Z.lookup_impl_witness.597, element0 [symbolic] // CHECK:STDOUT: %Z_where.type.80d: type = facet_type <@Z, @Z(%S) where %impl.elem0.240 = %empty_tuple.type> [symbolic] // CHECK:STDOUT: %require_complete.9ea: = require_complete_type %Z_where.type.80d [symbolic] -// CHECK:STDOUT: %Z.impl_witness.d59: = impl_witness file.%Z.impl_witness_table.loc9, @impl.119(%T.8b3, %S) [symbolic] +// CHECK:STDOUT: %Z.impl_witness.d59: = impl_witness file.%Z.impl_witness_table.loc9, @Z.impl.119(%T.8b3, %S) [symbolic] // CHECK:STDOUT: %Z.type.049: type = facet_type <@Z, @Z(%C)> [concrete] // CHECK:STDOUT: %.Self.3c5: %Z.type.049 = bind_symbolic_name .Self [symbolic_self] // CHECK:STDOUT: %Self.a38: %Z.type.049 = bind_symbolic_name Self, 1 [symbolic] @@ -134,7 +134,7 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %impl.elem0.e29: type = impl_witness_access %Z.lookup_impl_witness.9cc, element0 [symbolic_self] // CHECK:STDOUT: %Z_where.type.692: type = facet_type <@Z, @Z(%C) where %impl.elem0.e29 = %T.8b3> [symbolic] // CHECK:STDOUT: %require_complete.202: = require_complete_type %Z_where.type.692 [symbolic] -// CHECK:STDOUT: %Z.impl_witness.093: = impl_witness file.%Z.impl_witness_table.loc11, @impl.62c(%T.8b3) [symbolic] +// CHECK:STDOUT: %Z.impl_witness.093: = impl_witness file.%Z.impl_witness_table.loc11, @Z.impl.62c(%T.8b3) [symbolic] // CHECK:STDOUT: %T.62d: %Z.type.049 = bind_symbolic_name T, 0 [symbolic] // CHECK:STDOUT: %pattern_type.c1f: type = pattern_type %Z.type.049 [concrete] // CHECK:STDOUT: %T.as_type: type = facet_access_type %T.62d [symbolic] @@ -144,7 +144,7 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %require_complete.2b1: = require_complete_type %T.as_type [symbolic] // CHECK:STDOUT: %Z_where.type.272: type = facet_type <@Z, @Z(%C) where %impl.elem0.e29 = %T.as_type> [symbolic] // CHECK:STDOUT: %require_complete.915: = require_complete_type %Z_where.type.272 [symbolic] -// CHECK:STDOUT: %Z.impl_witness.7c2: = impl_witness file.%Z.impl_witness_table.loc11, @impl.62c(%T.as_type) [symbolic] +// CHECK:STDOUT: %Z.impl_witness.7c2: = impl_witness file.%Z.impl_witness_table.loc11, @Z.impl.62c(%T.as_type) [symbolic] // CHECK:STDOUT: %Z.facet.2aa: %Z.type.049 = facet_value %T.as_type, (%Z.impl_witness.7c2) [symbolic] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -169,7 +169,7 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %T.loc3_13.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc3_13.2 (constants.%T.8b3)] // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} -// CHECK:STDOUT: impl_decl @impl.119 [concrete] { +// CHECK:STDOUT: impl_decl @Z.impl.119 [concrete] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: %S.patt: %pattern_type.98f = symbolic_binding_pattern S, 1 [concrete] // CHECK:STDOUT: } { @@ -177,10 +177,10 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %Z.ref: %Z.type.9fb = name_ref Z, file.%Z.decl [concrete = constants.%Z.generic] // CHECK:STDOUT: %S.ref: type = name_ref S, %S.loc9_24.1 [symbolic = %S.loc9_24.2 (constants.%S)] // CHECK:STDOUT: %Z.type.loc9_42.1: type = facet_type <@Z, @Z(constants.%S)> [symbolic = %Z.type.loc9_42.2 (constants.%Z.type.8e9)] -// CHECK:STDOUT: %.Self.1: @impl.119.%Z.type.loc9_42.2 (%Z.type.8e9) = bind_symbolic_name .Self [symbolic = %.Self.2 (constants.%.Self.eb1)] -// CHECK:STDOUT: %.Self.ref: @impl.119.%Z.type.loc9_42.2 (%Z.type.8e9) = name_ref .Self, %.Self.1 [symbolic = %.Self.2 (constants.%.Self.eb1)] -// CHECK:STDOUT: %.loc9_50.1: @impl.119.%Z.assoc_type (%Z.assoc_type.0e7) = specific_constant @X.%assoc0, @Z(constants.%S) [symbolic = %assoc0 (constants.%assoc0.abb)] -// CHECK:STDOUT: %X.ref: @impl.119.%Z.assoc_type (%Z.assoc_type.0e7) = name_ref X, %.loc9_50.1 [symbolic = %assoc0 (constants.%assoc0.abb)] +// CHECK:STDOUT: %.Self.1: @Z.impl.119.%Z.type.loc9_42.2 (%Z.type.8e9) = bind_symbolic_name .Self [symbolic = %.Self.2 (constants.%.Self.eb1)] +// CHECK:STDOUT: %.Self.ref: @Z.impl.119.%Z.type.loc9_42.2 (%Z.type.8e9) = name_ref .Self, %.Self.1 [symbolic = %.Self.2 (constants.%.Self.eb1)] +// CHECK:STDOUT: %.loc9_50.1: @Z.impl.119.%Z.assoc_type (%Z.assoc_type.0e7) = specific_constant @X.%assoc0, @Z(constants.%S) [symbolic = %assoc0 (constants.%assoc0.abb)] +// CHECK:STDOUT: %X.ref: @Z.impl.119.%Z.assoc_type (%Z.assoc_type.0e7) = name_ref X, %.loc9_50.1 [symbolic = %assoc0 (constants.%assoc0.abb)] // CHECK:STDOUT: %.Self.as_type.loc9_50.1: type = facet_access_type %.Self.ref [symbolic = %.Self.as_type.loc9_50.2 (constants.%.Self.as_type.ffd)] // CHECK:STDOUT: %.loc9_50.2: type = converted %.Self.ref, %.Self.as_type.loc9_50.1 [symbolic = %.Self.as_type.loc9_50.2 (constants.%.Self.as_type.ffd)] // CHECK:STDOUT: %impl.elem0.loc9_50.1: type = impl_witness_access constants.%Z.lookup_impl_witness.597, element0 [symbolic = %impl.elem0.loc9_50.2 (constants.%impl.elem0.240)] @@ -192,10 +192,10 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %T.loc9_14.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc9_14.2 (constants.%T.8b3)] // CHECK:STDOUT: %S.loc9_24.1: type = bind_symbolic_name S, 1 [symbolic = %S.loc9_24.2 (constants.%S)] // CHECK:STDOUT: } -// CHECK:STDOUT: %Z.impl_witness_table.loc9 = impl_witness_table (%impl_witness_assoc_constant.loc9), @impl.119 [concrete] -// CHECK:STDOUT: %Z.impl_witness.loc9: = impl_witness %Z.impl_witness_table.loc9, @impl.119(constants.%T.8b3, constants.%S) [symbolic = @impl.119.%Z.impl_witness (constants.%Z.impl_witness.d59)] +// CHECK:STDOUT: %Z.impl_witness_table.loc9 = impl_witness_table (%impl_witness_assoc_constant.loc9), @Z.impl.119 [concrete] +// CHECK:STDOUT: %Z.impl_witness.loc9: = impl_witness %Z.impl_witness_table.loc9, @Z.impl.119(constants.%T.8b3, constants.%S) [symbolic = @Z.impl.119.%Z.impl_witness (constants.%Z.impl_witness.d59)] // CHECK:STDOUT: %impl_witness_assoc_constant.loc9: type = impl_witness_assoc_constant constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] -// CHECK:STDOUT: impl_decl @impl.62c [concrete] { +// CHECK:STDOUT: impl_decl @Z.impl.62c [concrete] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc11_30: type = name_ref T, %T.loc11_20.1 [symbolic = %T.loc11_20.2 (constants.%T.8b3)] @@ -215,9 +215,9 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc11_20.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc11_20.2 (constants.%T.8b3)] // CHECK:STDOUT: } -// CHECK:STDOUT: %Z.impl_witness_table.loc11 = impl_witness_table (%impl_witness_assoc_constant.loc11), @impl.62c [concrete] -// CHECK:STDOUT: %Z.impl_witness.loc11: = impl_witness %Z.impl_witness_table.loc11, @impl.62c(constants.%T.8b3) [symbolic = @impl.62c.%Z.impl_witness (constants.%Z.impl_witness.093)] -// CHECK:STDOUT: %impl_witness_assoc_constant.loc11: type = impl_witness_assoc_constant constants.%T.8b3 [symbolic = @impl.62c.%T.loc11_20.2 (constants.%T.8b3)] +// CHECK:STDOUT: %Z.impl_witness_table.loc11 = impl_witness_table (%impl_witness_assoc_constant.loc11), @Z.impl.62c [concrete] +// CHECK:STDOUT: %Z.impl_witness.loc11: = impl_witness %Z.impl_witness_table.loc11, @Z.impl.62c(constants.%T.8b3) [symbolic = @Z.impl.62c.%Z.impl_witness (constants.%Z.impl_witness.093)] +// CHECK:STDOUT: %impl_witness_assoc_constant.loc11: type = impl_witness_assoc_constant constants.%T.8b3 [symbolic = @Z.impl.62c.%T.loc11_20.2 (constants.%T.8b3)] // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { // CHECK:STDOUT: %T.patt: %pattern_type.c1f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: %t.patt: @F.%pattern_type (%pattern_type.d8b) = binding_pattern t [concrete] @@ -265,20 +265,20 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: assoc_const X:! type; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl.119(%T.loc9_14.1: type, %S.loc9_24.1: type) { +// CHECK:STDOUT: generic impl @Z.impl.119(%T.loc9_14.1: type, %S.loc9_24.1: type) { // CHECK:STDOUT: %T.loc9_14.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc9_14.2 (constants.%T.8b3)] // CHECK:STDOUT: %S.loc9_24.2: type = bind_symbolic_name S, 1 [symbolic = %S.loc9_24.2 (constants.%S)] // CHECK:STDOUT: %Z.type.loc9_42.2: type = facet_type <@Z, @Z(%S.loc9_24.2)> [symbolic = %Z.type.loc9_42.2 (constants.%Z.type.8e9)] -// CHECK:STDOUT: %.Self.2: @impl.119.%Z.type.loc9_42.2 (%Z.type.8e9) = bind_symbolic_name .Self [symbolic = %.Self.2 (constants.%.Self.eb1)] +// CHECK:STDOUT: %.Self.2: @Z.impl.119.%Z.type.loc9_42.2 (%Z.type.8e9) = bind_symbolic_name .Self [symbolic = %.Self.2 (constants.%.Self.eb1)] // CHECK:STDOUT: %require_complete.loc9_50: = require_complete_type %Z.type.loc9_42.2 [symbolic = %require_complete.loc9_50 (constants.%require_complete.b87)] // CHECK:STDOUT: %Z.assoc_type: type = assoc_entity_type @Z, @Z(%S.loc9_24.2) [symbolic = %Z.assoc_type (constants.%Z.assoc_type.0e7)] -// CHECK:STDOUT: %assoc0: @impl.119.%Z.assoc_type (%Z.assoc_type.0e7) = assoc_entity element0, @Z.%X [symbolic = %assoc0 (constants.%assoc0.abb)] +// CHECK:STDOUT: %assoc0: @Z.impl.119.%Z.assoc_type (%Z.assoc_type.0e7) = assoc_entity element0, @Z.%X [symbolic = %assoc0 (constants.%assoc0.abb)] // CHECK:STDOUT: %.Self.as_type.loc9_50.2: type = facet_access_type %.Self.2 [symbolic = %.Self.as_type.loc9_50.2 (constants.%.Self.as_type.ffd)] // CHECK:STDOUT: %Z.lookup_impl_witness: = lookup_impl_witness %.Self.2, @Z, @Z(%S.loc9_24.2) [symbolic = %Z.lookup_impl_witness (constants.%Z.lookup_impl_witness.597)] // CHECK:STDOUT: %impl.elem0.loc9_50.2: type = impl_witness_access %Z.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc9_50.2 (constants.%impl.elem0.240)] // CHECK:STDOUT: %Z_where.type: type = facet_type <@Z, @Z(%S.loc9_24.2) where %impl.elem0.loc9_50.2 = constants.%empty_tuple.type> [symbolic = %Z_where.type (constants.%Z_where.type.80d)] // CHECK:STDOUT: %require_complete.loc9_44: = require_complete_type %Z_where.type [symbolic = %require_complete.loc9_44 (constants.%require_complete.9ea)] -// CHECK:STDOUT: %Z.impl_witness: = impl_witness file.%Z.impl_witness_table.loc9, @impl.119(%T.loc9_14.2, %S.loc9_24.2) [symbolic = %Z.impl_witness (constants.%Z.impl_witness.d59)] +// CHECK:STDOUT: %Z.impl_witness: = impl_witness file.%Z.impl_witness_table.loc9, @Z.impl.119(%T.loc9_14.2, %S.loc9_24.2) [symbolic = %Z.impl_witness (constants.%Z.impl_witness.d59)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: @@ -288,11 +288,11 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl.62c(%T.loc11_20.1: type) { +// CHECK:STDOUT: generic impl @Z.impl.62c(%T.loc11_20.1: type) { // CHECK:STDOUT: %T.loc11_20.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc11_20.2 (constants.%T.8b3)] // CHECK:STDOUT: %Z_where.type: type = facet_type <@Z, @Z(constants.%C) where constants.%impl.elem0.e29 = %T.loc11_20.2> [symbolic = %Z_where.type (constants.%Z_where.type.692)] // CHECK:STDOUT: %require_complete: = require_complete_type %Z_where.type [symbolic = %require_complete (constants.%require_complete.202)] -// CHECK:STDOUT: %Z.impl_witness: = impl_witness file.%Z.impl_witness_table.loc11, @impl.62c(%T.loc11_20.2) [symbolic = %Z.impl_witness (constants.%Z.impl_witness.093)] +// CHECK:STDOUT: %Z.impl_witness: = impl_witness file.%Z.impl_witness_table.loc11, @Z.impl.62c(%T.loc11_20.2) [symbolic = %Z.impl_witness (constants.%Z.impl_witness.093)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: @@ -318,7 +318,7 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type %T.as_type.loc13_19.2 [symbolic = %require_complete (constants.%require_complete.2b1)] -// CHECK:STDOUT: %Z.impl_witness: = impl_witness file.%Z.impl_witness_table.loc11, @impl.62c(%T.as_type.loc13_19.2) [symbolic = %Z.impl_witness (constants.%Z.impl_witness.7c2)] +// CHECK:STDOUT: %Z.impl_witness: = impl_witness file.%Z.impl_witness_table.loc11, @Z.impl.62c(%T.as_type.loc13_19.2) [symbolic = %Z.impl_witness (constants.%Z.impl_witness.7c2)] // CHECK:STDOUT: // CHECK:STDOUT: fn(%t.param: @F.%T.as_type.loc13_19.2 (%T.as_type)) { // CHECK:STDOUT: !entry: @@ -359,7 +359,7 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: // CHECK:STDOUT: specific @X(constants.%S, constants.%Z.facet.4f7) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.119(constants.%T.8b3, constants.%S) { +// CHECK:STDOUT: specific @Z.impl.119(constants.%T.8b3, constants.%S) { // CHECK:STDOUT: %T.loc9_14.2 => constants.%T.8b3 // CHECK:STDOUT: %S.loc9_24.2 => constants.%S // CHECK:STDOUT: %Z.type.loc9_42.2 => constants.%Z.type.8e9 @@ -387,7 +387,7 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: // CHECK:STDOUT: specific @X(constants.%C, constants.%Z.facet.eb4) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.62c(constants.%T.8b3) { +// CHECK:STDOUT: specific @Z.impl.62c(constants.%T.8b3) { // CHECK:STDOUT: %T.loc11_20.2 => constants.%T.8b3 // CHECK:STDOUT: %Z_where.type => constants.%Z_where.type.692 // CHECK:STDOUT: %require_complete => constants.%require_complete.202 @@ -400,7 +400,7 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %pattern_type => constants.%pattern_type.d8b // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.62c(constants.%T.as_type) { +// CHECK:STDOUT: specific @Z.impl.62c(constants.%T.as_type) { // CHECK:STDOUT: %T.loc11_20.2 => constants.%T.as_type // CHECK:STDOUT: %Z_where.type => constants.%Z_where.type.272 // CHECK:STDOUT: %require_complete => constants.%require_complete.915 @@ -441,7 +441,7 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %impl.elem0.240: type = impl_witness_access %Z.lookup_impl_witness.597, element0 [symbolic] // CHECK:STDOUT: %Z_where.type.80d: type = facet_type <@Z, @Z(%S) where %impl.elem0.240 = %empty_tuple.type> [symbolic] // CHECK:STDOUT: %require_complete.9ea: = require_complete_type %Z_where.type.80d [symbolic] -// CHECK:STDOUT: %Z.impl_witness.d59: = impl_witness file.%Z.impl_witness_table.loc10, @impl.119(%T.8b3, %S) [symbolic] +// CHECK:STDOUT: %Z.impl_witness.d59: = impl_witness file.%Z.impl_witness_table.loc10, @Z.impl.119(%T.8b3, %S) [symbolic] // CHECK:STDOUT: %Z.type.049: type = facet_type <@Z, @Z(%C)> [concrete] // CHECK:STDOUT: %.Self.3c5: %Z.type.049 = bind_symbolic_name .Self [symbolic_self] // CHECK:STDOUT: %Self.a38: %Z.type.049 = bind_symbolic_name Self, 1 [symbolic] @@ -453,7 +453,7 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %impl.elem0.e29: type = impl_witness_access %Z.lookup_impl_witness.9cc, element0 [symbolic_self] // CHECK:STDOUT: %Z_where.type.692: type = facet_type <@Z, @Z(%C) where %impl.elem0.e29 = %T.8b3> [symbolic] // CHECK:STDOUT: %require_complete.202: = require_complete_type %Z_where.type.692 [symbolic] -// CHECK:STDOUT: %Z.impl_witness.093: = impl_witness file.%Z.impl_witness_table.loc12, @impl.62c(%T.8b3) [symbolic] +// CHECK:STDOUT: %Z.impl_witness.093: = impl_witness file.%Z.impl_witness_table.loc12, @Z.impl.62c(%T.8b3) [symbolic] // CHECK:STDOUT: %T.62d: %Z.type.049 = bind_symbolic_name T, 0 [symbolic] // CHECK:STDOUT: %pattern_type.c1f: type = pattern_type %Z.type.049 [concrete] // CHECK:STDOUT: %T.as_type: type = facet_access_type %T.62d [symbolic] @@ -507,7 +507,7 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: } // CHECK:STDOUT: %Y.decl: type = interface_decl @Y [concrete = constants.%Y.type] {} {} // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} -// CHECK:STDOUT: impl_decl @impl.119 [concrete] { +// CHECK:STDOUT: impl_decl @Z.impl.119 [concrete] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: %S.patt: %pattern_type.98f = symbolic_binding_pattern S, 1 [concrete] // CHECK:STDOUT: } { @@ -515,10 +515,10 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %Z.ref: %Z.type.9fb = name_ref Z, file.%Z.decl [concrete = constants.%Z.generic] // CHECK:STDOUT: %S.ref: type = name_ref S, %S.loc10_24.1 [symbolic = %S.loc10_24.2 (constants.%S)] // CHECK:STDOUT: %Z.type.loc10_42.1: type = facet_type <@Z, @Z(constants.%S)> [symbolic = %Z.type.loc10_42.2 (constants.%Z.type.8e9)] -// CHECK:STDOUT: %.Self.1: @impl.119.%Z.type.loc10_42.2 (%Z.type.8e9) = bind_symbolic_name .Self [symbolic = %.Self.2 (constants.%.Self.eb1)] -// CHECK:STDOUT: %.Self.ref: @impl.119.%Z.type.loc10_42.2 (%Z.type.8e9) = name_ref .Self, %.Self.1 [symbolic = %.Self.2 (constants.%.Self.eb1)] -// CHECK:STDOUT: %.loc10_50.1: @impl.119.%Z.assoc_type (%Z.assoc_type.0e7) = specific_constant @X.%assoc0, @Z(constants.%S) [symbolic = %assoc0 (constants.%assoc0.abb)] -// CHECK:STDOUT: %X.ref: @impl.119.%Z.assoc_type (%Z.assoc_type.0e7) = name_ref X, %.loc10_50.1 [symbolic = %assoc0 (constants.%assoc0.abb)] +// CHECK:STDOUT: %.Self.1: @Z.impl.119.%Z.type.loc10_42.2 (%Z.type.8e9) = bind_symbolic_name .Self [symbolic = %.Self.2 (constants.%.Self.eb1)] +// CHECK:STDOUT: %.Self.ref: @Z.impl.119.%Z.type.loc10_42.2 (%Z.type.8e9) = name_ref .Self, %.Self.1 [symbolic = %.Self.2 (constants.%.Self.eb1)] +// CHECK:STDOUT: %.loc10_50.1: @Z.impl.119.%Z.assoc_type (%Z.assoc_type.0e7) = specific_constant @X.%assoc0, @Z(constants.%S) [symbolic = %assoc0 (constants.%assoc0.abb)] +// CHECK:STDOUT: %X.ref: @Z.impl.119.%Z.assoc_type (%Z.assoc_type.0e7) = name_ref X, %.loc10_50.1 [symbolic = %assoc0 (constants.%assoc0.abb)] // CHECK:STDOUT: %.Self.as_type.loc10_50.1: type = facet_access_type %.Self.ref [symbolic = %.Self.as_type.loc10_50.2 (constants.%.Self.as_type.ffd)] // CHECK:STDOUT: %.loc10_50.2: type = converted %.Self.ref, %.Self.as_type.loc10_50.1 [symbolic = %.Self.as_type.loc10_50.2 (constants.%.Self.as_type.ffd)] // CHECK:STDOUT: %impl.elem0.loc10_50.1: type = impl_witness_access constants.%Z.lookup_impl_witness.597, element0 [symbolic = %impl.elem0.loc10_50.2 (constants.%impl.elem0.240)] @@ -530,10 +530,10 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %T.loc10_14.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc10_14.2 (constants.%T.8b3)] // CHECK:STDOUT: %S.loc10_24.1: type = bind_symbolic_name S, 1 [symbolic = %S.loc10_24.2 (constants.%S)] // CHECK:STDOUT: } -// CHECK:STDOUT: %Z.impl_witness_table.loc10 = impl_witness_table (%impl_witness_assoc_constant.loc10), @impl.119 [concrete] -// CHECK:STDOUT: %Z.impl_witness.loc10: = impl_witness %Z.impl_witness_table.loc10, @impl.119(constants.%T.8b3, constants.%S) [symbolic = @impl.119.%Z.impl_witness (constants.%Z.impl_witness.d59)] +// CHECK:STDOUT: %Z.impl_witness_table.loc10 = impl_witness_table (%impl_witness_assoc_constant.loc10), @Z.impl.119 [concrete] +// CHECK:STDOUT: %Z.impl_witness.loc10: = impl_witness %Z.impl_witness_table.loc10, @Z.impl.119(constants.%T.8b3, constants.%S) [symbolic = @Z.impl.119.%Z.impl_witness (constants.%Z.impl_witness.d59)] // CHECK:STDOUT: %impl_witness_assoc_constant.loc10: type = impl_witness_assoc_constant constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] -// CHECK:STDOUT: impl_decl @impl.62c [concrete] { +// CHECK:STDOUT: impl_decl @Z.impl.62c [concrete] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc12_24: type = name_ref T, %T.loc12_14.1 [symbolic = %T.loc12_14.2 (constants.%T.8b3)] @@ -553,9 +553,9 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc12_14.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc12_14.2 (constants.%T.8b3)] // CHECK:STDOUT: } -// CHECK:STDOUT: %Z.impl_witness_table.loc12 = impl_witness_table (%impl_witness_assoc_constant.loc12), @impl.62c [concrete] -// CHECK:STDOUT: %Z.impl_witness.loc12: = impl_witness %Z.impl_witness_table.loc12, @impl.62c(constants.%T.8b3) [symbolic = @impl.62c.%Z.impl_witness (constants.%Z.impl_witness.093)] -// CHECK:STDOUT: %impl_witness_assoc_constant.loc12: type = impl_witness_assoc_constant constants.%T.8b3 [symbolic = @impl.62c.%T.loc12_14.2 (constants.%T.8b3)] +// CHECK:STDOUT: %Z.impl_witness_table.loc12 = impl_witness_table (%impl_witness_assoc_constant.loc12), @Z.impl.62c [concrete] +// CHECK:STDOUT: %Z.impl_witness.loc12: = impl_witness %Z.impl_witness_table.loc12, @Z.impl.62c(constants.%T.8b3) [symbolic = @Z.impl.62c.%Z.impl_witness (constants.%Z.impl_witness.093)] +// CHECK:STDOUT: %impl_witness_assoc_constant.loc12: type = impl_witness_assoc_constant constants.%T.8b3 [symbolic = @Z.impl.62c.%T.loc12_14.2 (constants.%T.8b3)] // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { // CHECK:STDOUT: %T.patt: %pattern_type.c1f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: %t.patt: @F.%pattern_type.loc14 (%pattern_type.d8b) = binding_pattern t [concrete] @@ -611,20 +611,20 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: assoc_const X:! type; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl.119(%T.loc10_14.1: type, %S.loc10_24.1: type) { +// CHECK:STDOUT: generic impl @Z.impl.119(%T.loc10_14.1: type, %S.loc10_24.1: type) { // CHECK:STDOUT: %T.loc10_14.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc10_14.2 (constants.%T.8b3)] // CHECK:STDOUT: %S.loc10_24.2: type = bind_symbolic_name S, 1 [symbolic = %S.loc10_24.2 (constants.%S)] // CHECK:STDOUT: %Z.type.loc10_42.2: type = facet_type <@Z, @Z(%S.loc10_24.2)> [symbolic = %Z.type.loc10_42.2 (constants.%Z.type.8e9)] -// CHECK:STDOUT: %.Self.2: @impl.119.%Z.type.loc10_42.2 (%Z.type.8e9) = bind_symbolic_name .Self [symbolic = %.Self.2 (constants.%.Self.eb1)] +// CHECK:STDOUT: %.Self.2: @Z.impl.119.%Z.type.loc10_42.2 (%Z.type.8e9) = bind_symbolic_name .Self [symbolic = %.Self.2 (constants.%.Self.eb1)] // CHECK:STDOUT: %require_complete.loc10_50: = require_complete_type %Z.type.loc10_42.2 [symbolic = %require_complete.loc10_50 (constants.%require_complete.b87)] // CHECK:STDOUT: %Z.assoc_type: type = assoc_entity_type @Z, @Z(%S.loc10_24.2) [symbolic = %Z.assoc_type (constants.%Z.assoc_type.0e7)] -// CHECK:STDOUT: %assoc0: @impl.119.%Z.assoc_type (%Z.assoc_type.0e7) = assoc_entity element0, @Z.%X [symbolic = %assoc0 (constants.%assoc0.abb)] +// CHECK:STDOUT: %assoc0: @Z.impl.119.%Z.assoc_type (%Z.assoc_type.0e7) = assoc_entity element0, @Z.%X [symbolic = %assoc0 (constants.%assoc0.abb)] // CHECK:STDOUT: %.Self.as_type.loc10_50.2: type = facet_access_type %.Self.2 [symbolic = %.Self.as_type.loc10_50.2 (constants.%.Self.as_type.ffd)] // CHECK:STDOUT: %Z.lookup_impl_witness: = lookup_impl_witness %.Self.2, @Z, @Z(%S.loc10_24.2) [symbolic = %Z.lookup_impl_witness (constants.%Z.lookup_impl_witness.597)] // CHECK:STDOUT: %impl.elem0.loc10_50.2: type = impl_witness_access %Z.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc10_50.2 (constants.%impl.elem0.240)] // CHECK:STDOUT: %Z_where.type: type = facet_type <@Z, @Z(%S.loc10_24.2) where %impl.elem0.loc10_50.2 = constants.%empty_tuple.type> [symbolic = %Z_where.type (constants.%Z_where.type.80d)] // CHECK:STDOUT: %require_complete.loc10_44: = require_complete_type %Z_where.type [symbolic = %require_complete.loc10_44 (constants.%require_complete.9ea)] -// CHECK:STDOUT: %Z.impl_witness: = impl_witness file.%Z.impl_witness_table.loc10, @impl.119(%T.loc10_14.2, %S.loc10_24.2) [symbolic = %Z.impl_witness (constants.%Z.impl_witness.d59)] +// CHECK:STDOUT: %Z.impl_witness: = impl_witness file.%Z.impl_witness_table.loc10, @Z.impl.119(%T.loc10_14.2, %S.loc10_24.2) [symbolic = %Z.impl_witness (constants.%Z.impl_witness.d59)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: @@ -634,11 +634,11 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl.62c(%T.loc12_14.1: type) { +// CHECK:STDOUT: generic impl @Z.impl.62c(%T.loc12_14.1: type) { // CHECK:STDOUT: %T.loc12_14.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc12_14.2 (constants.%T.8b3)] // CHECK:STDOUT: %Z_where.type: type = facet_type <@Z, @Z(constants.%C) where constants.%impl.elem0.e29 = %T.loc12_14.2> [symbolic = %Z_where.type (constants.%Z_where.type.692)] // CHECK:STDOUT: %require_complete: = require_complete_type %Z_where.type [symbolic = %require_complete (constants.%require_complete.202)] -// CHECK:STDOUT: %Z.impl_witness: = impl_witness file.%Z.impl_witness_table.loc12, @impl.62c(%T.loc12_14.2) [symbolic = %Z.impl_witness (constants.%Z.impl_witness.093)] +// CHECK:STDOUT: %Z.impl_witness: = impl_witness file.%Z.impl_witness_table.loc12, @Z.impl.62c(%T.loc12_14.2) [symbolic = %Z.impl_witness (constants.%Z.impl_witness.093)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: @@ -714,7 +714,7 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: // CHECK:STDOUT: specific @X(constants.%S, constants.%Z.facet.4f7) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.119(constants.%T.8b3, constants.%S) { +// CHECK:STDOUT: specific @Z.impl.119(constants.%T.8b3, constants.%S) { // CHECK:STDOUT: %T.loc10_14.2 => constants.%T.8b3 // CHECK:STDOUT: %S.loc10_24.2 => constants.%S // CHECK:STDOUT: %Z.type.loc10_42.2 => constants.%Z.type.8e9 @@ -742,7 +742,7 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: // CHECK:STDOUT: specific @X(constants.%C, constants.%Z.facet.eb4) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.62c(constants.%T.8b3) { +// CHECK:STDOUT: specific @Z.impl.62c(constants.%T.8b3) { // CHECK:STDOUT: %T.loc12_14.2 => constants.%T.8b3 // CHECK:STDOUT: %Z_where.type => constants.%Z_where.type.692 // CHECK:STDOUT: %require_complete => constants.%require_complete.202 @@ -774,13 +774,13 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %ptr.79f131.1: type = ptr_type %U [symbolic] // CHECK:STDOUT: %Ptr_where.type.bd48cc.1: type = facet_type <@Ptr where %impl.elem0 = %ptr.79f131.1> [symbolic] // CHECK:STDOUT: %require_complete.465bad.1: = require_complete_type %Ptr_where.type.bd48cc.1 [symbolic] -// CHECK:STDOUT: %Ptr.impl_witness.e8ce81.1: = impl_witness file.%Ptr.impl_witness_table, @impl(%U) [symbolic] +// CHECK:STDOUT: %Ptr.impl_witness.e8ce81.1: = impl_witness file.%Ptr.impl_witness_table, @Ptr.impl(%U) [symbolic] // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic] // CHECK:STDOUT: %pattern_type.7dc: type = pattern_type %T [symbolic] // CHECK:STDOUT: %ptr.79f131.2: type = ptr_type %T [symbolic] // CHECK:STDOUT: %Ptr_where.type.bd48cc.2: type = facet_type <@Ptr where %impl.elem0 = %ptr.79f131.2> [symbolic] // CHECK:STDOUT: %require_complete.465bad.2: = require_complete_type %Ptr_where.type.bd48cc.2 [symbolic] -// CHECK:STDOUT: %Ptr.impl_witness.e8ce81.2: = impl_witness file.%Ptr.impl_witness_table, @impl(%T) [symbolic] +// CHECK:STDOUT: %Ptr.impl_witness.e8ce81.2: = impl_witness file.%Ptr.impl_witness_table, @Ptr.impl(%T) [symbolic] // CHECK:STDOUT: %Ptr.facet.bbf: %Ptr.type = facet_value %T, (%Ptr.impl_witness.e8ce81.2) [symbolic] // CHECK:STDOUT: %pattern_type.afe: type = pattern_type %ptr.79f131.2 [symbolic] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] @@ -804,7 +804,7 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Ptr.decl: type = interface_decl @Ptr [concrete = constants.%Ptr.type] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] { +// CHECK:STDOUT: impl_decl @Ptr.impl [concrete] { // CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %U.ref.loc7_30: type = name_ref U, %U.loc7_20.1 [symbolic = %U.loc7_20.2 (constants.%U)] @@ -822,9 +822,9 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: } // CHECK:STDOUT: %U.loc7_20.1: type = bind_symbolic_name U, 0 [symbolic = %U.loc7_20.2 (constants.%U)] // CHECK:STDOUT: } -// CHECK:STDOUT: %Ptr.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant), @impl [concrete] -// CHECK:STDOUT: %Ptr.impl_witness: = impl_witness %Ptr.impl_witness_table, @impl(constants.%U) [symbolic = @impl.%Ptr.impl_witness (constants.%Ptr.impl_witness.e8ce81.1)] -// CHECK:STDOUT: %impl_witness_assoc_constant: type = impl_witness_assoc_constant constants.%ptr.79f131.1 [symbolic = @impl.%ptr.loc7_54.2 (constants.%ptr.79f131.1)] +// CHECK:STDOUT: %Ptr.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant), @Ptr.impl [concrete] +// CHECK:STDOUT: %Ptr.impl_witness: = impl_witness %Ptr.impl_witness_table, @Ptr.impl(constants.%U) [symbolic = @Ptr.impl.%Ptr.impl_witness (constants.%Ptr.impl_witness.e8ce81.1)] +// CHECK:STDOUT: %impl_witness_assoc_constant: type = impl_witness_assoc_constant constants.%ptr.79f131.1 [symbolic = @Ptr.impl.%ptr.loc7_54.2 (constants.%ptr.79f131.1)] // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: %t.patt: @F.%pattern_type.loc9_20 (%pattern_type.7dc) = binding_pattern t [concrete] @@ -864,12 +864,12 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: assoc_const Type:! type; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl(%U.loc7_20.1: type) { +// CHECK:STDOUT: generic impl @Ptr.impl(%U.loc7_20.1: type) { // CHECK:STDOUT: %U.loc7_20.2: type = bind_symbolic_name U, 0 [symbolic = %U.loc7_20.2 (constants.%U)] // CHECK:STDOUT: %ptr.loc7_54.2: type = ptr_type %U.loc7_20.2 [symbolic = %ptr.loc7_54.2 (constants.%ptr.79f131.1)] // CHECK:STDOUT: %Ptr_where.type: type = facet_type <@Ptr where constants.%impl.elem0 = %ptr.loc7_54.2> [symbolic = %Ptr_where.type (constants.%Ptr_where.type.bd48cc.1)] // CHECK:STDOUT: %require_complete: = require_complete_type %Ptr_where.type [symbolic = %require_complete (constants.%require_complete.465bad.1)] -// CHECK:STDOUT: %Ptr.impl_witness: = impl_witness file.%Ptr.impl_witness_table, @impl(%U.loc7_20.2) [symbolic = %Ptr.impl_witness (constants.%Ptr.impl_witness.e8ce81.1)] +// CHECK:STDOUT: %Ptr.impl_witness: = impl_witness file.%Ptr.impl_witness_table, @Ptr.impl(%U.loc7_20.2) [symbolic = %Ptr.impl_witness (constants.%Ptr.impl_witness.e8ce81.1)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: @@ -882,7 +882,7 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: generic fn @F(%T.loc9_6.1: type) { // CHECK:STDOUT: %T.loc9_6.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc9_6.2 (constants.%T)] // CHECK:STDOUT: %pattern_type.loc9_20: type = pattern_type %T.loc9_6.2 [symbolic = %pattern_type.loc9_20 (constants.%pattern_type.7dc)] -// CHECK:STDOUT: %Ptr.impl_witness: = impl_witness file.%Ptr.impl_witness_table, @impl(%T.loc9_6.2) [symbolic = %Ptr.impl_witness (constants.%Ptr.impl_witness.e8ce81.2)] +// CHECK:STDOUT: %Ptr.impl_witness: = impl_witness file.%Ptr.impl_witness_table, @Ptr.impl(%T.loc9_6.2) [symbolic = %Ptr.impl_witness (constants.%Ptr.impl_witness.e8ce81.2)] // CHECK:STDOUT: %Ptr.facet.loc9_30.2: %Ptr.type = facet_value %T.loc9_6.2, (%Ptr.impl_witness) [symbolic = %Ptr.facet.loc9_30.2 (constants.%Ptr.facet.bbf)] // CHECK:STDOUT: %ptr: type = ptr_type %T.loc9_6.2 [symbolic = %ptr (constants.%ptr.79f131.2)] // CHECK:STDOUT: %pattern_type.loc9_26: type = pattern_type %ptr [symbolic = %pattern_type.loc9_26 (constants.%pattern_type.afe)] @@ -903,7 +903,7 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: // CHECK:STDOUT: specific @Type(constants.%Ptr.facet.b6e) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl(constants.%U) { +// CHECK:STDOUT: specific @Ptr.impl(constants.%U) { // CHECK:STDOUT: %U.loc7_20.2 => constants.%U // CHECK:STDOUT: %ptr.loc7_54.2 => constants.%ptr.79f131.1 // CHECK:STDOUT: %Ptr_where.type => constants.%Ptr_where.type.bd48cc.1 @@ -911,7 +911,7 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %Ptr.impl_witness => constants.%Ptr.impl_witness.e8ce81.1 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl(constants.%T) { +// CHECK:STDOUT: specific @Ptr.impl(constants.%T) { // CHECK:STDOUT: %U.loc7_20.2 => constants.%T // CHECK:STDOUT: %ptr.loc7_54.2 => constants.%ptr.79f131.2 // CHECK:STDOUT: %Ptr_where.type => constants.%Ptr_where.type.bd48cc.2 @@ -949,7 +949,7 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %ptr.79f: type = ptr_type %U [symbolic] // CHECK:STDOUT: %Ptr_where.type.bd4: type = facet_type <@Ptr where %impl.elem0 = %ptr.79f> [symbolic] // CHECK:STDOUT: %require_complete.465: = require_complete_type %Ptr_where.type.bd4 [symbolic] -// CHECK:STDOUT: %Ptr.impl_witness.e8c: = impl_witness file.%Ptr.impl_witness_table, @impl(%U) [symbolic] +// CHECK:STDOUT: %Ptr.impl_witness.e8c: = impl_witness file.%Ptr.impl_witness_table, @Ptr.impl(%U) [symbolic] // CHECK:STDOUT: %T: %Ptr.type = bind_symbolic_name T, 0 [symbolic] // CHECK:STDOUT: %pattern_type.9bb: type = pattern_type %Ptr.type [concrete] // CHECK:STDOUT: %T.as_type: type = facet_access_type %T [symbolic] @@ -957,7 +957,7 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %ptr.900: type = ptr_type %T.as_type [symbolic] // CHECK:STDOUT: %Ptr_where.type.0d6: type = facet_type <@Ptr where %impl.elem0 = %ptr.900> [symbolic] // CHECK:STDOUT: %require_complete.d01: = require_complete_type %Ptr_where.type.0d6 [symbolic] -// CHECK:STDOUT: %Ptr.impl_witness.5aa: = impl_witness file.%Ptr.impl_witness_table, @impl(%T.as_type) [symbolic] +// CHECK:STDOUT: %Ptr.impl_witness.5aa: = impl_witness file.%Ptr.impl_witness_table, @Ptr.impl(%T.as_type) [symbolic] // CHECK:STDOUT: %Ptr.facet.db8: %Ptr.type = facet_value %T.as_type, (%Ptr.impl_witness.5aa) [symbolic] // CHECK:STDOUT: %pattern_type.a95: type = pattern_type %ptr.900 [symbolic] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] @@ -981,7 +981,7 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Ptr.decl: type = interface_decl @Ptr [concrete = constants.%Ptr.type] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] { +// CHECK:STDOUT: impl_decl @Ptr.impl [concrete] { // CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %U.ref.loc7_30: type = name_ref U, %U.loc7_20.1 [symbolic = %U.loc7_20.2 (constants.%U)] @@ -999,9 +999,9 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: } // CHECK:STDOUT: %U.loc7_20.1: type = bind_symbolic_name U, 0 [symbolic = %U.loc7_20.2 (constants.%U)] // CHECK:STDOUT: } -// CHECK:STDOUT: %Ptr.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant), @impl [concrete] -// CHECK:STDOUT: %Ptr.impl_witness: = impl_witness %Ptr.impl_witness_table, @impl(constants.%U) [symbolic = @impl.%Ptr.impl_witness (constants.%Ptr.impl_witness.e8c)] -// CHECK:STDOUT: %impl_witness_assoc_constant: type = impl_witness_assoc_constant constants.%ptr.79f [symbolic = @impl.%ptr.loc7_54.2 (constants.%ptr.79f)] +// CHECK:STDOUT: %Ptr.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant), @Ptr.impl [concrete] +// CHECK:STDOUT: %Ptr.impl_witness: = impl_witness %Ptr.impl_witness_table, @Ptr.impl(constants.%U) [symbolic = @Ptr.impl.%Ptr.impl_witness (constants.%Ptr.impl_witness.e8c)] +// CHECK:STDOUT: %impl_witness_assoc_constant: type = impl_witness_assoc_constant constants.%ptr.79f [symbolic = @Ptr.impl.%ptr.loc7_54.2 (constants.%ptr.79f)] // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { // CHECK:STDOUT: %T.patt: %pattern_type.9bb = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: %t.patt: @F.%pattern_type.loc9_19 (%pattern_type.87e) = binding_pattern t [concrete] @@ -1047,12 +1047,12 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: assoc_const Type:! type; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl(%U.loc7_20.1: type) { +// CHECK:STDOUT: generic impl @Ptr.impl(%U.loc7_20.1: type) { // CHECK:STDOUT: %U.loc7_20.2: type = bind_symbolic_name U, 0 [symbolic = %U.loc7_20.2 (constants.%U)] // CHECK:STDOUT: %ptr.loc7_54.2: type = ptr_type %U.loc7_20.2 [symbolic = %ptr.loc7_54.2 (constants.%ptr.79f)] // CHECK:STDOUT: %Ptr_where.type: type = facet_type <@Ptr where constants.%impl.elem0 = %ptr.loc7_54.2> [symbolic = %Ptr_where.type (constants.%Ptr_where.type.bd4)] // CHECK:STDOUT: %require_complete: = require_complete_type %Ptr_where.type [symbolic = %require_complete (constants.%require_complete.465)] -// CHECK:STDOUT: %Ptr.impl_witness: = impl_witness file.%Ptr.impl_witness_table, @impl(%U.loc7_20.2) [symbolic = %Ptr.impl_witness (constants.%Ptr.impl_witness.e8c)] +// CHECK:STDOUT: %Ptr.impl_witness: = impl_witness file.%Ptr.impl_witness_table, @Ptr.impl(%U.loc7_20.2) [symbolic = %Ptr.impl_witness (constants.%Ptr.impl_witness.e8c)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: @@ -1066,7 +1066,7 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %T.loc9_6.2: %Ptr.type = bind_symbolic_name T, 0 [symbolic = %T.loc9_6.2 (constants.%T)] // CHECK:STDOUT: %T.as_type.loc9_22.2: type = facet_access_type %T.loc9_6.2 [symbolic = %T.as_type.loc9_22.2 (constants.%T.as_type)] // CHECK:STDOUT: %pattern_type.loc9_19: type = pattern_type %T.as_type.loc9_22.2 [symbolic = %pattern_type.loc9_19 (constants.%pattern_type.87e)] -// CHECK:STDOUT: %Ptr.impl_witness: = impl_witness file.%Ptr.impl_witness_table, @impl(%T.as_type.loc9_22.2) [symbolic = %Ptr.impl_witness (constants.%Ptr.impl_witness.5aa)] +// CHECK:STDOUT: %Ptr.impl_witness: = impl_witness file.%Ptr.impl_witness_table, @Ptr.impl(%T.as_type.loc9_22.2) [symbolic = %Ptr.impl_witness (constants.%Ptr.impl_witness.5aa)] // CHECK:STDOUT: %ptr: type = ptr_type %T.as_type.loc9_22.2 [symbolic = %ptr (constants.%ptr.900)] // CHECK:STDOUT: %pattern_type.loc9_25: type = pattern_type %ptr [symbolic = %pattern_type.loc9_25 (constants.%pattern_type.a95)] // CHECK:STDOUT: @@ -1086,7 +1086,7 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: // CHECK:STDOUT: specific @Type(constants.%Ptr.facet.b6e) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl(constants.%U) { +// CHECK:STDOUT: specific @Ptr.impl(constants.%U) { // CHECK:STDOUT: %U.loc7_20.2 => constants.%U // CHECK:STDOUT: %ptr.loc7_54.2 => constants.%ptr.79f // CHECK:STDOUT: %Ptr_where.type => constants.%Ptr_where.type.bd4 @@ -1094,7 +1094,7 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %Ptr.impl_witness => constants.%Ptr.impl_witness.e8c // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl(constants.%T.as_type) { +// CHECK:STDOUT: specific @Ptr.impl(constants.%T.as_type) { // CHECK:STDOUT: %U.loc7_20.2 => constants.%T.as_type // CHECK:STDOUT: %ptr.loc7_54.2 => constants.%ptr.900 // CHECK:STDOUT: %Ptr_where.type => constants.%Ptr_where.type.0d6 @@ -1132,7 +1132,7 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %ptr.79f: type = ptr_type %U [symbolic] // CHECK:STDOUT: %Ptr_where.type.bd4: type = facet_type <@Ptr where %impl.elem0 = %ptr.79f> [symbolic] // CHECK:STDOUT: %require_complete.465: = require_complete_type %Ptr_where.type.bd4 [symbolic] -// CHECK:STDOUT: %Ptr.impl_witness.e8c: = impl_witness file.%Ptr.impl_witness_table, @impl(%U) [symbolic] +// CHECK:STDOUT: %Ptr.impl_witness.e8c: = impl_witness file.%Ptr.impl_witness_table, @Ptr.impl(%U) [symbolic] // CHECK:STDOUT: %T: %Ptr.type = bind_symbolic_name T, 0 [symbolic] // CHECK:STDOUT: %pattern_type.9bb: type = pattern_type %Ptr.type [concrete] // CHECK:STDOUT: %T.as_type: type = facet_access_type %T [symbolic] @@ -1140,7 +1140,7 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %ptr.900: type = ptr_type %T.as_type [symbolic] // CHECK:STDOUT: %Ptr_where.type.0d6: type = facet_type <@Ptr where %impl.elem0 = %ptr.900> [symbolic] // CHECK:STDOUT: %require_complete.d01: = require_complete_type %Ptr_where.type.0d6 [symbolic] -// CHECK:STDOUT: %Ptr.impl_witness.5aa: = impl_witness file.%Ptr.impl_witness_table, @impl(%T.as_type) [symbolic] +// CHECK:STDOUT: %Ptr.impl_witness.5aa: = impl_witness file.%Ptr.impl_witness_table, @Ptr.impl(%T.as_type) [symbolic] // CHECK:STDOUT: %Ptr.facet.db8: %Ptr.type = facet_value %T.as_type, (%Ptr.impl_witness.5aa) [symbolic] // CHECK:STDOUT: %pattern_type.a95: type = pattern_type %ptr.900 [symbolic] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] @@ -1164,7 +1164,7 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Ptr.decl: type = interface_decl @Ptr [concrete = constants.%Ptr.type] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] { +// CHECK:STDOUT: impl_decl @Ptr.impl [concrete] { // CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %U.ref.loc7_30: type = name_ref U, %U.loc7_20.1 [symbolic = %U.loc7_20.2 (constants.%U)] @@ -1182,9 +1182,9 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: } // CHECK:STDOUT: %U.loc7_20.1: type = bind_symbolic_name U, 0 [symbolic = %U.loc7_20.2 (constants.%U)] // CHECK:STDOUT: } -// CHECK:STDOUT: %Ptr.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant), @impl [concrete] -// CHECK:STDOUT: %Ptr.impl_witness: = impl_witness %Ptr.impl_witness_table, @impl(constants.%U) [symbolic = @impl.%Ptr.impl_witness (constants.%Ptr.impl_witness.e8c)] -// CHECK:STDOUT: %impl_witness_assoc_constant: type = impl_witness_assoc_constant constants.%ptr.79f [symbolic = @impl.%ptr.loc7_54.2 (constants.%ptr.79f)] +// CHECK:STDOUT: %Ptr.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant), @Ptr.impl [concrete] +// CHECK:STDOUT: %Ptr.impl_witness: = impl_witness %Ptr.impl_witness_table, @Ptr.impl(constants.%U) [symbolic = @Ptr.impl.%Ptr.impl_witness (constants.%Ptr.impl_witness.e8c)] +// CHECK:STDOUT: %impl_witness_assoc_constant: type = impl_witness_assoc_constant constants.%ptr.79f [symbolic = @Ptr.impl.%ptr.loc7_54.2 (constants.%ptr.79f)] // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { // CHECK:STDOUT: %T.patt: %pattern_type.9bb = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: %t.patt: @F.%pattern_type.loc9_19 (%pattern_type.87e) = binding_pattern t [concrete] @@ -1229,12 +1229,12 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: assoc_const Type:! type; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl(%U.loc7_20.1: type) { +// CHECK:STDOUT: generic impl @Ptr.impl(%U.loc7_20.1: type) { // CHECK:STDOUT: %U.loc7_20.2: type = bind_symbolic_name U, 0 [symbolic = %U.loc7_20.2 (constants.%U)] // CHECK:STDOUT: %ptr.loc7_54.2: type = ptr_type %U.loc7_20.2 [symbolic = %ptr.loc7_54.2 (constants.%ptr.79f)] // CHECK:STDOUT: %Ptr_where.type: type = facet_type <@Ptr where constants.%impl.elem0 = %ptr.loc7_54.2> [symbolic = %Ptr_where.type (constants.%Ptr_where.type.bd4)] // CHECK:STDOUT: %require_complete: = require_complete_type %Ptr_where.type [symbolic = %require_complete (constants.%require_complete.465)] -// CHECK:STDOUT: %Ptr.impl_witness: = impl_witness file.%Ptr.impl_witness_table, @impl(%U.loc7_20.2) [symbolic = %Ptr.impl_witness (constants.%Ptr.impl_witness.e8c)] +// CHECK:STDOUT: %Ptr.impl_witness: = impl_witness file.%Ptr.impl_witness_table, @Ptr.impl(%U.loc7_20.2) [symbolic = %Ptr.impl_witness (constants.%Ptr.impl_witness.e8c)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: @@ -1248,7 +1248,7 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %T.loc9_6.2: %Ptr.type = bind_symbolic_name T, 0 [symbolic = %T.loc9_6.2 (constants.%T)] // CHECK:STDOUT: %T.as_type.loc9_22.2: type = facet_access_type %T.loc9_6.2 [symbolic = %T.as_type.loc9_22.2 (constants.%T.as_type)] // CHECK:STDOUT: %pattern_type.loc9_19: type = pattern_type %T.as_type.loc9_22.2 [symbolic = %pattern_type.loc9_19 (constants.%pattern_type.87e)] -// CHECK:STDOUT: %Ptr.impl_witness: = impl_witness file.%Ptr.impl_witness_table, @impl(%T.as_type.loc9_22.2) [symbolic = %Ptr.impl_witness (constants.%Ptr.impl_witness.5aa)] +// CHECK:STDOUT: %Ptr.impl_witness: = impl_witness file.%Ptr.impl_witness_table, @Ptr.impl(%T.as_type.loc9_22.2) [symbolic = %Ptr.impl_witness (constants.%Ptr.impl_witness.5aa)] // CHECK:STDOUT: %ptr: type = ptr_type %T.as_type.loc9_22.2 [symbolic = %ptr (constants.%ptr.900)] // CHECK:STDOUT: %pattern_type.loc9_25: type = pattern_type %ptr [symbolic = %pattern_type.loc9_25 (constants.%pattern_type.a95)] // CHECK:STDOUT: @@ -1268,7 +1268,7 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: // CHECK:STDOUT: specific @Type(constants.%Ptr.facet.b6e) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl(constants.%U) { +// CHECK:STDOUT: specific @Ptr.impl(constants.%U) { // CHECK:STDOUT: %U.loc7_20.2 => constants.%U // CHECK:STDOUT: %ptr.loc7_54.2 => constants.%ptr.79f // CHECK:STDOUT: %Ptr_where.type => constants.%Ptr_where.type.bd4 @@ -1276,7 +1276,7 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %Ptr.impl_witness => constants.%Ptr.impl_witness.e8c // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl(constants.%T.as_type) { +// CHECK:STDOUT: specific @Ptr.impl(constants.%T.as_type) { // CHECK:STDOUT: %U.loc7_20.2 => constants.%T.as_type // CHECK:STDOUT: %ptr.loc7_54.2 => constants.%ptr.900 // CHECK:STDOUT: %Ptr_where.type => constants.%Ptr_where.type.0d6 diff --git a/toolchain/check/testdata/impl/lookup/specific_args.carbon b/toolchain/check/testdata/impl/lookup/specific_args.carbon index 9ae3a85621d3..3644bb2e8a16 100644 --- a/toolchain/check/testdata/impl/lookup/specific_args.carbon +++ b/toolchain/check/testdata/impl/lookup/specific_args.carbon @@ -237,13 +237,13 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); } // CHECK:STDOUT: } // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: %InInterfaceArgs.decl: type = class_decl @InInterfaceArgs [concrete = constants.%InInterfaceArgs] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl [concrete] {} { // CHECK:STDOUT: %X.ref: type = name_ref X, imports.%Main.X [concrete = constants.%X] // CHECK:STDOUT: %I.ref: %I.type.dac = name_ref I, imports.%Main.I [concrete = constants.%I.generic] // CHECK:STDOUT: %InInterfaceArgs.ref: type = name_ref InInterfaceArgs, file.%InInterfaceArgs.decl [concrete = constants.%InInterfaceArgs] // CHECK:STDOUT: %I.type: type = facet_type <@I, @I(constants.%InInterfaceArgs)> [concrete = constants.%I.type.e45] // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (@impl.%F.decl), @impl [concrete] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (@I.impl.%F.decl), @I.impl [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -266,13 +266,13 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); } // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %X.ref as %I.type { +// 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: %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: } { // CHECK:STDOUT: %self.param: %X = value_param call_param0 -// CHECK:STDOUT: %Self.ref: type = name_ref Self, @impl.%X.ref [concrete = constants.%X] +// CHECK:STDOUT: %Self.ref: type = name_ref Self, @I.impl.%X.ref [concrete = constants.%X] // CHECK:STDOUT: %self: %X = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: @@ -401,7 +401,7 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); } // CHECK:STDOUT: %Main.import_ref.956: type = import_ref Main//impl_in_interface_args, loc7_6, loaded [concrete = constants.%X] // CHECK:STDOUT: %Main.import_ref.e8c: type = import_ref Main//impl_in_interface_args, loc7_28, loaded [concrete = constants.%I.type.e45] // CHECK:STDOUT: %Main.import_ref.7f5: %F.type.b63 = import_ref Main//impl_in_interface_args, loc7_51, loaded [concrete = constants.%F.d5f] -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%Main.import_ref.7f5), @impl [concrete] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%Main.import_ref.7f5), @I.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -442,7 +442,7 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); } // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: imports.%Main.import_ref.956 as imports.%Main.import_ref.e8c [from "impl_in_interface_args.carbon"] { +// CHECK:STDOUT: impl @I.impl: imports.%Main.import_ref.956 as imports.%Main.import_ref.e8c [from "impl_in_interface_args.carbon"] { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = imports.%Main.import_ref.e08 // CHECK:STDOUT: } @@ -572,7 +572,7 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); } // CHECK:STDOUT: } // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: %InClassArgs.decl: type = class_decl @InClassArgs [concrete = constants.%InClassArgs] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl [concrete] {} { // CHECK:STDOUT: %C.ref: %C.type = name_ref C, imports.%Main.C [concrete = constants.%C.generic] // CHECK:STDOUT: %InClassArgs.ref: type = name_ref InClassArgs, file.%InClassArgs.decl [concrete = constants.%InClassArgs] // CHECK:STDOUT: %C: type = class_type @C, @C(constants.%InClassArgs) [concrete = constants.%C.23b] @@ -580,7 +580,7 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); } // CHECK:STDOUT: %X.ref: type = name_ref X, imports.%Main.X [concrete = constants.%X] // CHECK:STDOUT: %I.type: type = facet_type <@I, @I(constants.%X)> [concrete = constants.%I.type.45c] // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (@impl.%F.decl), @impl [concrete] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (@I.impl.%F.decl), @I.impl [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -603,13 +603,13 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); } // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %C as %I.type { +// 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: %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: } { // CHECK:STDOUT: %self.param: %C.23b = value_param call_param0 -// CHECK:STDOUT: %Self.ref: type = name_ref Self, @impl.%C [concrete = constants.%C.23b] +// CHECK:STDOUT: %Self.ref: type = name_ref Self, @I.impl.%C [concrete = constants.%C.23b] // CHECK:STDOUT: %self: %C.23b = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: @@ -767,7 +767,7 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); } // CHECK:STDOUT: %Main.import_ref.d6e: type = import_ref Main//impl_in_class_args, loc7_19, loaded [concrete = constants.%C.23b] // CHECK:STDOUT: %Main.import_ref.208: type = import_ref Main//impl_in_class_args, loc7_27, loaded [concrete = constants.%I.type.45c] // CHECK:STDOUT: %Main.import_ref.ae4: %F.type.fab = import_ref Main//impl_in_class_args, loc7_50, loaded [concrete = constants.%F.7ab] -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%Main.import_ref.ae4), @impl [concrete] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%Main.import_ref.ae4), @I.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -812,7 +812,7 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); } // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: imports.%Main.import_ref.d6e as imports.%Main.import_ref.208 [from "impl_in_class_args.carbon"] { +// CHECK:STDOUT: impl @I.impl: imports.%Main.import_ref.d6e as imports.%Main.import_ref.208 [from "impl_in_class_args.carbon"] { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = imports.%Main.import_ref.a72 // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/impl/lookup/transitive.carbon b/toolchain/check/testdata/impl/lookup/transitive.carbon index 1f196b9b70e9..1ad718d3343a 100644 --- a/toolchain/check/testdata/impl/lookup/transitive.carbon +++ b/toolchain/check/testdata/impl/lookup/transitive.carbon @@ -151,11 +151,11 @@ fn Call() { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl [concrete] {} { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %I.ref: type = name_ref I, imports.%Main.I [concrete = constants.%I.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (@impl.%F.decl), @impl [concrete] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (@I.impl.%F.decl), @I.impl [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -166,13 +166,13 @@ fn Call() { // CHECK:STDOUT: witness = (imports.%Main.F) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %C.ref as %I.ref { +// 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: %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: } { // CHECK:STDOUT: %self.param: %C = value_param call_param0 -// CHECK:STDOUT: %Self.ref: type = name_ref Self, @impl.%C.ref [concrete = constants.%C] +// CHECK:STDOUT: %Self.ref: type = name_ref Self, @I.impl.%C.ref [concrete = constants.%C] // CHECK:STDOUT: %self: %C = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: @@ -288,7 +288,7 @@ fn Call() { // CHECK:STDOUT: %F.type.5d6: type = fn_type @F.2 [concrete] // CHECK:STDOUT: %F.a2e: %F.type.5d6 = struct_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.153: type = fn_type @Op.2, @impl.49c(%C) [concrete] +// CHECK:STDOUT: %Op.type.153: type = fn_type @Op.2, @Destroy.impl(%C) [concrete] // CHECK:STDOUT: %Op.5d7: %Op.type.153 = struct_value () [concrete] // CHECK:STDOUT: %ptr.019: type = ptr_type %C [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.5d7, @Op.2(%C) [concrete] @@ -313,7 +313,7 @@ fn Call() { // CHECK:STDOUT: %Main.import_ref.29a: type = import_ref Main//c, loc7_6, loaded [concrete = constants.%C] // CHECK:STDOUT: %Main.import_ref.f50: type = import_ref Main//c, loc7_11, loaded [concrete = constants.%I.type] // CHECK:STDOUT: %Main.import_ref.742: %F.type.5d6 = import_ref Main//c, loc7_34, loaded [concrete = constants.%F.a2e] -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%Main.import_ref.742), @impl.770 [concrete] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%Main.import_ref.742), @I.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -336,7 +336,7 @@ fn Call() { // CHECK:STDOUT: witness = (imports.%Main.F) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.770: imports.%Main.import_ref.29a as imports.%Main.import_ref.f50 [from "c.carbon"] { +// CHECK:STDOUT: impl @I.impl: imports.%Main.import_ref.29a as imports.%Main.import_ref.f50 [from "c.carbon"] { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = imports.%Main.import_ref.f0d // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/impl/multiple_extend.carbon b/toolchain/check/testdata/impl/multiple_extend.carbon index 7670d7cfe85a..905c336b4b62 100644 --- a/toolchain/check/testdata/impl/multiple_extend.carbon +++ b/toolchain/check/testdata/impl/multiple_extend.carbon @@ -243,7 +243,7 @@ fn P(o: O) { // CHECK:STDOUT: witness = (%G.decl) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.670: %Self.ref as %HasF.ref { +// 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: // CHECK:STDOUT: !members: @@ -251,7 +251,7 @@ fn P(o: O) { // CHECK:STDOUT: witness = @C.%HasF.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.096: %Self.ref as %HasG.ref { +// 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: // CHECK:STDOUT: !members: @@ -260,17 +260,17 @@ fn P(o: O) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @C { -// CHECK:STDOUT: impl_decl @impl.670 [concrete] {} { +// CHECK:STDOUT: impl_decl @HasF.impl [concrete] {} { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%C [concrete = constants.%C] // CHECK:STDOUT: %HasF.ref: type = name_ref HasF, file.%HasF.decl [concrete = constants.%HasF.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %HasF.impl_witness_table = impl_witness_table (@impl.670.%F.decl), @impl.670 [concrete] +// CHECK:STDOUT: %HasF.impl_witness_table = impl_witness_table (@HasF.impl.%F.decl), @HasF.impl [concrete] // CHECK:STDOUT: %HasF.impl_witness: = impl_witness %HasF.impl_witness_table [concrete = constants.%HasF.impl_witness] -// CHECK:STDOUT: impl_decl @impl.096 [concrete] {} { +// CHECK:STDOUT: impl_decl @HasG.impl [concrete] {} { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%C [concrete = constants.%C] // CHECK:STDOUT: %HasG.ref: type = name_ref HasG, file.%HasG.decl [concrete = constants.%HasG.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %HasG.impl_witness_table = impl_witness_table (@impl.096.%G.decl), @impl.096 [concrete] +// CHECK:STDOUT: %HasG.impl_witness_table = impl_witness_table (@HasG.impl.%G.decl), @HasG.impl [concrete] // CHECK:STDOUT: %HasG.impl_witness: = impl_witness %HasG.impl_witness_table [concrete = constants.%HasG.impl_witness] // 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] @@ -282,8 +282,8 @@ fn P(o: O) { // CHECK:STDOUT: .HasG = // CHECK:STDOUT: .F = // CHECK:STDOUT: .G = -// CHECK:STDOUT: extend @impl.670.%HasF.ref -// CHECK:STDOUT: extend @impl.096.%HasG.ref +// CHECK:STDOUT: extend @HasF.impl.%HasF.ref +// CHECK:STDOUT: extend @HasG.impl.%HasG.ref // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @F.1(@HasF.%Self: %HasF.type) { @@ -407,7 +407,7 @@ fn P(o: O) { // CHECK:STDOUT: witness = (%A.decl) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.909: %Self.ref as %HasA1.ref { +// 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: // CHECK:STDOUT: !members: @@ -415,7 +415,7 @@ fn P(o: O) { // CHECK:STDOUT: witness = @D.%HasA1.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.390: %Self.ref as %HasA2.ref { +// 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: // CHECK:STDOUT: !members: @@ -424,17 +424,17 @@ fn P(o: O) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @D { -// CHECK:STDOUT: impl_decl @impl.909 [concrete] {} { +// CHECK:STDOUT: impl_decl @HasA1.impl [concrete] {} { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%D [concrete = constants.%D] // CHECK:STDOUT: %HasA1.ref: type = name_ref HasA1, file.%HasA1.decl [concrete = constants.%HasA1.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %HasA1.impl_witness_table = impl_witness_table (@impl.909.%A.decl), @impl.909 [concrete] +// CHECK:STDOUT: %HasA1.impl_witness_table = impl_witness_table (@HasA1.impl.%A.decl), @HasA1.impl [concrete] // CHECK:STDOUT: %HasA1.impl_witness: = impl_witness %HasA1.impl_witness_table [concrete = constants.%HasA1.impl_witness] -// CHECK:STDOUT: impl_decl @impl.390 [concrete] {} { +// CHECK:STDOUT: impl_decl @HasA2.impl [concrete] {} { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%D [concrete = constants.%D] // CHECK:STDOUT: %HasA2.ref: type = name_ref HasA2, file.%HasA2.decl [concrete = constants.%HasA2.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %HasA2.impl_witness_table = impl_witness_table (@impl.390.%A.decl), @impl.390 [concrete] +// CHECK:STDOUT: %HasA2.impl_witness_table = impl_witness_table (@HasA2.impl.%A.decl), @HasA2.impl [concrete] // CHECK:STDOUT: %HasA2.impl_witness: = impl_witness %HasA2.impl_witness_table [concrete = constants.%HasA2.impl_witness] // 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] @@ -445,8 +445,8 @@ fn P(o: O) { // CHECK:STDOUT: .HasA1 = // CHECK:STDOUT: .HasA2 = // CHECK:STDOUT: .A = -// CHECK:STDOUT: extend @impl.909.%HasA1.ref -// CHECK:STDOUT: extend @impl.390.%HasA2.ref +// CHECK:STDOUT: extend @HasA1.impl.%HasA1.ref +// CHECK:STDOUT: extend @HasA2.impl.%HasA2.ref // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @A.1(@HasA1.%Self: %HasA1.type) { @@ -545,7 +545,7 @@ fn P(o: O) { // CHECK:STDOUT: witness = (%I.decl) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %Self.ref as %HasI.ref { +// 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: // CHECK:STDOUT: !members: @@ -569,11 +569,11 @@ fn P(o: O) { // CHECK:STDOUT: class @E { // CHECK:STDOUT: %B.ref: type = name_ref B, file.%B.decl [concrete = constants.%B] // CHECK:STDOUT: %.loc13: %E.elem = base_decl %B.ref, element0 [concrete] -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @HasI.impl [concrete] {} { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%E [concrete = constants.%E] // CHECK:STDOUT: %HasI.ref: type = name_ref HasI, file.%HasI.decl [concrete = constants.%HasI.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %HasI.impl_witness_table = impl_witness_table (@impl.%I.decl), @impl [concrete] +// CHECK:STDOUT: %HasI.impl_witness_table = impl_witness_table (@HasI.impl.%I.decl), @HasI.impl [concrete] // CHECK:STDOUT: %HasI.impl_witness: = impl_witness %HasI.impl_witness_table [concrete = constants.%HasI.impl_witness] // CHECK:STDOUT: %struct_type.base: type = struct_type {.base: %B} [concrete = constants.%struct_type.base.0ff] // CHECK:STDOUT: %complete_type: = complete_type_witness %struct_type.base [concrete = constants.%complete_type.98e] @@ -587,7 +587,7 @@ fn P(o: O) { // CHECK:STDOUT: .I = // CHECK:STDOUT: .J = // CHECK:STDOUT: extend %B.ref -// CHECK:STDOUT: extend @impl.%HasI.ref +// CHECK:STDOUT: extend @HasI.impl.%HasI.ref // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @I.1(@HasI.%Self: %HasI.type) { @@ -685,7 +685,7 @@ fn P(o: O) { // CHECK:STDOUT: witness = (%K.decl) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %Self.ref as %HasK.ref { +// 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: // CHECK:STDOUT: !members: @@ -708,11 +708,11 @@ fn P(o: O) { // CHECK:STDOUT: class @L { // CHECK:STDOUT: %Base.ref: type = name_ref Base, file.%Base.decl [concrete = constants.%Base] // CHECK:STDOUT: %.loc13: %L.elem = base_decl %Base.ref, element0 [concrete] -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @HasK.impl [concrete] {} { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%L [concrete = constants.%L] // CHECK:STDOUT: %HasK.ref: type = name_ref HasK, file.%HasK.decl [concrete = constants.%HasK.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %HasK.impl_witness_table = impl_witness_table (@impl.%K.decl), @impl [concrete] +// CHECK:STDOUT: %HasK.impl_witness_table = impl_witness_table (@HasK.impl.%K.decl), @HasK.impl [concrete] // CHECK:STDOUT: %HasK.impl_witness: = impl_witness %HasK.impl_witness_table [concrete = constants.%HasK.impl_witness] // CHECK:STDOUT: %struct_type.base: type = struct_type {.base: %Base} [concrete = constants.%struct_type.base.b1e] // CHECK:STDOUT: %complete_type: = complete_type_witness %struct_type.base [concrete = constants.%complete_type.15c] @@ -725,7 +725,7 @@ fn P(o: O) { // CHECK:STDOUT: .HasK = // CHECK:STDOUT: .K = // CHECK:STDOUT: extend %Base.ref -// CHECK:STDOUT: extend @impl.%HasK.ref +// CHECK:STDOUT: extend @HasK.impl.%HasK.ref // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @K.1() { @@ -840,7 +840,7 @@ fn P(o: O) { // CHECK:STDOUT: witness = (%N.decl) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.968: %Self.ref as %HasN1.ref { +// 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: // CHECK:STDOUT: !members: @@ -848,7 +848,7 @@ fn P(o: O) { // CHECK:STDOUT: witness = @O.%HasN1.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.117: %Self.ref as %HasN2.ref { +// 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: // CHECK:STDOUT: !members: @@ -872,17 +872,17 @@ fn P(o: O) { // CHECK:STDOUT: class @O { // CHECK:STDOUT: %NBase.ref: type = name_ref NBase, file.%NBase.decl [concrete = constants.%NBase] // CHECK:STDOUT: %.loc17: %O.elem = base_decl %NBase.ref, element0 [concrete] -// CHECK:STDOUT: impl_decl @impl.968 [concrete] {} { +// CHECK:STDOUT: impl_decl @HasN1.impl [concrete] {} { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%O [concrete = constants.%O] // CHECK:STDOUT: %HasN1.ref: type = name_ref HasN1, file.%HasN1.decl [concrete = constants.%HasN1.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %HasN1.impl_witness_table = impl_witness_table (@impl.968.%N.decl), @impl.968 [concrete] +// CHECK:STDOUT: %HasN1.impl_witness_table = impl_witness_table (@HasN1.impl.%N.decl), @HasN1.impl [concrete] // CHECK:STDOUT: %HasN1.impl_witness: = impl_witness %HasN1.impl_witness_table [concrete = constants.%HasN1.impl_witness] -// CHECK:STDOUT: impl_decl @impl.117 [concrete] {} { +// CHECK:STDOUT: impl_decl @HasN2.impl [concrete] {} { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%O [concrete = constants.%O] // CHECK:STDOUT: %HasN2.ref: type = name_ref HasN2, file.%HasN2.decl [concrete = constants.%HasN2.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %HasN2.impl_witness_table = impl_witness_table (@impl.117.%N.decl), @impl.117 [concrete] +// 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: %struct_type.base: type = struct_type {.base: %NBase} [concrete = constants.%struct_type.base.9c6] @@ -897,8 +897,8 @@ fn P(o: O) { // CHECK:STDOUT: .HasN2 = // CHECK:STDOUT: .N = %N.decl // CHECK:STDOUT: extend %NBase.ref -// CHECK:STDOUT: extend @impl.968.%HasN1.ref -// CHECK:STDOUT: extend @impl.117.%HasN2.ref +// CHECK:STDOUT: extend @HasN1.impl.%HasN1.ref +// CHECK:STDOUT: extend @HasN2.impl.%HasN2.ref // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @N.1() { diff --git a/toolchain/check/testdata/impl/no_definition_in_impl_file.carbon b/toolchain/check/testdata/impl/no_definition_in_impl_file.carbon index e1e4d6000ad7..91866b9a5f51 100644 --- a/toolchain/check/testdata/impl/no_definition_in_impl_file.carbon +++ b/toolchain/check/testdata/impl/no_definition_in_impl_file.carbon @@ -118,12 +118,12 @@ impl () as D; // CHECK:STDOUT: .A = %A.decl // CHECK:STDOUT: } // CHECK:STDOUT: %A.decl: type = interface_decl @A [concrete = constants.%A.type] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @A.impl [concrete] {} { // CHECK:STDOUT: %.loc10_7.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc10_7.2: type = converted %.loc10_7.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [concrete = constants.%A.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %A.impl_witness_table = impl_witness_table (), @impl [concrete] +// CHECK:STDOUT: %A.impl_witness_table = impl_witness_table (), @A.impl [concrete] // CHECK:STDOUT: %A.impl_witness: = impl_witness %A.impl_witness_table [concrete = constants.%A.impl_witness] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -135,7 +135,7 @@ impl () as D; // CHECK:STDOUT: witness = () // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %.loc10_7.2 as %A.ref; +// CHECK:STDOUT: impl @A.impl: %.loc10_7.2 as %A.ref; // CHECK:STDOUT: // CHECK:STDOUT: --- fail_decl_in_api_definition_in_impl.impl.carbon // CHECK:STDOUT: @@ -157,12 +157,12 @@ impl () as D; // CHECK:STDOUT: } // CHECK:STDOUT: %default.import.loc2_46.1 = import // CHECK:STDOUT: %default.import.loc2_46.2 = import -// CHECK:STDOUT: impl_decl @impl.064930.2 [concrete] {} { +// CHECK:STDOUT: impl_decl @A.impl.064930.2 [concrete] {} { // CHECK:STDOUT: %.loc8_7.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc8_7.2: type = converted %.loc8_7.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %A.ref: type = name_ref A, imports.%Main.A [concrete = constants.%A.type] // CHECK:STDOUT: } -// CHECK:STDOUT: impl_decl @impl.064930.3 [concrete] {} { +// CHECK:STDOUT: impl_decl @A.impl.064930.3 [concrete] {} { // CHECK:STDOUT: %.loc14_7.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc14_7.2: type = converted %.loc14_7.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %A.ref: type = name_ref A, imports.%Main.A [concrete = constants.%A.type] @@ -175,11 +175,11 @@ impl () as D; // CHECK:STDOUT: witness = () // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.064930.1: imports.%Main.import_ref.e5c as imports.%Main.import_ref.831 [from "fail_decl_in_api_definition_in_impl.carbon"]; +// CHECK:STDOUT: impl @A.impl.064930.1: imports.%Main.import_ref.e5c as imports.%Main.import_ref.831 [from "fail_decl_in_api_definition_in_impl.carbon"]; // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.064930.2: %.loc8_7.2 as %A.ref; +// CHECK:STDOUT: impl @A.impl.064930.2: %.loc8_7.2 as %A.ref; // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.064930.3: %.loc14_7.2 as %A.ref { +// CHECK:STDOUT: impl @A.impl.064930.3: %.loc14_7.2 as %A.ref { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = // CHECK:STDOUT: } @@ -218,12 +218,12 @@ impl () as D; // CHECK:STDOUT: .B = %B.decl // CHECK:STDOUT: } // CHECK:STDOUT: %B.decl: type = interface_decl @B [concrete = constants.%B.type] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @B.impl [concrete] {} { // CHECK:STDOUT: %.loc10_7.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc10_7.2: type = converted %.loc10_7.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %B.ref: type = name_ref B, file.%B.decl [concrete = constants.%B.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %B.impl_witness_table = impl_witness_table (), @impl [concrete] +// CHECK:STDOUT: %B.impl_witness_table = impl_witness_table (), @B.impl [concrete] // CHECK:STDOUT: %B.impl_witness: = impl_witness %B.impl_witness_table [concrete = constants.%B.impl_witness] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -235,7 +235,7 @@ impl () as D; // CHECK:STDOUT: witness = () // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %.loc10_7.2 as %B.ref; +// CHECK:STDOUT: impl @B.impl: %.loc10_7.2 as %B.ref; // CHECK:STDOUT: // CHECK:STDOUT: --- decl_only_in_api.impl.carbon // CHECK:STDOUT: @@ -265,7 +265,7 @@ impl () as D; // CHECK:STDOUT: witness = () // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: imports.%Main.import_ref.e5c as imports.%Main.import_ref.171 [from "fail_decl_only_in_api.carbon"]; +// CHECK:STDOUT: impl @B.impl: imports.%Main.import_ref.e5c as imports.%Main.import_ref.171 [from "fail_decl_only_in_api.carbon"]; // CHECK:STDOUT: // CHECK:STDOUT: --- fail_decl_in_api_decl_in_impl.carbon // CHECK:STDOUT: @@ -281,12 +281,12 @@ impl () as D; // CHECK:STDOUT: .C = %C.decl // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: type = interface_decl @C [concrete = constants.%C.type] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @C.impl [concrete] {} { // CHECK:STDOUT: %.loc10_7.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc10_7.2: type = converted %.loc10_7.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %C.impl_witness_table = impl_witness_table (), @impl [concrete] +// CHECK:STDOUT: %C.impl_witness_table = impl_witness_table (), @C.impl [concrete] // CHECK:STDOUT: %C.impl_witness: = impl_witness %C.impl_witness_table [concrete = constants.%C.impl_witness] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -298,7 +298,7 @@ impl () as D; // CHECK:STDOUT: witness = () // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %.loc10_7.2 as %C.ref; +// CHECK:STDOUT: impl @C.impl: %.loc10_7.2 as %C.ref; // CHECK:STDOUT: // CHECK:STDOUT: --- fail_decl_in_api_decl_in_impl.impl.carbon // CHECK:STDOUT: @@ -320,7 +320,7 @@ impl () as D; // CHECK:STDOUT: } // CHECK:STDOUT: %default.import.loc2_40.1 = import // CHECK:STDOUT: %default.import.loc2_40.2 = import -// CHECK:STDOUT: impl_decl @impl.590fe9.2 [concrete] {} { +// CHECK:STDOUT: impl_decl @C.impl.590fe9.2 [concrete] {} { // CHECK:STDOUT: %.loc8_7.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc8_7.2: type = converted %.loc8_7.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %C.ref: type = name_ref C, imports.%Main.C [concrete = constants.%C.type] @@ -333,9 +333,9 @@ impl () as D; // CHECK:STDOUT: witness = () // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.590fe9.1: imports.%Main.import_ref.e5c as imports.%Main.import_ref.653 [from "fail_decl_in_api_decl_in_impl.carbon"]; +// CHECK:STDOUT: impl @C.impl.590fe9.1: imports.%Main.import_ref.e5c as imports.%Main.import_ref.653 [from "fail_decl_in_api_decl_in_impl.carbon"]; // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.590fe9.2: %.loc8_7.2 as %C.ref; +// CHECK:STDOUT: impl @C.impl.590fe9.2: %.loc8_7.2 as %C.ref; // CHECK:STDOUT: // CHECK:STDOUT: --- decl_only_in_impl.carbon // CHECK:STDOUT: @@ -359,12 +359,12 @@ impl () as D; // CHECK:STDOUT: %default.import.loc2_33.1 = import // CHECK:STDOUT: %default.import.loc2_33.2 = import // CHECK:STDOUT: %D.decl: type = interface_decl @D [concrete = constants.%D.type] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @D.impl [concrete] {} { // CHECK:STDOUT: %.loc10_7.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc10_7.2: type = converted %.loc10_7.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D.decl [concrete = constants.%D.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %D.impl_witness_table = impl_witness_table (), @impl [concrete] +// CHECK:STDOUT: %D.impl_witness_table = impl_witness_table (), @D.impl [concrete] // CHECK:STDOUT: %D.impl_witness: = impl_witness %D.impl_witness_table [concrete = constants.%D.impl_witness] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -376,5 +376,5 @@ impl () as D; // CHECK:STDOUT: witness = () // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %.loc10_7.2 as %D.ref; +// CHECK:STDOUT: impl @D.impl: %.loc10_7.2 as %D.ref; // CHECK:STDOUT: diff --git a/toolchain/check/testdata/impl/redeclaration.carbon b/toolchain/check/testdata/impl/redeclaration.carbon index edd8c7ed0aa7..02645a9bf5dd 100644 --- a/toolchain/check/testdata/impl/redeclaration.carbon +++ b/toolchain/check/testdata/impl/redeclaration.carbon @@ -54,15 +54,15 @@ impl i32 as I {} // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %I.decl: type = interface_decl @I [concrete = constants.%I.type] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl [concrete] {} { // CHECK:STDOUT: %int_32.loc17: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc17: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %I.ref.loc17: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @impl [concrete] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @I.impl [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness] // CHECK:STDOUT: %X.decl: type = class_decl @X [concrete = constants.%X] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl [concrete] {} { // CHECK:STDOUT: %int_32.loc23: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc23: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %I.ref.loc23: type = name_ref I, file.%I.decl [concrete = constants.%I.type] @@ -77,13 +77,13 @@ impl i32 as I {} // CHECK:STDOUT: witness = () // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %i32.loc17 as %I.ref.loc17 { +// CHECK:STDOUT: impl @I.impl: %i32.loc17 as %I.ref.loc17 { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = file.%I.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @X { -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl [concrete] {} { // CHECK:STDOUT: %int_32.loc20: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc20: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %I.ref.loc20: type = name_ref I, file.%I.decl [concrete = constants.%I.type] diff --git a/toolchain/check/testdata/impl/self_in_class.carbon b/toolchain/check/testdata/impl/self_in_class.carbon index d0e1e78f4432..26d7c62f89de 100644 --- a/toolchain/check/testdata/impl/self_in_class.carbon +++ b/toolchain/check/testdata/impl/self_in_class.carbon @@ -80,12 +80,12 @@ class A { // CHECK:STDOUT: witness = (%Make.decl) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %C.ref as %DefaultConstructible.ref { +// 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: %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: } { -// CHECK:STDOUT: %Self.ref: type = name_ref Self, @impl.%C.ref [concrete = constants.%C] +// CHECK:STDOUT: %Self.ref: type = name_ref Self, @DefaultConstructible.impl.%C.ref [concrete = constants.%C] // CHECK:STDOUT: %return.param: ref %C = out_param call_param0 // CHECK:STDOUT: %return: ref %C = return_slot %return.param // CHECK:STDOUT: } @@ -105,11 +105,11 @@ class A { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @A { -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @DefaultConstructible.impl [concrete] {} { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %DefaultConstructible.ref: type = name_ref DefaultConstructible, file.%DefaultConstructible.decl [concrete = constants.%DefaultConstructible.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %DefaultConstructible.impl_witness_table = impl_witness_table (@impl.%Make.decl), @impl [concrete] +// CHECK:STDOUT: %DefaultConstructible.impl_witness_table = impl_witness_table (@DefaultConstructible.impl.%Make.decl), @DefaultConstructible.impl [concrete] // CHECK:STDOUT: %DefaultConstructible.impl_witness: = impl_witness %DefaultConstructible.impl_witness_table [concrete = constants.%DefaultConstructible.impl_witness] // 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] diff --git a/toolchain/check/testdata/impl/self_in_signature.carbon b/toolchain/check/testdata/impl/self_in_signature.carbon index f8946a5b32c1..094daaf0e8b7 100644 --- a/toolchain/check/testdata/impl/self_in_signature.carbon +++ b/toolchain/check/testdata/impl/self_in_signature.carbon @@ -108,30 +108,30 @@ impl D as SelfNested { // CHECK:STDOUT: %UseSelf.decl: type = interface_decl @UseSelf [concrete = constants.%UseSelf.type] {} {} // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} // CHECK:STDOUT: %D.decl: type = class_decl @D [concrete = constants.%D] {} {} -// CHECK:STDOUT: impl_decl @impl.c4a [concrete] {} { +// CHECK:STDOUT: impl_decl @UseSelf.impl.c4a [concrete] {} { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %UseSelf.ref: type = name_ref UseSelf, file.%UseSelf.decl [concrete = constants.%UseSelf.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %UseSelf.impl_witness_table.loc23 = impl_witness_table (@impl.c4a.%F.decl), @impl.c4a [concrete] +// CHECK:STDOUT: %UseSelf.impl_witness_table.loc23 = impl_witness_table (@UseSelf.impl.c4a.%F.decl), @UseSelf.impl.c4a [concrete] // CHECK:STDOUT: %UseSelf.impl_witness.loc23: = impl_witness %UseSelf.impl_witness_table.loc23 [concrete = constants.%UseSelf.impl_witness.b25] -// CHECK:STDOUT: impl_decl @impl.659 [concrete] {} { +// CHECK:STDOUT: impl_decl @UseSelf.impl.659 [concrete] {} { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D.decl [concrete = constants.%D] // CHECK:STDOUT: %UseSelf.ref: type = name_ref UseSelf, file.%UseSelf.decl [concrete = constants.%UseSelf.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %UseSelf.impl_witness_table.loc27 = impl_witness_table (@impl.659.%F.decl), @impl.659 [concrete] +// CHECK:STDOUT: %UseSelf.impl_witness_table.loc27 = impl_witness_table (@UseSelf.impl.659.%F.decl), @UseSelf.impl.659 [concrete] // CHECK:STDOUT: %UseSelf.impl_witness.loc27: = impl_witness %UseSelf.impl_witness_table.loc27 [concrete = constants.%UseSelf.impl_witness.f90] // CHECK:STDOUT: %SelfNested.decl: type = interface_decl @SelfNested [concrete = constants.%SelfNested.type] {} {} -// CHECK:STDOUT: impl_decl @impl.730 [concrete] {} { +// CHECK:STDOUT: impl_decl @SelfNested.impl.730 [concrete] {} { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %SelfNested.ref: type = name_ref SelfNested, file.%SelfNested.decl [concrete = constants.%SelfNested.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %SelfNested.impl_witness_table.loc35 = impl_witness_table (@impl.730.%F.decl), @impl.730 [concrete] +// CHECK:STDOUT: %SelfNested.impl_witness_table.loc35 = impl_witness_table (@SelfNested.impl.730.%F.decl), @SelfNested.impl.730 [concrete] // CHECK:STDOUT: %SelfNested.impl_witness.loc35: = impl_witness %SelfNested.impl_witness_table.loc35 [concrete = constants.%SelfNested.impl_witness.5d5] -// CHECK:STDOUT: impl_decl @impl.82d [concrete] {} { +// CHECK:STDOUT: impl_decl @SelfNested.impl.82d [concrete] {} { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D.decl [concrete = constants.%D] // CHECK:STDOUT: %SelfNested.ref: type = name_ref SelfNested, file.%SelfNested.decl [concrete = constants.%SelfNested.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %SelfNested.impl_witness_table.loc39 = impl_witness_table (@impl.82d.%F.decl), @impl.82d [concrete] +// CHECK:STDOUT: %SelfNested.impl_witness_table.loc39 = impl_witness_table (@SelfNested.impl.82d.%F.decl), @SelfNested.impl.82d [concrete] // CHECK:STDOUT: %SelfNested.impl_witness.loc39: = impl_witness %SelfNested.impl_witness_table.loc39 [concrete = constants.%SelfNested.impl_witness.16b] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -204,7 +204,7 @@ impl D as SelfNested { // CHECK:STDOUT: witness = (%F.decl) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.c4a: %C.ref as %UseSelf.ref { +// 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: %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] @@ -230,7 +230,7 @@ impl D as SelfNested { // CHECK:STDOUT: witness = file.%UseSelf.impl_witness.loc23 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.659: %D.ref as %UseSelf.ref { +// 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: %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] @@ -239,12 +239,12 @@ impl D as SelfNested { // CHECK:STDOUT: %return.patt: %pattern_type.510 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.510 = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %Self.ref.loc28_32: type = name_ref Self, @impl.659.%D.ref [concrete = constants.%D] +// CHECK:STDOUT: %Self.ref.loc28_32: type = name_ref Self, @UseSelf.impl.659.%D.ref [concrete = constants.%D] // CHECK:STDOUT: %self.param: %D = value_param call_param0 -// CHECK:STDOUT: %Self.ref.loc28_14: type = name_ref Self, @impl.659.%D.ref [concrete = constants.%D] +// CHECK:STDOUT: %Self.ref.loc28_14: type = name_ref Self, @UseSelf.impl.659.%D.ref [concrete = constants.%D] // CHECK:STDOUT: %self: %D = bind_name self, %self.param // CHECK:STDOUT: %x.param: %D = value_param call_param1 -// CHECK:STDOUT: %Self.ref.loc28_23: type = name_ref Self, @impl.659.%D.ref [concrete = constants.%D] +// CHECK:STDOUT: %Self.ref.loc28_23: type = name_ref Self, @UseSelf.impl.659.%D.ref [concrete = constants.%D] // CHECK:STDOUT: %x: %D = bind_name x, %x.param // CHECK:STDOUT: %return.param: ref %D = out_param call_param2 // CHECK:STDOUT: %return: ref %D = return_slot %return.param @@ -255,7 +255,7 @@ impl D as SelfNested { // CHECK:STDOUT: witness = file.%UseSelf.impl_witness.loc27 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.730: %C.ref as %SelfNested.ref { +// 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: %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] @@ -280,16 +280,16 @@ impl D as SelfNested { // CHECK:STDOUT: witness = file.%SelfNested.impl_witness.loc35 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.82d: %D.ref as %SelfNested.ref { +// 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: %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: } { // CHECK:STDOUT: %x.param: %tuple.type.a5f = value_param call_param0 // CHECK:STDOUT: %.loc40_37.1: type = splice_block %.loc40_37.3 [concrete = constants.%tuple.type.a5f] { -// CHECK:STDOUT: %Self.ref.loc40_12: type = name_ref Self, @impl.82d.%D.ref [concrete = constants.%D] +// CHECK:STDOUT: %Self.ref.loc40_12: type = name_ref Self, @SelfNested.impl.82d.%D.ref [concrete = constants.%D] // CHECK:STDOUT: %ptr: type = ptr_type %Self.ref.loc40_12 [concrete = constants.%ptr.19c] -// CHECK:STDOUT: %Self.ref.loc40_24: type = name_ref Self, @impl.82d.%D.ref [concrete = constants.%D] +// CHECK:STDOUT: %Self.ref.loc40_24: type = name_ref Self, @SelfNested.impl.82d.%D.ref [concrete = constants.%D] // CHECK:STDOUT: %.loc40_35.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc40_35.2: type = converted %.loc40_35.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %struct_type.x.y: type = struct_type {.x: %D, .y: %empty_tuple.type} [concrete = constants.%struct_type.x.y.527] 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 e2e62e74f3ae..d5749c6c1585 100644 --- a/toolchain/check/testdata/impl/todo_impl_with_unrelated_fn.carbon +++ b/toolchain/check/testdata/impl/todo_impl_with_unrelated_fn.carbon @@ -65,7 +65,7 @@ class X { // CHECK:STDOUT: witness = (%B.decl) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %Self.ref as %A.ref { +// 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: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] {} {} // CHECK:STDOUT: @@ -76,11 +76,11 @@ class X { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @X { -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @A.impl [concrete] {} { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%X [concrete = constants.%X] // CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [concrete = constants.%A.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %A.impl_witness_table = impl_witness_table (@impl.%B.decl), @impl [concrete] +// CHECK:STDOUT: %A.impl_witness_table = impl_witness_table (@A.impl.%B.decl), @A.impl [concrete] // CHECK:STDOUT: %A.impl_witness: = impl_witness %A.impl_witness_table [concrete = constants.%A.impl_witness] // 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] diff --git a/toolchain/check/testdata/impl/use_assoc_const.carbon b/toolchain/check/testdata/impl/use_assoc_const.carbon index 83b63097fa8b..0da3f03acac4 100644 --- a/toolchain/check/testdata/impl/use_assoc_const.carbon +++ b/toolchain/check/testdata/impl/use_assoc_const.carbon @@ -324,12 +324,12 @@ fn F() { // CHECK:STDOUT: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] // CHECK:STDOUT: %ImplicitAs.type.cc7: type = generic_interface_type @ImplicitAs [concrete] // CHECK:STDOUT: %ImplicitAs.generic: %ImplicitAs.type.cc7 = struct_value () [concrete] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %Op.type.fc5: type = fn_type @Op.2, @impl.47e(%N) [symbolic] +// CHECK:STDOUT: %Op.type.fc5: type = fn_type @Op.2, @Negate.impl.47e(%N) [symbolic] // CHECK:STDOUT: %Op.8d0: %Op.type.fc5 = struct_value () [symbolic] -// CHECK:STDOUT: %Negate.impl_witness.943: = impl_witness imports.%Negate.impl_witness_table, @impl.47e(%int_32) [concrete] -// CHECK:STDOUT: %Op.type.66f: type = fn_type @Op.2, @impl.47e(%int_32) [concrete] +// CHECK:STDOUT: %Negate.impl_witness.943: = impl_witness imports.%Negate.impl_witness_table, @Negate.impl.47e(%int_32) [concrete] +// CHECK:STDOUT: %Op.type.66f: type = fn_type @Op.2, @Negate.impl.47e(%int_32) [concrete] // CHECK:STDOUT: %Op.5c0: %Op.type.66f = struct_value () [concrete] // CHECK:STDOUT: %Negate.facet: %Negate.type = facet_value %i32, (%Negate.impl_witness.943) [concrete] // CHECK:STDOUT: %.6f0: type = fn_type_with_self_type %Op.type.e42, %Negate.facet [concrete] @@ -340,8 +340,8 @@ fn F() { // CHECK:STDOUT: %int_40.f80: Core.IntLiteral = int_value 40 [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.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -370,11 +370,11 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.Negate: type = import_ref Core//prelude/parts/int_literal, Negate, loaded [concrete = constants.%Negate.type] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: %Core.import_ref.5f5 = import_ref Core//prelude/parts/int, loc35_43, unloaded -// CHECK:STDOUT: %Core.import_ref.ff2: @impl.47e.%Op.type (%Op.type.fc5) = import_ref Core//prelude/parts/int, loc36_31, loaded [symbolic = @impl.47e.%Op (constants.%Op.8d0)] -// CHECK:STDOUT: %Negate.impl_witness_table = impl_witness_table (%Core.import_ref.5f5, %Core.import_ref.ff2), @impl.47e [concrete] +// CHECK:STDOUT: %Core.import_ref.ff2: @Negate.impl.47e.%Op.type (%Op.type.fc5) = import_ref Core//prelude/parts/int, loc36_31, loaded [symbolic = @Negate.impl.47e.%Op (constants.%Op.8d0)] +// CHECK:STDOUT: %Negate.impl_witness_table = impl_witness_table (%Core.import_ref.5f5, %Core.import_ref.ff2), @Negate.impl.47e [concrete] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -387,7 +387,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %J.decl: type = interface_decl @J [concrete = constants.%J.type] {} {} -// CHECK:STDOUT: impl_decl @impl.32a [concrete] {} { +// CHECK:STDOUT: impl_decl @J.impl.32a [concrete] {} { // CHECK:STDOUT: %.loc8_7.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc8_7.2: type = converted %.loc8_7.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %J.ref: type = name_ref J, file.%J.decl [concrete = constants.%J.type] @@ -403,7 +403,7 @@ fn F() { // CHECK:STDOUT: requirement_rewrite %impl.elem0, %i32 // CHECK:STDOUT: } // CHECK:STDOUT: } -// CHECK:STDOUT: %J.impl_witness_table.loc8 = impl_witness_table (%impl_witness_assoc_constant.loc8, @impl.32a.%F.decl), @impl.32a [concrete] +// CHECK:STDOUT: %J.impl_witness_table.loc8 = impl_witness_table (%impl_witness_assoc_constant.loc8, @J.impl.32a.%F.decl), @J.impl.32a [concrete] // CHECK:STDOUT: %J.impl_witness.loc8: = impl_witness %J.impl_witness_table.loc8 [concrete = constants.%J.impl_witness.e42] // CHECK:STDOUT: %impl_witness_assoc_constant.loc8: type = impl_witness_assoc_constant constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %CallMethod.decl: %CallMethod.type = fn_decl @CallMethod [concrete = constants.%CallMethod] { @@ -424,7 +424,7 @@ fn F() { // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} -// CHECK:STDOUT: impl_decl @impl.043 [concrete] {} { +// CHECK:STDOUT: impl_decl @J.impl.043 [concrete] {} { // CHECK:STDOUT: %C.ref.loc21_6: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %J.ref: type = name_ref J, file.%J.decl [concrete = constants.%J.type] // CHECK:STDOUT: %.Self: %J.type = bind_symbolic_name .Self [symbolic_self = constants.%.Self.968] @@ -438,7 +438,7 @@ fn F() { // CHECK:STDOUT: requirement_rewrite %impl.elem0, %C.ref.loc21_24 // CHECK:STDOUT: } // CHECK:STDOUT: } -// CHECK:STDOUT: %J.impl_witness_table.loc21 = impl_witness_table (%impl_witness_assoc_constant.loc21, @impl.043.%F.decl), @impl.043 [concrete] +// CHECK:STDOUT: %J.impl_witness_table.loc21 = impl_witness_table (%impl_witness_assoc_constant.loc21, @J.impl.043.%F.decl), @J.impl.043 [concrete] // CHECK:STDOUT: %J.impl_witness.loc21: = impl_witness %J.impl_witness_table.loc21 [concrete = constants.%J.impl_witness.12d] // CHECK:STDOUT: %impl_witness_assoc_constant.loc21: type = impl_witness_assoc_constant constants.%C [concrete = constants.%C] // CHECK:STDOUT: } @@ -487,7 +487,7 @@ fn F() { // CHECK:STDOUT: assoc_const U:! type; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.32a: %.loc8_7.2 as %.loc8_14 { +// 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: %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] @@ -499,7 +499,7 @@ fn F() { // CHECK:STDOUT: %int_32.loc9_31: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc9_31: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %self.param: %empty_tuple.type = value_param call_param0 -// CHECK:STDOUT: %Self.ref: type = name_ref Self, @impl.32a.%.loc8_7.2 [concrete = constants.%empty_tuple.type] +// CHECK:STDOUT: %Self.ref: type = name_ref Self, @J.impl.32a.%.loc8_7.2 [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %self: %empty_tuple.type = bind_name self, %self.param // CHECK:STDOUT: %u.param: %i32 = value_param call_param1 // CHECK:STDOUT: %.loc9_23: type = splice_block %i32.loc9_23 [concrete = constants.%i32] { @@ -516,7 +516,7 @@ fn F() { // CHECK:STDOUT: witness = file.%J.impl_witness.loc8 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.043: %C.ref.loc21_6 as %.loc21_13 { +// 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: %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] @@ -527,7 +527,7 @@ fn F() { // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc22_29: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %self.param: %C = value_param call_param0 -// CHECK:STDOUT: %Self.ref: type = name_ref Self, @impl.043.%C.ref.loc21_6 [concrete = constants.%C] +// CHECK:STDOUT: %Self.ref: type = name_ref Self, @J.impl.043.%C.ref.loc21_6 [concrete = constants.%C] // CHECK:STDOUT: %self: %C = bind_name self, %self.param // CHECK:STDOUT: %u.param: %C = value_param call_param1 // CHECK:STDOUT: %C.ref.loc22_23: type = name_ref C, file.%C.decl [concrete = constants.%C] @@ -676,12 +676,12 @@ fn F() { // CHECK:STDOUT: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] // CHECK:STDOUT: %ImplicitAs.type.cc7: type = generic_interface_type @ImplicitAs [concrete] // CHECK:STDOUT: %ImplicitAs.generic: %ImplicitAs.type.cc7 = struct_value () [concrete] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %Op.type.fc5: type = fn_type @Op.2, @impl.47e(%N) [symbolic] +// CHECK:STDOUT: %Op.type.fc5: type = fn_type @Op.2, @Negate.impl.47e(%N) [symbolic] // CHECK:STDOUT: %Op.8d0: %Op.type.fc5 = struct_value () [symbolic] -// CHECK:STDOUT: %Negate.impl_witness.943: = impl_witness imports.%Negate.impl_witness_table, @impl.47e(%int_32) [concrete] -// CHECK:STDOUT: %Op.type.66f: type = fn_type @Op.2, @impl.47e(%int_32) [concrete] +// CHECK:STDOUT: %Negate.impl_witness.943: = impl_witness imports.%Negate.impl_witness_table, @Negate.impl.47e(%int_32) [concrete] +// CHECK:STDOUT: %Op.type.66f: type = fn_type @Op.2, @Negate.impl.47e(%int_32) [concrete] // CHECK:STDOUT: %Op.5c0: %Op.type.66f = struct_value () [concrete] // CHECK:STDOUT: %Negate.facet: %Negate.type = facet_value %i32, (%Negate.impl_witness.943) [concrete] // CHECK:STDOUT: %.6f0: type = fn_type_with_self_type %Op.type.e42, %Negate.facet [concrete] @@ -692,8 +692,8 @@ fn F() { // CHECK:STDOUT: %int_4.0c1: Core.IntLiteral = int_value 4 [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.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -713,11 +713,11 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.Negate: type = import_ref Core//prelude/parts/int_literal, Negate, loaded [concrete = constants.%Negate.type] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: %Core.import_ref.5f5 = import_ref Core//prelude/parts/int, loc35_43, unloaded -// CHECK:STDOUT: %Core.import_ref.ff2: @impl.47e.%Op.type (%Op.type.fc5) = import_ref Core//prelude/parts/int, loc36_31, loaded [symbolic = @impl.47e.%Op (constants.%Op.8d0)] -// CHECK:STDOUT: %Negate.impl_witness_table = impl_witness_table (%Core.import_ref.5f5, %Core.import_ref.ff2), @impl.47e [concrete] +// CHECK:STDOUT: %Core.import_ref.ff2: @Negate.impl.47e.%Op.type (%Op.type.fc5) = import_ref Core//prelude/parts/int, loc36_31, loaded [symbolic = @Negate.impl.47e.%Op (constants.%Op.8d0)] +// CHECK:STDOUT: %Negate.impl_witness_table = impl_witness_table (%Core.import_ref.5f5, %Core.import_ref.ff2), @Negate.impl.47e [concrete] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -731,7 +731,7 @@ fn F() { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %J.decl: type = interface_decl @J [concrete = constants.%J.type] {} {} // CHECK:STDOUT: %D.decl: type = class_decl @D [concrete = constants.%D] {} {} -// CHECK:STDOUT: impl_decl @impl.fc1 [concrete] {} { +// CHECK:STDOUT: impl_decl @J.impl [concrete] {} { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D.decl [concrete = constants.%D] // CHECK:STDOUT: %J.ref: type = name_ref J, file.%J.decl [concrete = constants.%J.type] // CHECK:STDOUT: %.Self: %J.type = bind_symbolic_name .Self [symbolic_self = constants.%.Self.968] @@ -746,7 +746,7 @@ fn F() { // CHECK:STDOUT: requirement_rewrite %impl.elem0, %i32 // CHECK:STDOUT: } // CHECK:STDOUT: } -// CHECK:STDOUT: %J.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant, @impl.fc1.%F.decl), @impl.fc1 [concrete] +// CHECK:STDOUT: %J.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant, @J.impl.%F.decl), @J.impl [concrete] // CHECK:STDOUT: %J.impl_witness: = impl_witness %J.impl_witness_table [concrete = constants.%J.impl_witness] // CHECK:STDOUT: %impl_witness_assoc_constant: type = impl_witness_assoc_constant constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %CallFunction.decl: %CallFunction.type = fn_decl @CallFunction [concrete = constants.%CallFunction] { @@ -795,7 +795,7 @@ fn F() { // CHECK:STDOUT: assoc_const U:! type; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.fc1: %D.ref as %.loc10_13 { +// 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: %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] @@ -940,12 +940,12 @@ fn F() { // CHECK:STDOUT: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] // CHECK:STDOUT: %ImplicitAs.type.cc7: type = generic_interface_type @ImplicitAs [concrete] // CHECK:STDOUT: %ImplicitAs.generic: %ImplicitAs.type.cc7 = struct_value () [concrete] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %Op.type.fc5: type = fn_type @Op.2, @impl.47e(%N) [symbolic] +// CHECK:STDOUT: %Op.type.fc5: type = fn_type @Op.2, @Negate.impl.47e(%N) [symbolic] // CHECK:STDOUT: %Op.8d0: %Op.type.fc5 = struct_value () [symbolic] -// CHECK:STDOUT: %Negate.impl_witness.943: = impl_witness imports.%Negate.impl_witness_table, @impl.47e(%int_32) [concrete] -// CHECK:STDOUT: %Op.type.66f: type = fn_type @Op.2, @impl.47e(%int_32) [concrete] +// CHECK:STDOUT: %Negate.impl_witness.943: = impl_witness imports.%Negate.impl_witness_table, @Negate.impl.47e(%int_32) [concrete] +// CHECK:STDOUT: %Op.type.66f: type = fn_type @Op.2, @Negate.impl.47e(%int_32) [concrete] // CHECK:STDOUT: %Op.5c0: %Op.type.66f = struct_value () [concrete] // CHECK:STDOUT: %Negate.facet: %Negate.type = facet_value %i32, (%Negate.impl_witness.943) [concrete] // CHECK:STDOUT: %.6f0: type = fn_type_with_self_type %Op.type.e42, %Negate.facet [concrete] @@ -956,8 +956,8 @@ fn F() { // CHECK:STDOUT: %int_2.ecc: Core.IntLiteral = int_value 2 [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.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -1012,11 +1012,11 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.Negate: type = import_ref Core//prelude/parts/int_literal, Negate, loaded [concrete = constants.%Negate.type] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: %Core.import_ref.5f5 = import_ref Core//prelude/parts/int, loc35_43, unloaded -// CHECK:STDOUT: %Core.import_ref.ff2: @impl.47e.%Op.type (%Op.type.fc5) = import_ref Core//prelude/parts/int, loc36_31, loaded [symbolic = @impl.47e.%Op (constants.%Op.8d0)] -// CHECK:STDOUT: %Negate.impl_witness_table = impl_witness_table (%Core.import_ref.5f5, %Core.import_ref.ff2), @impl.47e [concrete] +// CHECK:STDOUT: %Core.import_ref.ff2: @Negate.impl.47e.%Op.type (%Op.type.fc5) = import_ref Core//prelude/parts/int, loc36_31, loaded [symbolic = @Negate.impl.47e.%Op (constants.%Op.8d0)] +// CHECK:STDOUT: %Negate.impl_witness_table = impl_witness_table (%Core.import_ref.5f5, %Core.import_ref.ff2), @Negate.impl.47e [concrete] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -1154,7 +1154,7 @@ fn F() { // CHECK:STDOUT: assoc_const U:! type; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.939: %Self.ref as %.loc10_20 { +// 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: %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] @@ -1202,7 +1202,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @E { -// CHECK:STDOUT: impl_decl @impl.939 [concrete] {} { +// CHECK:STDOUT: impl_decl @J.impl [concrete] {} { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%E [concrete = constants.%E] // CHECK:STDOUT: %J.ref: type = name_ref J, file.%J.decl [concrete = constants.%J.type] // CHECK:STDOUT: %.Self: %J.type = bind_symbolic_name .Self [symbolic_self = constants.%.Self.968] @@ -1217,7 +1217,7 @@ fn F() { // CHECK:STDOUT: requirement_rewrite %impl.elem0, %i32 // CHECK:STDOUT: } // CHECK:STDOUT: } -// CHECK:STDOUT: %J.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant, @impl.939.%F.decl, @impl.939.%G.decl), @impl.939 [concrete] +// CHECK:STDOUT: %J.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant, @J.impl.%F.decl, @J.impl.%G.decl), @J.impl [concrete] // CHECK:STDOUT: %J.impl_witness: = impl_witness %J.impl_witness_table [concrete = constants.%J.impl_witness] // CHECK:STDOUT: %impl_witness_assoc_constant: type = impl_witness_assoc_constant constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete = constants.%empty_struct_type] @@ -1229,7 +1229,7 @@ fn F() { // CHECK:STDOUT: .J = // CHECK:STDOUT: .F = // CHECK:STDOUT: .G = -// CHECK:STDOUT: extend @impl.939.%.loc10_20 +// CHECK:STDOUT: extend @J.impl.%.loc10_20 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @F.1(@J.%Self: %J.type) { @@ -2084,10 +2084,10 @@ fn F() { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -2106,8 +2106,8 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -2356,7 +2356,7 @@ fn F() { // CHECK:STDOUT: assoc_const U:! type; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %Self.ref as %.loc9_20 { +// 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: %u.patt: = binding_pattern u [concrete] // CHECK:STDOUT: %u.param_patt: = value_param_pattern %u.patt, call_param0 [concrete] @@ -2393,7 +2393,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @E { -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @J.impl [concrete] {} { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%E [concrete = constants.%E] // CHECK:STDOUT: %J.ref: type = name_ref J, file.%J.decl [concrete = constants.%J.type] // CHECK:STDOUT: %.Self: %J.type = bind_symbolic_name .Self [symbolic_self = constants.%.Self] @@ -2408,7 +2408,7 @@ fn F() { // CHECK:STDOUT: requirement_rewrite %impl.elem0, %i32 // CHECK:STDOUT: } // CHECK:STDOUT: } -// CHECK:STDOUT: %J.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant, @impl.%F.decl.loc24_21.2), @impl [concrete] +// CHECK:STDOUT: %J.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant, @J.impl.%F.decl.loc24_21.2), @J.impl [concrete] // CHECK:STDOUT: %J.impl_witness: = impl_witness %J.impl_witness_table [concrete = constants.%J.impl_witness] // CHECK:STDOUT: %impl_witness_assoc_constant: type = impl_witness_assoc_constant constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete = constants.%empty_struct_type] @@ -2419,7 +2419,7 @@ fn F() { // CHECK:STDOUT: .Self = constants.%E // CHECK:STDOUT: .J = // CHECK:STDOUT: .U = -// CHECK:STDOUT: extend @impl.%.loc9_20 +// CHECK:STDOUT: extend @J.impl.%.loc9_20 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @F.1(@J.%Self: %J.type) { @@ -2437,9 +2437,9 @@ fn F() { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.3(%u.param: %i32) -> %i32 [thunk @impl.%F.decl.loc24_21.1] { +// CHECK:STDOUT: fn @F.3(%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, @impl.%F.decl.loc24_21.1 [concrete = constants.%F.b07d12.1] +// 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 // CHECK:STDOUT: %return.ref: ref %i32 = name_ref , %return.param // CHECK:STDOUT: %F.call: init = call %F.ref() @@ -2521,7 +2521,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %J2.decl: type = interface_decl @J2 [concrete = constants.%J2.type] {} {} -// CHECK:STDOUT: impl_decl @impl.4e9 [concrete] {} { +// CHECK:STDOUT: impl_decl @J2.impl.4e9 [concrete] {} { // CHECK:STDOUT: %.loc22_7.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc22_7.2: type = converted %.loc22_7.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %J2.ref: type = name_ref J2, file.%J2.decl [concrete = constants.%J2.type] @@ -2537,11 +2537,11 @@ fn F() { // CHECK:STDOUT: requirement_rewrite %impl.elem0, %.loc22_28.2 // CHECK:STDOUT: } // CHECK:STDOUT: } -// CHECK:STDOUT: %J2.impl_witness_table.loc22 = impl_witness_table (%impl_witness_assoc_constant.loc22, @impl.4e9.%F.decl.loc30_33.2), @impl.4e9 [concrete] +// CHECK:STDOUT: %J2.impl_witness_table.loc22 = impl_witness_table (%impl_witness_assoc_constant.loc22, @J2.impl.4e9.%F.decl.loc30_33.2), @J2.impl.4e9 [concrete] // CHECK:STDOUT: %J2.impl_witness.loc22: = impl_witness %J2.impl_witness_table.loc22 [concrete = constants.%J2.impl_witness.6a9] // CHECK:STDOUT: %impl_witness_assoc_constant.loc22: type = impl_witness_assoc_constant constants.%empty_struct_type [concrete = constants.%empty_struct_type] // CHECK:STDOUT: %C2.decl: type = class_decl @C2 [concrete = constants.%C2] {} {} -// CHECK:STDOUT: impl_decl @impl.8b3 [concrete] {} { +// CHECK:STDOUT: impl_decl @J2.impl.8b3 [concrete] {} { // CHECK:STDOUT: %C2.ref.loc38_6: type = name_ref C2, file.%C2.decl [concrete = constants.%C2] // CHECK:STDOUT: %J2.ref: type = name_ref J2, file.%J2.decl [concrete = constants.%J2.type] // CHECK:STDOUT: %.Self: %J2.type = bind_symbolic_name .Self [symbolic_self = constants.%.Self] @@ -2555,7 +2555,7 @@ fn F() { // CHECK:STDOUT: requirement_rewrite %impl.elem0, %C2.ref.loc38_27 // CHECK:STDOUT: } // CHECK:STDOUT: } -// CHECK:STDOUT: %J2.impl_witness_table.loc38 = impl_witness_table (%impl_witness_assoc_constant.loc38, @impl.8b3.%F.decl.loc39_33.2), @impl.8b3 [concrete] +// CHECK:STDOUT: %J2.impl_witness_table.loc38 = impl_witness_table (%impl_witness_assoc_constant.loc38, @J2.impl.8b3.%F.decl.loc39_33.2), @J2.impl.8b3 [concrete] // CHECK:STDOUT: %J2.impl_witness.loc38: = impl_witness %J2.impl_witness_table.loc38 [concrete = constants.%J2.impl_witness.267] // CHECK:STDOUT: %impl_witness_assoc_constant.loc38: type = impl_witness_assoc_constant constants.%C2 [concrete = constants.%C2] // CHECK:STDOUT: } @@ -2600,7 +2600,7 @@ fn F() { // CHECK:STDOUT: assoc_const U2:! type; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.4e9: %.loc22_7.2 as %.loc22_15 { +// 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: %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] @@ -2612,7 +2612,7 @@ fn F() { // CHECK:STDOUT: %.loc30_31.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc30_31.2: type = converted %.loc30_31.1, constants.%empty_struct_type [concrete = constants.%empty_struct_type] // CHECK:STDOUT: %self.param: %empty_tuple.type = value_param call_param0 -// CHECK:STDOUT: %Self.ref: type = name_ref Self, @impl.4e9.%.loc22_7.2 [concrete = constants.%empty_tuple.type] +// CHECK:STDOUT: %Self.ref: type = name_ref Self, @J2.impl.4e9.%.loc22_7.2 [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %self: %empty_tuple.type = bind_name self, %self.param // CHECK:STDOUT: %z.param: %empty_struct_type = value_param call_param1 // CHECK:STDOUT: %.loc30_24.1: type = splice_block %.loc30_24.3 [concrete = constants.%empty_struct_type] { @@ -2642,7 +2642,7 @@ fn F() { // CHECK:STDOUT: witness = file.%J2.impl_witness.loc22 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.8b3: %C2.ref.loc38_6 as %.loc38_15 { +// 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: %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] @@ -2653,7 +2653,7 @@ fn F() { // CHECK:STDOUT: } { // CHECK:STDOUT: %C2.ref.loc39_30: type = name_ref C2, file.%C2.decl [concrete = constants.%C2] // CHECK:STDOUT: %self.param: %C2 = value_param call_param0 -// CHECK:STDOUT: %Self.ref: type = name_ref Self, @impl.8b3.%C2.ref.loc38_6 [concrete = constants.%C2] +// CHECK:STDOUT: %Self.ref: type = name_ref Self, @J2.impl.8b3.%C2.ref.loc38_6 [concrete = constants.%C2] // CHECK:STDOUT: %self: %C2 = bind_name self, %self.param // CHECK:STDOUT: %z.param: %C2 = value_param call_param1 // CHECK:STDOUT: %C2.ref.loc39_23: type = name_ref C2, file.%C2.decl [concrete = constants.%C2] @@ -2706,9 +2706,9 @@ fn F() { // CHECK:STDOUT: return %z.ref // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.3(%self.param: %empty_tuple.type, %.param: ) -> [thunk @impl.4e9.%F.decl.loc30_33.1] { +// CHECK:STDOUT: fn @F.3(%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, @impl.4e9.%F.decl.loc30_33.1 [concrete = constants.%F.214a71.1] +// 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 // CHECK:STDOUT: %.ref: = name_ref , %.param // CHECK:STDOUT: %return.ref: ref = name_ref , %return.param @@ -2721,9 +2721,9 @@ fn F() { // CHECK:STDOUT: return %self.ref // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.5(%self.param: %C2, %.param: ) -> [thunk @impl.8b3.%F.decl.loc39_33.1] { +// CHECK:STDOUT: fn @F.5(%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, @impl.8b3.%F.decl.loc39_33.1 [concrete = constants.%F.bfa759.1] +// 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 // CHECK:STDOUT: %.ref: = name_ref , %.param // CHECK:STDOUT: %return.ref: ref = name_ref , %return.param @@ -2804,7 +2804,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %K.decl: type = interface_decl @K [concrete = constants.%K.type] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @K.impl [concrete] {} { // CHECK:STDOUT: %.loc8_7.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc8_7.2: type = converted %.loc8_7.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %K.ref: type = name_ref K, file.%K.decl [concrete = constants.%K.type] @@ -2821,7 +2821,7 @@ fn F() { // CHECK:STDOUT: requirement_rewrite %impl.elem0, %struct_type.a // CHECK:STDOUT: } // CHECK:STDOUT: } -// CHECK:STDOUT: %K.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant, @impl.%F.decl.loc16_45.2), @impl [concrete] +// CHECK:STDOUT: %K.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant, @K.impl.%F.decl.loc16_45.2), @K.impl [concrete] // CHECK:STDOUT: %K.impl_witness: = impl_witness %K.impl_witness_table [concrete = constants.%K.impl_witness] // CHECK:STDOUT: %impl_witness_assoc_constant: type = impl_witness_assoc_constant constants.%struct_type.a [concrete = constants.%struct_type.a] // CHECK:STDOUT: } @@ -2870,7 +2870,7 @@ fn F() { // CHECK:STDOUT: assoc_const V:! type; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %.loc8_7.2 as %.loc8_14 { +// 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: %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] @@ -2883,7 +2883,7 @@ fn F() { // CHECK:STDOUT: %.loc16_42.2: type = converted %.loc16_42.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %struct_type.x.loc16_43: type = struct_type {.x: %empty_tuple.type} [concrete = constants.%struct_type.x] // CHECK:STDOUT: %self.param: %empty_tuple.type = value_param call_param0 -// CHECK:STDOUT: %Self.ref: type = name_ref Self, @impl.%.loc8_7.2 [concrete = constants.%empty_tuple.type] +// CHECK:STDOUT: %Self.ref: type = name_ref Self, @K.impl.%.loc8_7.2 [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %self: %empty_tuple.type = bind_name self, %self.param // CHECK:STDOUT: %v.param: %struct_type.x = value_param call_param1 // CHECK:STDOUT: %.loc16_30: type = splice_block %struct_type.x.loc16_30 [concrete = constants.%struct_type.x] { @@ -2933,9 +2933,9 @@ fn F() { // 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 @impl.%F.decl.loc16_45.1] { +// 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: !entry: -// CHECK:STDOUT: %F.ref: %F.type.c5249c.1 = name_ref F, @impl.%F.decl.loc16_45.1 [concrete = constants.%F.5eb4dd.1] +// 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 // CHECK:STDOUT: %v.ref: %struct_type.a = name_ref v, %v.param // CHECK:STDOUT: %return.ref: ref %struct_type.a = name_ref , %return.param @@ -3008,7 +3008,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %M.decl: type = interface_decl @M [concrete = constants.%M.type] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @M.impl [concrete] {} { // CHECK:STDOUT: %.loc8_7.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc8_7.2: type = converted %.loc8_7.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %M.ref: type = name_ref M, file.%M.decl [concrete = constants.%M.type] @@ -3028,7 +3028,7 @@ fn F() { // CHECK:STDOUT: requirement_rewrite %impl.elem0, %.loc8_33.3 // CHECK:STDOUT: } // CHECK:STDOUT: } -// CHECK:STDOUT: %M.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant, @impl.%G.decl), @impl [concrete] +// CHECK:STDOUT: %M.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant, @M.impl.%G.decl), @M.impl [concrete] // CHECK:STDOUT: %M.impl_witness: = impl_witness %M.impl_witness_table [concrete = constants.%M.impl_witness] // CHECK:STDOUT: %impl_witness_assoc_constant: %struct_type.b.347 = impl_witness_assoc_constant constants.%struct [concrete = constants.%struct] // CHECK:STDOUT: } @@ -3060,7 +3060,7 @@ fn F() { // CHECK:STDOUT: assoc_const Z:! %struct_type.b.347; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %.loc8_7.2 as %.loc8_14 { +// 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: %return.patt: %pattern_type = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type = out_param_pattern %return.patt, call_param0 [concrete] @@ -3083,7 +3083,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: fn @G.2() -> %empty_struct_type { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %Self.ref: type = name_ref Self, @impl.%.loc8_7.2 [concrete = constants.%empty_tuple.type] +// 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] // CHECK:STDOUT: %M.facet: %M.type = facet_value constants.%empty_tuple.type, (constants.%M.impl_witness) [concrete = constants.%M.facet.56b] // CHECK:STDOUT: %.loc10_18: %M.type = converted %Self.ref, %M.facet [concrete = constants.%M.facet.56b] @@ -3167,7 +3167,7 @@ fn F() { // CHECK:STDOUT: %T.loc3_9.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc3_9.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %M.decl: type = interface_decl @M [concrete = constants.%M.type] {} {} -// CHECK:STDOUT: impl_decl @impl.8b4 [concrete] {} { +// CHECK:STDOUT: impl_decl @M.impl.8b4 [concrete] {} { // CHECK:STDOUT: %C.ref: %C.type = name_ref C, file.%C.decl [concrete = constants.%C.generic] // CHECK:STDOUT: %.loc10_9: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc10_10: type = converted %.loc10_9, constants.%empty_struct_type [concrete = constants.%empty_struct_type] @@ -3188,10 +3188,10 @@ fn F() { // CHECK:STDOUT: requirement_rewrite %impl.elem0, %.loc10_36.3 // CHECK:STDOUT: } // CHECK:STDOUT: } -// CHECK:STDOUT: %M.impl_witness_table.loc10 = impl_witness_table (%impl_witness_assoc_constant.loc10, @impl.8b4.%G.decl), @impl.8b4 [concrete] +// CHECK:STDOUT: %M.impl_witness_table.loc10 = impl_witness_table (%impl_witness_assoc_constant.loc10, @M.impl.8b4.%G.decl), @M.impl.8b4 [concrete] // CHECK:STDOUT: %M.impl_witness.loc10: = impl_witness %M.impl_witness_table.loc10 [concrete = constants.%M.impl_witness.baa] // CHECK:STDOUT: %impl_witness_assoc_constant.loc10: %struct_type.b.86f = impl_witness_assoc_constant constants.%struct.0f3 [concrete = constants.%struct.0f3] -// CHECK:STDOUT: impl_decl @impl.d97 [concrete] {} { +// CHECK:STDOUT: impl_decl @M.impl.d97 [concrete] {} { // CHECK:STDOUT: %C.ref: %C.type = name_ref C, file.%C.decl [concrete = constants.%C.generic] // CHECK:STDOUT: %.loc16_9: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc16_10: type = converted %.loc16_9, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -3212,7 +3212,7 @@ fn F() { // CHECK:STDOUT: requirement_rewrite %impl.elem0, %.loc16_36.3 // CHECK:STDOUT: } // CHECK:STDOUT: } -// CHECK:STDOUT: %M.impl_witness_table.loc16 = impl_witness_table (%impl_witness_assoc_constant.loc16, @impl.d97.%G.decl), @impl.d97 [concrete] +// CHECK:STDOUT: %M.impl_witness_table.loc16 = impl_witness_table (%impl_witness_assoc_constant.loc16, @M.impl.d97.%G.decl), @M.impl.d97 [concrete] // CHECK:STDOUT: %M.impl_witness.loc16: = impl_witness %M.impl_witness_table.loc16 [concrete = constants.%M.impl_witness.feb] // CHECK:STDOUT: %impl_witness_assoc_constant.loc16: %struct_type.b.86f = impl_witness_assoc_constant constants.%struct.c94 [concrete = constants.%struct.c94] // CHECK:STDOUT: } @@ -3242,7 +3242,7 @@ fn F() { // CHECK:STDOUT: assoc_const Z:! %struct_type.b.86f; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.8b4: %C as %.loc10_17 { +// 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: %return.patt: %pattern_type = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type = out_param_pattern %return.patt, call_param0 [concrete] @@ -3257,7 +3257,7 @@ fn F() { // CHECK:STDOUT: witness = file.%M.impl_witness.loc10 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.d97: %C as %.loc16_17 { +// 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: %return.patt: %pattern_type = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type = out_param_pattern %return.patt, call_param0 [concrete] @@ -3293,7 +3293,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: fn @G.2() -> type { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %Self.ref: type = name_ref Self, @impl.8b4.%C [concrete = constants.%C.7a7] +// 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] // CHECK:STDOUT: %M.facet: %M.type = facet_value constants.%C.7a7, (constants.%M.impl_witness.baa) [concrete = constants.%M.facet.1dc] // CHECK:STDOUT: %.loc12_18: %M.type = converted %Self.ref, %M.facet [concrete = constants.%M.facet.1dc] @@ -3307,7 +3307,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: fn @G.3() -> type { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %Self.ref: type = name_ref Self, @impl.d97.%C [concrete = constants.%C.3a0] +// 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] // CHECK:STDOUT: %M.facet: %M.type = facet_value constants.%C.3a0, (constants.%M.impl_witness.feb) [concrete = constants.%M.facet.80d] // CHECK:STDOUT: %.loc18_18: %M.type = converted %Self.ref, %M.facet [concrete = constants.%M.facet.80d] @@ -3369,13 +3369,13 @@ fn F() { // CHECK:STDOUT: %ImplicitAs.type.2fd: type = facet_type <@ImplicitAs, @ImplicitAs(Core.IntLiteral)> [concrete] // CHECK:STDOUT: %Convert.type.71e: type = fn_type @Convert.1, @ImplicitAs(Core.IntLiteral) [concrete] // CHECK:STDOUT: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] // CHECK:STDOUT: %From: Core.IntLiteral = bind_symbolic_name From, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.708: type = fn_type @Convert.3, @impl.971(%From) [symbolic] +// CHECK:STDOUT: %Convert.type.708: type = fn_type @Convert.3, @ImplicitAs.impl.971(%From) [symbolic] // CHECK:STDOUT: %Convert.c68: %Convert.type.708 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a11: = impl_witness imports.%ImplicitAs.impl_witness_table.1d9, @impl.971(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.4ad: type = fn_type @Convert.3, @impl.971(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a11: = impl_witness imports.%ImplicitAs.impl_witness_table.1d9, @ImplicitAs.impl.971(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.4ad: type = fn_type @Convert.3, @ImplicitAs.impl.971(%int_32) [concrete] // CHECK:STDOUT: %Convert.960: %Convert.type.4ad = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.f49: %ImplicitAs.type.2fd = facet_value %i32, (%ImplicitAs.impl_witness.a11) [concrete] // CHECK:STDOUT: %.0ea: type = fn_type_with_self_type %Convert.type.71e, %ImplicitAs.facet.f49 [concrete] @@ -3396,8 +3396,8 @@ fn F() { // CHECK:STDOUT: %int_2.ecc: Core.IntLiteral = int_value 2 [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.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.921: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet.921 [concrete] @@ -3434,10 +3434,10 @@ fn F() { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.Bool: %Bool.type = import_ref Core//prelude/parts/bool, Bool, loaded [concrete = constants.%Bool] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] -// CHECK:STDOUT: %Core.import_ref.85c: @impl.971.%Convert.type (%Convert.type.708) = import_ref Core//prelude/parts/int, loc20_44, loaded [symbolic = @impl.971.%Convert (constants.%Convert.c68)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1d9 = impl_witness_table (%Core.import_ref.85c), @impl.971 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.85c: @ImplicitAs.impl.971.%Convert.type (%Convert.type.708) = import_ref Core//prelude/parts/int, loc20_44, loaded [symbolic = @ImplicitAs.impl.971.%Convert (constants.%Convert.c68)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1d9 = impl_witness_table (%Core.import_ref.85c), @ImplicitAs.impl.971 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -3447,7 +3447,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %I.decl: type = interface_decl @I [concrete = constants.%I.type] {} {} -// CHECK:STDOUT: impl_decl @impl.9a6 [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl [concrete] {} { // CHECK:STDOUT: %.loc8_7.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc8_7.2: type = converted %.loc8_7.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] @@ -3469,7 +3469,7 @@ fn F() { // CHECK:STDOUT: requirement_rewrite %impl.elem0.loc8_20, %.loc8_25.2 // CHECK:STDOUT: } // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant, @impl.9a6.%F.decl), @impl.9a6 [concrete] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant, @I.impl.%F.decl), @I.impl [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness] // CHECK:STDOUT: %impl_witness_assoc_constant: %i32 = impl_witness_assoc_constant constants.%int_2.ef8 [concrete = constants.%int_2.ef8] // CHECK:STDOUT: } @@ -3521,7 +3521,7 @@ fn F() { // CHECK:STDOUT: assoc_const N:! %i32; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.9a6: %.loc8_7.2 as %.loc8_14 { +// 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: %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] @@ -3534,7 +3534,7 @@ fn F() { // CHECK:STDOUT: %.loc9_31.2: type = converted %bool.make_type, %.loc9_31.1 [concrete = bool] // CHECK:STDOUT: %array_type: type = array_type %int_2, %.loc9_31.2 [concrete = constants.%array_type.c9b] // CHECK:STDOUT: %self.param: %empty_tuple.type = value_param call_param0 -// CHECK:STDOUT: %Self.ref: type = name_ref Self, @impl.9a6.%.loc8_7.2 [concrete = constants.%empty_tuple.type] +// CHECK:STDOUT: %Self.ref: type = name_ref Self, @I.impl.%.loc8_7.2 [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %self: %empty_tuple.type = bind_name self, %self.param // CHECK:STDOUT: %return.param: ref %array_type.c9b = out_param call_param1 // CHECK:STDOUT: %return: ref %array_type.c9b = return_slot %return.param @@ -3631,18 +3631,18 @@ fn F() { // CHECK:STDOUT: %impl.elem0: type = impl_witness_access %Z.lookup_impl_witness, element0 [symbolic_self] // CHECK:STDOUT: %Z_where.type.585: type = facet_type <@Z where %impl.elem0 = %C.f2e> [symbolic] // CHECK:STDOUT: %require_complete.747: = require_complete_type %Z_where.type.585 [symbolic] -// CHECK:STDOUT: %Z.impl_witness.8bc: = impl_witness file.%Z.impl_witness_table, @impl.560(%T) [symbolic] +// CHECK:STDOUT: %Z.impl_witness.8bc: = impl_witness file.%Z.impl_witness_table, @Z.impl(%T) [symbolic] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: %C.131: type = class_type @C, @C(%D) [concrete] // CHECK:STDOUT: %Z_where.type.1a6: type = facet_type <@Z where %impl.elem0 = %C.131> [concrete] // CHECK:STDOUT: %complete_type.00b: = complete_type_witness %Z_where.type.1a6 [concrete] -// CHECK:STDOUT: %Z.impl_witness.19e: = impl_witness file.%Z.impl_witness_table, @impl.560(%D) [concrete] +// CHECK:STDOUT: %Z.impl_witness.19e: = impl_witness file.%Z.impl_witness_table, @Z.impl(%D) [concrete] // CHECK:STDOUT: %Z.facet.f2a: %Z.type = facet_value %D, (%Z.impl_witness.19e) [concrete] // CHECK:STDOUT: %pattern_type.7f8: type = pattern_type %C.131 [concrete] // CHECK:STDOUT: %C.val: %C.131 = struct_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.b84: type = fn_type @Op.2, @impl.49c(%C.131) [concrete] +// CHECK:STDOUT: %Op.type.b84: type = fn_type @Op.2, @Destroy.impl(%C.131) [concrete] // CHECK:STDOUT: %Op.e16: %Op.type.b84 = struct_value () [concrete] // CHECK:STDOUT: %ptr.aaa: type = ptr_type %C.131 [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.e16, @Op.2(%C.131) [concrete] @@ -3673,7 +3673,7 @@ fn F() { // CHECK:STDOUT: %T.loc6_9.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc6_9.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %D.decl: type = class_decl @D [concrete = constants.%D] {} {} -// CHECK:STDOUT: impl_decl @impl.560 [concrete] { +// CHECK:STDOUT: impl_decl @Z.impl [concrete] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc9_24: type = name_ref T, %T.loc9_14.1 [symbolic = %T.loc9_14.2 (constants.%T)] @@ -3692,9 +3692,9 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc9_14.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc9_14.2 (constants.%T)] // CHECK:STDOUT: } -// CHECK:STDOUT: %Z.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant), @impl.560 [concrete] -// CHECK:STDOUT: %Z.impl_witness: = impl_witness %Z.impl_witness_table, @impl.560(constants.%T) [symbolic = @impl.560.%Z.impl_witness (constants.%Z.impl_witness.8bc)] -// CHECK:STDOUT: %impl_witness_assoc_constant: type = impl_witness_assoc_constant constants.%C.f2e [symbolic = @impl.560.%C.loc9_45.2 (constants.%C.f2e)] +// CHECK:STDOUT: %Z.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant), @Z.impl [concrete] +// CHECK:STDOUT: %Z.impl_witness: = impl_witness %Z.impl_witness_table, @Z.impl(constants.%T) [symbolic = @Z.impl.%Z.impl_witness (constants.%Z.impl_witness.8bc)] +// CHECK:STDOUT: %impl_witness_assoc_constant: type = impl_witness_assoc_constant constants.%C.f2e [symbolic = @Z.impl.%C.loc9_45.2 (constants.%C.f2e)] // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] {} {} // CHECK:STDOUT: } // CHECK:STDOUT: @@ -3714,12 +3714,12 @@ fn F() { // CHECK:STDOUT: assoc_const X:! type; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl.560(%T.loc9_14.1: type) { +// CHECK:STDOUT: generic impl @Z.impl(%T.loc9_14.1: type) { // CHECK:STDOUT: %T.loc9_14.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc9_14.2 (constants.%T)] // CHECK:STDOUT: %C.loc9_45.2: type = class_type @C, @C(%T.loc9_14.2) [symbolic = %C.loc9_45.2 (constants.%C.f2e)] // CHECK:STDOUT: %Z_where.type: type = facet_type <@Z where constants.%impl.elem0 = %C.loc9_45.2> [symbolic = %Z_where.type (constants.%Z_where.type.585)] // CHECK:STDOUT: %require_complete: = require_complete_type %Z_where.type [symbolic = %require_complete (constants.%require_complete.747)] -// CHECK:STDOUT: %Z.impl_witness: = impl_witness file.%Z.impl_witness_table, @impl.560(%T.loc9_14.2) [symbolic = %Z.impl_witness (constants.%Z.impl_witness.8bc)] +// CHECK:STDOUT: %Z.impl_witness: = impl_witness file.%Z.impl_witness_table, @Z.impl(%T.loc9_14.2) [symbolic = %Z.impl_witness (constants.%Z.impl_witness.8bc)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: @@ -3792,7 +3792,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: specific @X(constants.%Z.facet.2a2) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.560(constants.%T) { +// CHECK:STDOUT: specific @Z.impl(constants.%T) { // CHECK:STDOUT: %T.loc9_14.2 => constants.%T // CHECK:STDOUT: %C.loc9_45.2 => constants.%C.f2e // CHECK:STDOUT: %Z_where.type => constants.%Z_where.type.585 @@ -3800,7 +3800,7 @@ fn F() { // CHECK:STDOUT: %Z.impl_witness => constants.%Z.impl_witness.8bc // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.560(constants.%D) { +// CHECK:STDOUT: specific @Z.impl(constants.%D) { // CHECK:STDOUT: %T.loc9_14.2 => constants.%D // CHECK:STDOUT: %C.loc9_45.2 => constants.%C.131 // CHECK:STDOUT: %Z_where.type => constants.%Z_where.type.1a6 diff --git a/toolchain/check/testdata/index/array_element_access.carbon b/toolchain/check/testdata/index/array_element_access.carbon index 2c91659fe5d1..ac6c1367b1dc 100644 --- a/toolchain/check/testdata/index/array_element_access.carbon +++ b/toolchain/check/testdata/index/array_element_access.carbon @@ -36,10 +36,10 @@ var d: i32 = a[b]; // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -70,8 +70,8 @@ var d: i32 = a[b]; // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/index/expr_category.carbon b/toolchain/check/testdata/index/expr_category.carbon index 73fced2c2884..f3f2248281d8 100644 --- a/toolchain/check/testdata/index/expr_category.carbon +++ b/toolchain/check/testdata/index/expr_category.carbon @@ -57,10 +57,10 @@ fn ValueBinding(b: array(i32, 3)) { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -85,11 +85,11 @@ fn ValueBinding(b: array(i32, 3)) { // CHECK:STDOUT: %bound_method.1da: = bound_method %int_4.0c1, %Convert.specific_fn [concrete] // CHECK:STDOUT: %int_4.940: %i32 = int_value 4 [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.ba2: type = fn_type @Op.3, @impl.49c(%ptr.235) [concrete] +// CHECK:STDOUT: %Op.type.ba2: type = fn_type @Op.3, @Destroy.impl(%ptr.235) [concrete] // CHECK:STDOUT: %Op.649: %Op.type.ba2 = struct_value () [concrete] // CHECK:STDOUT: %ptr.5d5: type = ptr_type %ptr.235 [concrete] // CHECK:STDOUT: %Op.specific_fn.829: = specific_function %Op.649, @Op.3(%ptr.235) [concrete] -// CHECK:STDOUT: %Op.type.1e4: type = fn_type @Op.3, @impl.49c(%array_type) [concrete] +// CHECK:STDOUT: %Op.type.1e4: type = fn_type @Op.3, @Destroy.impl(%array_type) [concrete] // CHECK:STDOUT: %Op.f0b: %Op.type.1e4 = struct_value () [concrete] // CHECK:STDOUT: %Op.specific_fn.c51: = specific_function %Op.f0b, @Op.3(%array_type) [concrete] // CHECK:STDOUT: %ValueBinding.type: type = fn_type @ValueBinding [concrete] @@ -106,8 +106,8 @@ fn ValueBinding(b: array(i32, 3)) { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/index/fail_array_large_index.carbon b/toolchain/check/testdata/index/fail_array_large_index.carbon index 5d11abcab67c..8d4b62b0e376 100644 --- a/toolchain/check/testdata/index/fail_array_large_index.carbon +++ b/toolchain/check/testdata/index/fail_array_large_index.carbon @@ -44,10 +44,10 @@ var c: i32 = a[0x7FFF_FFFF]; // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -75,8 +75,8 @@ var c: i32 = a[0x7FFF_FFFF]; // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/index/fail_array_non_int_indexing.carbon b/toolchain/check/testdata/index/fail_array_non_int_indexing.carbon index 97e4c6a2d3ed..027fbaab22a2 100644 --- a/toolchain/check/testdata/index/fail_array_non_int_indexing.carbon +++ b/toolchain/check/testdata/index/fail_array_non_int_indexing.carbon @@ -40,10 +40,10 @@ var b: i32 = a[2.6]; // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -65,8 +65,8 @@ var b: i32 = a[2.6]; // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/index/fail_array_out_of_bound_access.carbon b/toolchain/check/testdata/index/fail_array_out_of_bound_access.carbon index b29e76d8b7ce..9eda33a7db1c 100644 --- a/toolchain/check/testdata/index/fail_array_out_of_bound_access.carbon +++ b/toolchain/check/testdata/index/fail_array_out_of_bound_access.carbon @@ -37,10 +37,10 @@ var b: i32 = a[1]; // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -64,8 +64,8 @@ var b: i32 = a[1]; // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/index/fail_expr_category.carbon b/toolchain/check/testdata/index/fail_expr_category.carbon index 928f95f5a6e4..553fc17dda8d 100644 --- a/toolchain/check/testdata/index/fail_expr_category.carbon +++ b/toolchain/check/testdata/index/fail_expr_category.carbon @@ -65,10 +65,10 @@ fn G(b: array(i32, 3)) { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -81,10 +81,10 @@ fn G(b: array(i32, 3)) { // CHECK:STDOUT: %bound_method.1da: = bound_method %int_4.0c1, %Convert.specific_fn [concrete] // CHECK:STDOUT: %int_4.940: %i32 = int_value 4 [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.1e4: type = fn_type @Op.3, @impl.49c(%array_type) [concrete] +// CHECK:STDOUT: %Op.type.1e4: type = fn_type @Op.3, @Destroy.impl(%array_type) [concrete] // CHECK:STDOUT: %Op.f0b: %Op.type.1e4 = struct_value () [concrete] // CHECK:STDOUT: %Op.specific_fn.c51: = specific_function %Op.f0b, @Op.3(%array_type) [concrete] -// CHECK:STDOUT: %Op.type.ba2: type = fn_type @Op.3, @impl.49c(%ptr.235) [concrete] +// CHECK:STDOUT: %Op.type.ba2: type = fn_type @Op.3, @Destroy.impl(%ptr.235) [concrete] // CHECK:STDOUT: %Op.649: %Op.type.ba2 = struct_value () [concrete] // CHECK:STDOUT: %ptr.5d5: type = ptr_type %ptr.235 [concrete] // CHECK:STDOUT: %Op.specific_fn.829: = specific_function %Op.649, @Op.3(%ptr.235) [concrete] @@ -100,8 +100,8 @@ fn G(b: array(i32, 3)) { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/index/fail_name_not_found.carbon b/toolchain/check/testdata/index/fail_name_not_found.carbon index 5f26a271b064..a3fee2c4f490 100644 --- a/toolchain/check/testdata/index/fail_name_not_found.carbon +++ b/toolchain/check/testdata/index/fail_name_not_found.carbon @@ -33,7 +33,7 @@ fn Main() { // CHECK:STDOUT: %pattern_type.7ce: type = pattern_type %i32 [concrete] // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.a17: type = fn_type @Op.3, @impl.49c(%i32) [concrete] +// CHECK:STDOUT: %Op.type.a17: type = fn_type @Op.3, @Destroy.impl(%i32) [concrete] // CHECK:STDOUT: %Op.e6a: %Op.type.a17 = struct_value () [concrete] // CHECK:STDOUT: %ptr.235: type = ptr_type %i32 [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.e6a, @Op.3(%i32) [concrete] diff --git a/toolchain/check/testdata/index/fail_negative_indexing.carbon b/toolchain/check/testdata/index/fail_negative_indexing.carbon index 04db06837f70..cefad4cfe6ed 100644 --- a/toolchain/check/testdata/index/fail_negative_indexing.carbon +++ b/toolchain/check/testdata/index/fail_negative_indexing.carbon @@ -38,11 +38,11 @@ var d: i32 = c[-10]; // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] // CHECK:STDOUT: %Negate.type: type = facet_type <@Negate> [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -77,12 +77,12 @@ var d: i32 = c[-10]; // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: %Core.Negate: type = import_ref Core//prelude/parts/int_literal, Negate, loaded [concrete = constants.%Negate.type] // CHECK:STDOUT: %Core.import_ref.abd = import_ref Core//prelude/parts/int_literal, loc13_50, unloaded // CHECK:STDOUT: %Core.import_ref.5e6: %Op.type.18a = import_ref Core//prelude/parts/int_literal, loc14_31, loaded [concrete = constants.%Op.99f] -// CHECK:STDOUT: %Negate.impl_witness_table.b22 = impl_witness_table (%Core.import_ref.abd, %Core.import_ref.5e6), @impl.0ef [concrete] +// CHECK:STDOUT: %Negate.impl_witness_table.b22 = impl_witness_table (%Core.import_ref.abd, %Core.import_ref.5e6), @Negate.impl.0ef [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/interface/compound_member_access.carbon b/toolchain/check/testdata/interface/compound_member_access.carbon index 104f7e6ebc06..5b94eb072226 100644 --- a/toolchain/check/testdata/interface/compound_member_access.carbon +++ b/toolchain/check/testdata/interface/compound_member_access.carbon @@ -1232,7 +1232,7 @@ fn Works() { // CHECK:STDOUT: %ImplicitAs.type.cc7: type = generic_interface_type @ImplicitAs [concrete] // CHECK:STDOUT: %ImplicitAs.generic: %ImplicitAs.type.cc7 = struct_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.153: type = fn_type @Op.4, @impl.49c(%C) [concrete] +// CHECK:STDOUT: %Op.type.153: type = fn_type @Op.4, @Destroy.impl(%C) [concrete] // CHECK:STDOUT: %Op.5d7: %Op.type.153 = struct_value () [concrete] // CHECK:STDOUT: %ptr.019: type = ptr_type %C [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.5d7, @Op.4(%C) [concrete] @@ -1248,7 +1248,7 @@ fn Works() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.BitAndWith: %BitAndWith.type.f2e = import_ref Core//prelude, BitAndWith, loaded [concrete = constants.%BitAndWith.generic] // CHECK:STDOUT: %Core.import_ref.012: %Op.type.1cc = import_ref Core//prelude, loc13_42, loaded [concrete = constants.%Op.ff4] -// CHECK:STDOUT: %BitAndWith.impl_witness_table = impl_witness_table (%Core.import_ref.012), @impl.865 [concrete] +// CHECK:STDOUT: %BitAndWith.impl_witness_table = impl_witness_table (%Core.import_ref.012), @BitAndWith.impl [concrete] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } @@ -1263,11 +1263,11 @@ fn Works() { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %A.decl: type = interface_decl @A [concrete = constants.%A.type] {} {} // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} -// CHECK:STDOUT: impl_decl @impl.77d [concrete] {} { +// CHECK:STDOUT: impl_decl @A.impl [concrete] {} { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [concrete = constants.%A.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %A.impl_witness_table = impl_witness_table (@impl.77d.%G.decl), @impl.77d [concrete] +// CHECK:STDOUT: %A.impl_witness_table = impl_witness_table (@A.impl.%G.decl), @A.impl [concrete] // CHECK:STDOUT: %A.impl_witness: = impl_witness %A.impl_witness_table [concrete = constants.%A.impl_witness] // CHECK:STDOUT: %Fails.decl: %Fails.type = fn_decl @Fails [concrete = constants.%Fails] {} {} // CHECK:STDOUT: } @@ -1283,7 +1283,7 @@ fn Works() { // CHECK:STDOUT: witness = (%G.decl) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.77d: %C.ref as %A.ref { +// 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: // CHECK:STDOUT: !members: @@ -1432,7 +1432,7 @@ fn Works() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.BitAndWith: %BitAndWith.type.f2e = import_ref Core//prelude, BitAndWith, loaded [concrete = constants.%BitAndWith.generic] // CHECK:STDOUT: %Core.import_ref.012: %Op.type.1cc = import_ref Core//prelude, loc13_42, loaded [concrete = constants.%Op.ff4] -// CHECK:STDOUT: %BitAndWith.impl_witness_table = impl_witness_table (%Core.import_ref.012), @impl.865 [concrete] +// CHECK:STDOUT: %BitAndWith.impl_witness_table = impl_witness_table (%Core.import_ref.012), @BitAndWith.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -1445,11 +1445,11 @@ fn Works() { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %A.decl: type = interface_decl @A [concrete = constants.%A.type] {} {} // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} -// CHECK:STDOUT: impl_decl @impl.77d [concrete] {} { +// CHECK:STDOUT: impl_decl @A.impl [concrete] {} { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [concrete = constants.%A.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %A.impl_witness_table = impl_witness_table (@impl.77d.%G.decl), @impl.77d [concrete] +// CHECK:STDOUT: %A.impl_witness_table = impl_witness_table (@A.impl.%G.decl), @A.impl [concrete] // CHECK:STDOUT: %A.impl_witness: = impl_witness %A.impl_witness_table [concrete = constants.%A.impl_witness] // CHECK:STDOUT: %Works.decl: %Works.type = fn_decl @Works [concrete = constants.%Works] {} {} // CHECK:STDOUT: } @@ -1465,7 +1465,7 @@ fn Works() { // CHECK:STDOUT: witness = (%G.decl) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.77d: %C.ref as %A.ref { +// 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: // CHECK:STDOUT: !members: diff --git a/toolchain/check/testdata/interface/default_fn.carbon b/toolchain/check/testdata/interface/default_fn.carbon index 263a2e6ba930..deb4af95f2e9 100644 --- a/toolchain/check/testdata/interface/default_fn.carbon +++ b/toolchain/check/testdata/interface/default_fn.carbon @@ -51,7 +51,7 @@ class C { // CHECK:STDOUT: %C.val: %C = struct_value () [concrete] // CHECK:STDOUT: %.e5b: type = fn_type_with_self_type %F.type.0b5, %I.facet [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.153: type = fn_type @Op.2, @impl.49c(%C) [concrete] +// CHECK:STDOUT: %Op.type.153: type = fn_type @Op.2, @Destroy.impl(%C) [concrete] // CHECK:STDOUT: %Op.5d7: %Op.type.153 = struct_value () [concrete] // CHECK:STDOUT: %ptr.019: type = ptr_type %C [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.5d7, @Op.2(%C) [concrete] @@ -99,13 +99,13 @@ class C { // CHECK:STDOUT: witness = (%F.decl) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.c1a: %C.ref as %I.ref { +// 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: %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: } { // CHECK:STDOUT: %self.param: %C = value_param call_param0 -// CHECK:STDOUT: %Self.ref: type = name_ref Self, @impl.c1a.%C.ref [concrete = constants.%C] +// CHECK:STDOUT: %Self.ref: type = name_ref Self, @I.impl.%C.ref [concrete = constants.%C] // CHECK:STDOUT: %self: %C = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: @@ -116,11 +116,11 @@ class C { // CHECK:STDOUT: // CHECK:STDOUT: class @C { // CHECK:STDOUT: %I.decl: type = interface_decl @I [concrete = constants.%I.type] {} {} -// CHECK:STDOUT: impl_decl @impl.c1a [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl [concrete] {} { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %I.ref: type = name_ref I, @C.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (@impl.c1a.%F.decl), @impl.c1a [concrete] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (@I.impl.%F.decl), @I.impl [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness] // 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] diff --git a/toolchain/check/testdata/interface/fail_assoc_const_alias.carbon b/toolchain/check/testdata/interface/fail_assoc_const_alias.carbon index 0398b43c18fd..d9eea32ad80a 100644 --- a/toolchain/check/testdata/interface/fail_assoc_const_alias.carbon +++ b/toolchain/check/testdata/interface/fail_assoc_const_alias.carbon @@ -277,10 +277,10 @@ interface C { // CHECK:STDOUT: %impl.elem0.dde: type = impl_witness_access %I2.lookup_impl_witness.ebe, element0 [symbolic_self] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %I2_where.type: type = facet_type <@I2 where %impl.elem0.dde = %empty_tuple.type> [concrete] -// CHECK:STDOUT: %I2.impl_witness.2ab13d.1: = impl_witness file.%I2.impl_witness_table, @impl(%V) [symbolic] +// CHECK:STDOUT: %I2.impl_witness.2ab13d.1: = impl_witness file.%I2.impl_witness_table, @I2.impl(%V) [symbolic] // CHECK:STDOUT: %Self.541: %J2.type = bind_symbolic_name Self, 0 [symbolic] // CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self.541 [symbolic] -// CHECK:STDOUT: %I2.impl_witness.2ab13d.2: = impl_witness file.%I2.impl_witness_table, @impl(%Self.541) [symbolic] +// CHECK:STDOUT: %I2.impl_witness.2ab13d.2: = impl_witness file.%I2.impl_witness_table, @I2.impl(%Self.541) [symbolic] // CHECK:STDOUT: %I2.lookup_impl_witness.487: = lookup_impl_witness %Self.541, @I2 [symbolic] // CHECK:STDOUT: %I2.facet.758: %I2.type = facet_value %Self.as_type, (%I2.lookup_impl_witness.487) [symbolic] // CHECK:STDOUT: %impl.elem0.7c7: type = impl_witness_access %I2.lookup_impl_witness.487, element0 [symbolic] @@ -306,7 +306,7 @@ interface C { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %I2.decl: type = interface_decl @I2 [concrete = constants.%I2.type] {} {} // CHECK:STDOUT: %J2.decl.loc9: type = interface_decl @J2 [concrete = constants.%J2.type] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] { +// CHECK:STDOUT: impl_decl @I2.impl [concrete] { // CHECK:STDOUT: %V.patt: %pattern_type.f47 = symbolic_binding_pattern V, 0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %V.ref: %J2.type = name_ref V, %V.loc11_14.1 [symbolic = %V.loc11_14.2 (constants.%V)] @@ -327,8 +327,8 @@ interface C { // CHECK:STDOUT: %J2.ref: type = name_ref J2, file.%J2.decl.loc9 [concrete = constants.%J2.type] // CHECK:STDOUT: %V.loc11_14.1: %J2.type = bind_symbolic_name V, 0 [symbolic = %V.loc11_14.2 (constants.%V)] // CHECK:STDOUT: } -// CHECK:STDOUT: %I2.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant), @impl [concrete] -// CHECK:STDOUT: %I2.impl_witness: = impl_witness %I2.impl_witness_table, @impl(constants.%V) [symbolic = @impl.%I2.impl_witness (constants.%I2.impl_witness.2ab13d.1)] +// CHECK:STDOUT: %I2.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant), @I2.impl [concrete] +// CHECK:STDOUT: %I2.impl_witness: = impl_witness %I2.impl_witness_table, @I2.impl(constants.%V) [symbolic = @I2.impl.%I2.impl_witness (constants.%I2.impl_witness.2ab13d.1)] // CHECK:STDOUT: %impl_witness_assoc_constant: type = impl_witness_assoc_constant constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %J2.decl.loc13: type = interface_decl @J2 [concrete = constants.%J2.type] {} {} // CHECK:STDOUT: } @@ -382,10 +382,10 @@ interface C { // CHECK:STDOUT: assoc_const T2:! type; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl(%V.loc11_14.1: %J2.type) { +// CHECK:STDOUT: generic impl @I2.impl(%V.loc11_14.1: %J2.type) { // CHECK:STDOUT: %V.loc11_14.2: %J2.type = bind_symbolic_name V, 0 [symbolic = %V.loc11_14.2 (constants.%V)] // CHECK:STDOUT: %V.as_type.loc11_22.2: type = facet_access_type %V.loc11_14.2 [symbolic = %V.as_type.loc11_22.2 (constants.%V.as_type)] -// CHECK:STDOUT: %I2.impl_witness: = impl_witness file.%I2.impl_witness_table, @impl(%V.loc11_14.2) [symbolic = %I2.impl_witness (constants.%I2.impl_witness.2ab13d.1)] +// CHECK:STDOUT: %I2.impl_witness: = impl_witness file.%I2.impl_witness_table, @I2.impl(%V.loc11_14.2) [symbolic = %I2.impl_witness (constants.%I2.impl_witness.2ab13d.1)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: @@ -410,13 +410,13 @@ interface C { // CHECK:STDOUT: // CHECK:STDOUT: specific @T2(constants.%I2.facet.708) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl(constants.%V) { +// CHECK:STDOUT: specific @I2.impl(constants.%V) { // CHECK:STDOUT: %V.loc11_14.2 => constants.%V // CHECK:STDOUT: %V.as_type.loc11_22.2 => constants.%V.as_type // CHECK:STDOUT: %I2.impl_witness => constants.%I2.impl_witness.2ab13d.1 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl(constants.%Self.541) { +// CHECK:STDOUT: specific @I2.impl(constants.%Self.541) { // CHECK:STDOUT: %V.loc11_14.2 => constants.%Self.541 // CHECK:STDOUT: %V.as_type.loc11_22.2 => constants.%Self.as_type // CHECK:STDOUT: %I2.impl_witness => constants.%I2.impl_witness.2ab13d.2 diff --git a/toolchain/check/testdata/interface/fail_todo_assoc_const_default.carbon b/toolchain/check/testdata/interface/fail_todo_assoc_const_default.carbon index 1bcc0efcd4b7..3b15c765e4fe 100644 --- a/toolchain/check/testdata/interface/fail_todo_assoc_const_default.carbon +++ b/toolchain/check/testdata/interface/fail_todo_assoc_const_default.carbon @@ -45,10 +45,10 @@ interface I { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -67,8 +67,8 @@ interface I { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/interface/generic.carbon b/toolchain/check/testdata/interface/generic.carbon index 710e232b57cc..6d2ff30f3e69 100644 --- a/toolchain/check/testdata/interface/generic.carbon +++ b/toolchain/check/testdata/interface/generic.carbon @@ -219,12 +219,12 @@ fn G(T:! Generic(B)) { // CHECK:STDOUT: interface; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.763: %Self.ref as %Simple.type { +// CHECK:STDOUT: impl @Simple.impl: %Self.ref as %Simple.type { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = @C.%Simple.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.90b: %Self.ref as %WithAssocFn.type { +// 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: %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] @@ -250,21 +250,21 @@ fn G(T:! Generic(B)) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @C { -// CHECK:STDOUT: impl_decl @impl.763 [concrete] {} { +// CHECK:STDOUT: impl_decl @Simple.impl [concrete] {} { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%C [concrete = constants.%C] // CHECK:STDOUT: %Simple.ref: %Simple.type.3b3 = name_ref Simple, file.%Simple.decl [concrete = constants.%Simple.generic] // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %Simple.type: type = facet_type <@Simple, @Simple(constants.%C)> [concrete = constants.%Simple.type.51f] // CHECK:STDOUT: } -// CHECK:STDOUT: %Simple.impl_witness_table = impl_witness_table (), @impl.763 [concrete] +// CHECK:STDOUT: %Simple.impl_witness_table = impl_witness_table (), @Simple.impl [concrete] // CHECK:STDOUT: %Simple.impl_witness: = impl_witness %Simple.impl_witness_table [concrete = constants.%Simple.impl_witness] -// CHECK:STDOUT: impl_decl @impl.90b [concrete] {} { +// CHECK:STDOUT: impl_decl @WithAssocFn.impl [concrete] {} { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%C [concrete = constants.%C] // CHECK:STDOUT: %WithAssocFn.ref: %WithAssocFn.type.509 = name_ref WithAssocFn, file.%WithAssocFn.decl [concrete = constants.%WithAssocFn.generic] // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %WithAssocFn.type: type = facet_type <@WithAssocFn, @WithAssocFn(constants.%C)> [concrete = constants.%WithAssocFn.type.683] // CHECK:STDOUT: } -// CHECK:STDOUT: %WithAssocFn.impl_witness_table = impl_witness_table (@impl.90b.%F.decl), @impl.90b [concrete] +// CHECK:STDOUT: %WithAssocFn.impl_witness_table = impl_witness_table (@WithAssocFn.impl.%F.decl), @WithAssocFn.impl [concrete] // CHECK:STDOUT: %WithAssocFn.impl_witness: = impl_witness %WithAssocFn.impl_witness_table [concrete = constants.%WithAssocFn.impl_witness] // 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] diff --git a/toolchain/check/testdata/interface/generic_import.carbon b/toolchain/check/testdata/interface/generic_import.carbon index 5090eae0997f..9908f82d3201 100644 --- a/toolchain/check/testdata/interface/generic_import.carbon +++ b/toolchain/check/testdata/interface/generic_import.carbon @@ -135,13 +135,13 @@ impl C as AddWith(C) { // CHECK:STDOUT: } // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @AddWith.impl [concrete] {} { // CHECK:STDOUT: %C.ref.loc7_6: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %AddWith.ref: %AddWith.type.b35 = name_ref AddWith, imports.%Main.AddWith [concrete = constants.%AddWith.generic] // CHECK:STDOUT: %C.ref.loc7_19: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %AddWith.type: type = facet_type <@AddWith, @AddWith(constants.%C)> [concrete = constants.%AddWith.type.e8e] // CHECK:STDOUT: } -// CHECK:STDOUT: %AddWith.impl_witness_table = impl_witness_table (@impl.%F.decl), @impl [concrete] +// CHECK:STDOUT: %AddWith.impl_witness_table = impl_witness_table (@AddWith.impl.%F.decl), @AddWith.impl [concrete] // CHECK:STDOUT: %AddWith.impl_witness: = impl_witness %AddWith.impl_witness_table [concrete = constants.%AddWith.impl_witness] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -164,7 +164,7 @@ impl C as AddWith(C) { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %C.ref.loc7_6 as %AddWith.type { +// 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: // CHECK:STDOUT: !members: diff --git a/toolchain/check/testdata/interface/generic_method.carbon b/toolchain/check/testdata/interface/generic_method.carbon index 215e9c42aeb8..737c1592b5c3 100644 --- a/toolchain/check/testdata/interface/generic_method.carbon +++ b/toolchain/check/testdata/interface/generic_method.carbon @@ -137,14 +137,14 @@ fn CallIndirect() { // 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] -// CHECK:STDOUT: %Op.type.bc9: type = fn_type @Op.2, @impl.49c(%T.8b3) [symbolic] +// CHECK:STDOUT: %Op.type.bc9: type = fn_type @Op.2, @Destroy.impl(%T.8b3) [symbolic] // CHECK:STDOUT: %Op.46f: %Op.type.bc9 = struct_value () [symbolic] -// CHECK:STDOUT: %Op.type.f73: type = fn_type @Op.2, @impl.49c(%Z) [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] // CHECK:STDOUT: %ptr.fb6: type = ptr_type %Z [concrete] // CHECK:STDOUT: %Op.specific_fn.3b7: = specific_function %Op.6e3, @Op.2(%Z) [concrete] -// CHECK:STDOUT: %Destroy.impl_witness.955: = impl_witness imports.%Destroy.impl_witness_table, @impl.49c(%tuple.type.f6b) [concrete] -// CHECK:STDOUT: %Op.type.495: type = fn_type @Op.2, @impl.49c(%tuple.type.f6b) [concrete] +// CHECK:STDOUT: %Destroy.impl_witness.955: = impl_witness imports.%Destroy.impl_witness_table, @Destroy.impl(%tuple.type.f6b) [concrete] +// CHECK:STDOUT: %Op.type.495: type = fn_type @Op.2, @Destroy.impl(%tuple.type.f6b) [concrete] // CHECK:STDOUT: %Op.51a: %Op.type.495 = struct_value () [concrete] // CHECK:STDOUT: %ptr.959: type = ptr_type %tuple.type.f6b [concrete] // CHECK:STDOUT: %complete_type.456: = complete_type_witness %ptr.959 [concrete] @@ -185,8 +185,8 @@ fn CallIndirect() { // CHECK:STDOUT: import Core//prelude/... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] -// CHECK:STDOUT: %Core.import_ref.0b9: @impl.49c.%Op.type (%Op.type.bc9) = import_ref Core//prelude/parts/destroy, loc8_29, loaded [symbolic = @impl.49c.%Op (constants.%Op.46f)] -// CHECK:STDOUT: %Destroy.impl_witness_table = impl_witness_table (%Core.import_ref.0b9), @impl.49c [concrete] +// CHECK:STDOUT: %Core.import_ref.0b9: @Destroy.impl.%Op.type (%Op.type.bc9) = import_ref Core//prelude/parts/destroy, loc8_29, loaded [symbolic = @Destroy.impl.%Op (constants.%Op.46f)] +// CHECK:STDOUT: %Destroy.impl_witness_table = impl_witness_table (%Core.import_ref.0b9), @Destroy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -209,13 +209,13 @@ fn CallIndirect() { // CHECK:STDOUT: %X.decl: type = class_decl @X [concrete = constants.%X] {} {} // CHECK:STDOUT: %Y.decl: type = class_decl @Y [concrete = constants.%Y] {} {} // CHECK:STDOUT: %Z.decl: type = class_decl @Z [concrete = constants.%Z] {} {} -// CHECK:STDOUT: impl_decl @impl.5ec [concrete] {} { +// CHECK:STDOUT: impl_decl @A.impl [concrete] {} { // CHECK:STDOUT: %Y.ref: type = name_ref Y, file.%Y.decl [concrete = constants.%Y] // CHECK:STDOUT: %A.ref: %A.type.495 = name_ref A, file.%A.decl [concrete = constants.%A.generic] // CHECK:STDOUT: %X.ref: type = name_ref X, file.%X.decl [concrete = constants.%X] // CHECK:STDOUT: %A.type: type = facet_type <@A, @A(constants.%X)> [concrete = constants.%A.type.91f] // CHECK:STDOUT: } -// CHECK:STDOUT: %A.impl_witness_table = impl_witness_table (@impl.5ec.%F.decl), @impl.5ec [concrete] +// CHECK:STDOUT: %A.impl_witness_table = impl_witness_table (@A.impl.%F.decl), @A.impl [concrete] // CHECK:STDOUT: %A.impl_witness: = impl_witness %A.impl_witness_table [concrete = constants.%A.impl_witness] // CHECK:STDOUT: %Call.decl: %Call.type = fn_decl @Call [concrete = constants.%Call] {} {} // CHECK:STDOUT: %CallGeneric.decl: %CallGeneric.type = fn_decl @CallGeneric [concrete = constants.%CallGeneric] { @@ -276,7 +276,7 @@ fn CallIndirect() { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.5ec: %Y.ref as %A.type { +// 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: %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] @@ -624,13 +624,13 @@ fn CallIndirect() { // 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] // CHECK:STDOUT: %require_complete.796: = require_complete_type %A.type.f21 [symbolic] -// CHECK:STDOUT: %A.impl_witness.f15: = impl_witness file.%A.impl_witness_table, @impl.220(%V1, %V2, %W) [symbolic] +// CHECK:STDOUT: %A.impl_witness.f15: = impl_witness file.%A.impl_witness_table, @A.impl(%V1, %V2, %W) [symbolic] // CHECK:STDOUT: %U.753: type = bind_symbolic_name U, 3 [symbolic] // CHECK:STDOUT: %pattern_type.549: type = pattern_type %U.753 [symbolic] // 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, @impl.220(%V1, %V2, %W) [symbolic] +// CHECK:STDOUT: %F.type.b3e: type = fn_type @F.2, @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] @@ -639,7 +639,7 @@ fn CallIndirect() { // CHECK:STDOUT: %F.specific_fn.7d9: = specific_function %F.d79, @F.2(%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, @impl.49c(%T.8b3) [symbolic] +// CHECK:STDOUT: %Op.type.bc9: type = fn_type @Op.2, @Destroy.impl(%T.8b3) [symbolic] // CHECK:STDOUT: %Op.46f: %Op.type.bc9 = struct_value () [symbolic] // CHECK:STDOUT: %ptr.ab5: type = ptr_type %tuple.type.8ae [symbolic] // CHECK:STDOUT: %require_complete.293: = require_complete_type %ptr.ab5 [symbolic] @@ -658,8 +658,8 @@ fn CallIndirect() { // 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, @impl.220(%Y1, %Y2, %X) [concrete] -// CHECK:STDOUT: %F.type.bf7: type = fn_type @F.2, @impl.220(%Y1, %Y2, %X) [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.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] @@ -668,12 +668,12 @@ fn CallIndirect() { // 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: %Z.val: %Z = struct_value () [concrete] -// CHECK:STDOUT: %Op.type.f73: type = fn_type @Op.2, @impl.49c(%Z) [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] // CHECK:STDOUT: %ptr.fb6: type = ptr_type %Z [concrete] // CHECK:STDOUT: %Op.specific_fn.3b7: = specific_function %Op.6e3, @Op.2(%Z) [concrete] -// CHECK:STDOUT: %Destroy.impl_witness.c80: = impl_witness imports.%Destroy.impl_witness_table, @impl.49c(%tuple.type.415) [concrete] -// CHECK:STDOUT: %Op.type.2a3: type = fn_type @Op.2, @impl.49c(%tuple.type.415) [concrete] +// CHECK:STDOUT: %Destroy.impl_witness.c80: = impl_witness imports.%Destroy.impl_witness_table, @Destroy.impl(%tuple.type.415) [concrete] +// CHECK:STDOUT: %Op.type.2a3: type = fn_type @Op.2, @Destroy.impl(%tuple.type.415) [concrete] // CHECK:STDOUT: %Op.66e: %Op.type.2a3 = struct_value () [concrete] // CHECK:STDOUT: %ptr.ad9: type = ptr_type %tuple.type.415 [concrete] // CHECK:STDOUT: %complete_type.e23: = complete_type_witness %ptr.ad9 [concrete] @@ -714,8 +714,8 @@ fn CallIndirect() { // CHECK:STDOUT: import Core//prelude/... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] -// CHECK:STDOUT: %Core.import_ref.0b9: @impl.49c.%Op.type (%Op.type.bc9) = import_ref Core//prelude/parts/destroy, loc8_29, loaded [symbolic = @impl.49c.%Op (constants.%Op.46f)] -// CHECK:STDOUT: %Destroy.impl_witness_table = impl_witness_table (%Core.import_ref.0b9), @impl.49c [concrete] +// CHECK:STDOUT: %Core.import_ref.0b9: @Destroy.impl.%Op.type (%Op.type.bc9) = import_ref Core//prelude/parts/destroy, loc8_29, loaded [symbolic = @Destroy.impl.%Op (constants.%Op.46f)] +// CHECK:STDOUT: %Destroy.impl_witness_table = impl_witness_table (%Core.import_ref.0b9), @Destroy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -740,7 +740,7 @@ fn CallIndirect() { // CHECK:STDOUT: %Y1.decl: type = class_decl @Y1 [concrete = constants.%Y1] {} {} // CHECK:STDOUT: %Y2.decl: type = class_decl @Y2 [concrete = constants.%Y2] {} {} // CHECK:STDOUT: %Z.decl: type = class_decl @Z [concrete = constants.%Z] {} {} -// CHECK:STDOUT: impl_decl @impl.220 [concrete] { +// CHECK:STDOUT: impl_decl @A.impl [concrete] { // CHECK:STDOUT: %V1.patt: %pattern_type.98f = symbolic_binding_pattern V1, 0 [concrete] // CHECK:STDOUT: %V2.patt: %pattern_type.98f = symbolic_binding_pattern V2, 1 [concrete] // CHECK:STDOUT: %W.patt: %pattern_type.98f = symbolic_binding_pattern W, 2 [concrete] @@ -756,8 +756,8 @@ fn CallIndirect() { // CHECK:STDOUT: %V2.loc14_25.1: type = bind_symbolic_name V2, 1 [symbolic = %V2.loc14_25.2 (constants.%V2)] // CHECK:STDOUT: %W.loc14_36.1: type = bind_symbolic_name W, 2 [symbolic = %W.loc14_36.2 (constants.%W)] // CHECK:STDOUT: } -// CHECK:STDOUT: %A.impl_witness_table = impl_witness_table (@impl.220.%F.decl), @impl.220 [concrete] -// CHECK:STDOUT: %A.impl_witness: = impl_witness %A.impl_witness_table, @impl.220(constants.%V1, constants.%V2, constants.%W) [symbolic = @impl.220.%A.impl_witness (constants.%A.impl_witness.f15)] +// CHECK:STDOUT: %A.impl_witness_table = impl_witness_table (@A.impl.%F.decl), @A.impl [concrete] +// CHECK:STDOUT: %A.impl_witness: = impl_witness %A.impl_witness_table, @A.impl(constants.%V1, constants.%V2, constants.%W) [symbolic = @A.impl.%A.impl_witness (constants.%A.impl_witness.f15)] // CHECK:STDOUT: %Call.decl: %Call.type = fn_decl @Call [concrete = constants.%Call] {} {} // CHECK:STDOUT: %CallGeneric.decl: %CallGeneric.type = fn_decl @CallGeneric [concrete = constants.%CallGeneric] { // CHECK:STDOUT: %T.patt: %pattern_type.817 = symbolic_binding_pattern T, 0 [concrete] @@ -817,30 +817,30 @@ fn CallIndirect() { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @impl.220(%V1.loc14_14.1: type, %V2.loc14_25.1: type, %W.loc14_36.1: type) { +// CHECK:STDOUT: generic impl @A.impl(%V1.loc14_14.1: type, %V2.loc14_25.1: type, %W.loc14_36.1: type) { // CHECK:STDOUT: %V1.loc14_14.2: type = bind_symbolic_name V1, 0 [symbolic = %V1.loc14_14.2 (constants.%V1)] // CHECK:STDOUT: %V2.loc14_25.2: type = bind_symbolic_name V2, 1 [symbolic = %V2.loc14_25.2 (constants.%V2)] // CHECK:STDOUT: %W.loc14_36.2: type = bind_symbolic_name W, 2 [symbolic = %W.loc14_36.2 (constants.%W)] // CHECK:STDOUT: %tuple.type: type = tuple_type (%V1.loc14_14.2, %V2.loc14_25.2) [symbolic = %tuple.type (constants.%tuple.type.30b)] // CHECK:STDOUT: %A.type.loc14_61.2: type = facet_type <@A, @A(%W.loc14_36.2)> [symbolic = %A.type.loc14_61.2 (constants.%A.type.f21)] // CHECK:STDOUT: %require_complete: = require_complete_type %A.type.loc14_61.2 [symbolic = %require_complete (constants.%require_complete.796)] -// CHECK:STDOUT: %A.impl_witness: = impl_witness file.%A.impl_witness_table, @impl.220(%V1.loc14_14.2, %V2.loc14_25.2, %W.loc14_36.2) [symbolic = %A.impl_witness (constants.%A.impl_witness.f15)] +// 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, @impl.220(%V1.loc14_14.2, %V2.loc14_25.2, %W.loc14_36.2) [symbolic = %F.type (constants.%F.type.b3e)] -// CHECK:STDOUT: %F: @impl.220.%F.type (%F.type.b3e) = struct_value () [symbolic = %F (constants.%F.d79)] +// 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: @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: @impl.220.%F.type (%F.type.b3e) = fn_decl @F.2 [symbolic = @impl.220.%F (constants.%F.d79)] { +// CHECK:STDOUT: %F.decl: @A.impl.%F.type (%F.type.b3e) = fn_decl @F.2 [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: } { -// CHECK:STDOUT: %W.ref: type = name_ref W, @impl.220.%W.loc14_36.1 [symbolic = %W (constants.%W)] -// CHECK:STDOUT: %V1.ref: type = name_ref V1, @impl.220.%V1.loc14_14.1 [symbolic = %V1 (constants.%V1)] -// CHECK:STDOUT: %V2.ref: type = name_ref V2, @impl.220.%V2.loc14_25.1 [symbolic = %V2 (constants.%V2)] +// 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)] +// CHECK:STDOUT: %V2.ref: type = name_ref V2, @A.impl.%V2.loc14_25.1 [symbolic = %V2 (constants.%V2)] // CHECK:STDOUT: %.loc17_38: %tuple.type.24b = tuple_literal (%V1.ref, %V2.ref) // CHECK:STDOUT: %U.ref.loc17_41: type = name_ref U, %U.loc17_8.2 [symbolic = %U.loc17_8.1 (constants.%U.753)] // CHECK:STDOUT: %.loc17_42.1: %tuple.type.11f = tuple_literal (%W.ref, %.loc17_38, %U.ref.loc17_41) @@ -913,7 +913,7 @@ fn CallIndirect() { // 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: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F.2(@impl.220.%V1.loc14_14.1: type, @impl.220.%V2.loc14_25.1: type, @impl.220.%W.loc14_36.1: type, %U.loc17_8.2: type) { +// 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: %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,7 +926,7 @@ 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, @impl.220(%V1, %V2, %W) [symbolic = %F.type (constants.%F.type.b3e)] +// 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: %Destroy.lookup_impl_witness: = lookup_impl_witness %tuple.type.loc17_42.2, @Destroy [symbolic = %Destroy.lookup_impl_witness (constants.%Destroy.lookup_impl_witness.0d1)] @@ -939,7 +939,7 @@ fn CallIndirect() { // 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: !entry: -// CHECK:STDOUT: %.loc18: @F.2.%F.type (%F.type.b3e) = specific_constant @impl.220.%F.decl, @impl.220(constants.%V1, constants.%V2, constants.%W) [symbolic = %F (constants.%F.d79)] +// 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: %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 @@ -1092,7 +1092,7 @@ fn CallIndirect() { // CHECK:STDOUT: %assoc0.loc6_39.2 => constants.%assoc0.c82 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.220(constants.%V1, constants.%V2, constants.%W) { +// CHECK:STDOUT: specific @A.impl(constants.%V1, constants.%V2, constants.%W) { // CHECK:STDOUT: %V1.loc14_14.2 => constants.%V1 // CHECK:STDOUT: %V2.loc14_25.2 => constants.%V2 // CHECK:STDOUT: %W.loc14_36.2 => constants.%W @@ -1155,7 +1155,7 @@ fn CallIndirect() { // CHECK:STDOUT: %assoc0.loc6_39.2 => constants.%assoc0.5f6 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @impl.220(constants.%Y1, constants.%Y2, constants.%X) { +// CHECK:STDOUT: specific @A.impl(constants.%Y1, constants.%Y2, constants.%X) { // CHECK:STDOUT: %V1.loc14_14.2 => constants.%Y1 // CHECK:STDOUT: %V2.loc14_25.2 => constants.%Y2 // CHECK:STDOUT: %W.loc14_36.2 => constants.%X diff --git a/toolchain/check/testdata/interface/generic_vs_params.carbon b/toolchain/check/testdata/interface/generic_vs_params.carbon index 66d4fe603799..5ea17edb9e73 100644 --- a/toolchain/check/testdata/interface/generic_vs_params.carbon +++ b/toolchain/check/testdata/interface/generic_vs_params.carbon @@ -137,28 +137,28 @@ interface Bar[T:! type] {} // CHECK:STDOUT: %T.loc8_9.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc8_9.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %X.decl: type = class_decl @X [concrete = constants.%X] {} {} -// CHECK:STDOUT: impl_decl @impl.c96 [concrete] {} { +// CHECK:STDOUT: impl_decl @NotGenericNoParams.impl [concrete] {} { // CHECK:STDOUT: %X.ref: type = name_ref X, file.%X.decl [concrete = constants.%X] // CHECK:STDOUT: %NotGenericNoParams.ref: type = name_ref NotGenericNoParams, file.%NotGenericNoParams.decl [concrete = constants.%NotGenericNoParams.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %NotGenericNoParams.impl_witness_table = impl_witness_table (), @impl.c96 [concrete] +// CHECK:STDOUT: %NotGenericNoParams.impl_witness_table = impl_witness_table (), @NotGenericNoParams.impl [concrete] // CHECK:STDOUT: %NotGenericNoParams.impl_witness: = impl_witness %NotGenericNoParams.impl_witness_table [concrete = constants.%NotGenericNoParams.impl_witness] -// CHECK:STDOUT: impl_decl @impl.f59 [concrete] {} { +// CHECK:STDOUT: impl_decl @NotGenericButParams.impl [concrete] {} { // CHECK:STDOUT: %X.ref: type = name_ref X, file.%X.decl [concrete = constants.%X] // CHECK:STDOUT: %NotGenericButParams.ref: %NotGenericButParams.type.f26 = name_ref NotGenericButParams, file.%NotGenericButParams.decl [concrete = constants.%NotGenericButParams.generic] // CHECK:STDOUT: %NotGenericButParams.type: type = facet_type <@NotGenericButParams> [concrete = constants.%NotGenericButParams.type.014] // CHECK:STDOUT: } -// CHECK:STDOUT: %NotGenericButParams.impl_witness_table = impl_witness_table (), @impl.f59 [concrete] +// CHECK:STDOUT: %NotGenericButParams.impl_witness_table = impl_witness_table (), @NotGenericButParams.impl [concrete] // CHECK:STDOUT: %NotGenericButParams.impl_witness: = impl_witness %NotGenericButParams.impl_witness_table [concrete = constants.%NotGenericButParams.impl_witness] -// CHECK:STDOUT: impl_decl @impl.87f [concrete] {} { +// CHECK:STDOUT: impl_decl @GenericAndParams.impl.87f [concrete] {} { // 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: } -// CHECK:STDOUT: %GenericAndParams.impl_witness_table.loc16 = impl_witness_table (), @impl.87f [concrete] +// 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] -// CHECK:STDOUT: impl_decl @impl.cd5 [concrete] {} { +// CHECK:STDOUT: impl_decl @GenericNoParams.impl [concrete] {} { // CHECK:STDOUT: %X.ref.loc17_6: type = name_ref X, file.%X.decl [concrete = constants.%X] // CHECK:STDOUT: %C.ref: %C.type = name_ref C, file.%C.decl [concrete = constants.%C.generic] // CHECK:STDOUT: %X.ref.loc17_13: type = name_ref X, file.%X.decl [concrete = constants.%X] @@ -166,9 +166,9 @@ interface Bar[T:! type] {} // CHECK:STDOUT: %.loc17: type = specific_constant @C.%GenericNoParams.decl, @C(constants.%X) [concrete = constants.%GenericNoParams.type.b7e] // CHECK:STDOUT: %GenericNoParams.ref: type = name_ref GenericNoParams, %.loc17 [concrete = constants.%GenericNoParams.type.b7e] // CHECK:STDOUT: } -// CHECK:STDOUT: %GenericNoParams.impl_witness_table = impl_witness_table (), @impl.cd5 [concrete] +// CHECK:STDOUT: %GenericNoParams.impl_witness_table = impl_witness_table (), @GenericNoParams.impl [concrete] // CHECK:STDOUT: %GenericNoParams.impl_witness: = impl_witness %GenericNoParams.impl_witness_table [concrete = constants.%GenericNoParams.impl_witness] -// CHECK:STDOUT: impl_decl @impl.15f [concrete] {} { +// CHECK:STDOUT: impl_decl @GenericAndParams.impl.15f [concrete] {} { // CHECK:STDOUT: %X.ref.loc18_6: type = name_ref X, file.%X.decl [concrete = constants.%X] // CHECK:STDOUT: %C.ref: %C.type = name_ref C, file.%C.decl [concrete = constants.%C.generic] // CHECK:STDOUT: %X.ref.loc18_13: type = name_ref X, file.%X.decl [concrete = constants.%X] @@ -178,7 +178,7 @@ interface Bar[T:! type] {} // 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: } -// CHECK:STDOUT: %GenericAndParams.impl_witness_table.loc18 = impl_witness_table (), @impl.15f [concrete] +// 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] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -246,27 +246,27 @@ interface Bar[T:! type] {} // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.c96: %X.ref as %NotGenericNoParams.ref { +// CHECK:STDOUT: impl @NotGenericNoParams.impl: %X.ref as %NotGenericNoParams.ref { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = file.%NotGenericNoParams.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.f59: %X.ref as %NotGenericButParams.type { +// CHECK:STDOUT: impl @NotGenericButParams.impl: %X.ref as %NotGenericButParams.type { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = file.%NotGenericButParams.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.87f: %X.ref.loc16_6 as %GenericAndParams.type { +// CHECK:STDOUT: impl @GenericAndParams.impl.87f: %X.ref.loc16_6 as %GenericAndParams.type { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = file.%GenericAndParams.impl_witness.loc16 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.cd5: %X.ref.loc17_6 as %GenericNoParams.ref { +// CHECK:STDOUT: impl @GenericNoParams.impl: %X.ref.loc17_6 as %GenericNoParams.ref { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = file.%GenericNoParams.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.15f: %X.ref.loc18_6 as %GenericAndParams.type { +// CHECK:STDOUT: impl @GenericAndParams.impl.15f: %X.ref.loc18_6 as %GenericAndParams.type { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = file.%GenericAndParams.impl_witness.loc18 // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/interface/import_interface_decl.carbon b/toolchain/check/testdata/interface/import_interface_decl.carbon index c49b7c15eb9b..c4e4f048da9e 100644 --- a/toolchain/check/testdata/interface/import_interface_decl.carbon +++ b/toolchain/check/testdata/interface/import_interface_decl.carbon @@ -74,12 +74,12 @@ impl library "[[@TEST_NAME]]"; // CHECK:STDOUT: .B = %B.decl // CHECK:STDOUT: } // CHECK:STDOUT: %B.decl: type = interface_decl @B [concrete = constants.%B.type] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @B.impl [concrete] {} { // CHECK:STDOUT: %.loc7_7.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc7_7.2: type = converted %.loc7_7.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %B.ref: type = name_ref B, file.%B.decl [concrete = constants.%B.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %B.impl_witness_table = impl_witness_table (), @impl [concrete] +// CHECK:STDOUT: %B.impl_witness_table = impl_witness_table (), @B.impl [concrete] // CHECK:STDOUT: %B.impl_witness: = impl_witness %B.impl_witness_table [concrete = constants.%B.impl_witness] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -91,7 +91,7 @@ impl library "[[@TEST_NAME]]"; // CHECK:STDOUT: witness = () // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %.loc7_7.2 as %B.ref; +// CHECK:STDOUT: impl @B.impl: %.loc7_7.2 as %B.ref; // CHECK:STDOUT: // CHECK:STDOUT: --- b.impl.carbon // CHECK:STDOUT: @@ -121,5 +121,5 @@ impl library "[[@TEST_NAME]]"; // CHECK:STDOUT: witness = () // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: imports.%Main.import_ref.e5c as imports.%Main.import_ref.171 [from "fail_b.carbon"]; +// CHECK:STDOUT: impl @B.impl: imports.%Main.import_ref.e5c as imports.%Main.import_ref.171 [from "fail_b.carbon"]; // CHECK:STDOUT: diff --git a/toolchain/check/testdata/interface/local.carbon b/toolchain/check/testdata/interface/local.carbon index 45eaf871aba9..4790d1d6b2fd 100644 --- a/toolchain/check/testdata/interface/local.carbon +++ b/toolchain/check/testdata/interface/local.carbon @@ -74,13 +74,13 @@ fn F() { // CHECK:STDOUT: witness = (%G.decl) // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %.loc19_9.2 as %I.ref { +// 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: %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: } { // CHECK:STDOUT: %self.param: %empty_tuple.type = value_param call_param0 -// CHECK:STDOUT: %Self.ref: type = name_ref Self, @impl.%.loc19_9.2 [concrete = constants.%empty_tuple.type] +// CHECK:STDOUT: %Self.ref: type = name_ref Self, @I.impl.%.loc19_9.2 [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %self: %empty_tuple.type = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: @@ -92,12 +92,12 @@ fn F() { // CHECK:STDOUT: fn @F() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %I.decl: type = interface_decl @I [concrete = constants.%I.type] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @I.impl [concrete] {} { // CHECK:STDOUT: %.loc19_9.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc19_9.2: type = converted %.loc19_9.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %I.ref: type = name_ref I, @F.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (@impl.%G.decl), @impl [concrete] +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (@I.impl.%G.decl), @I.impl [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness] // CHECK:STDOUT: %.loc22_4.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %I.ref: type = name_ref I, %I.decl [concrete = constants.%I.type] diff --git a/toolchain/check/testdata/interface/todo_define_not_default.carbon b/toolchain/check/testdata/interface/todo_define_not_default.carbon index c724559ac0ea..6a295f47be01 100644 --- a/toolchain/check/testdata/interface/todo_define_not_default.carbon +++ b/toolchain/check/testdata/interface/todo_define_not_default.carbon @@ -50,10 +50,10 @@ interface I { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -72,8 +72,8 @@ interface I { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/interop/cpp/function/class.carbon b/toolchain/check/testdata/interop/cpp/function/class.carbon index 28517c1e51db..612642b51be5 100644 --- a/toolchain/check/testdata/interop/cpp/function/class.carbon +++ b/toolchain/check/testdata/interop/cpp/function/class.carbon @@ -407,7 +407,7 @@ fn F() { // CHECK:STDOUT: %foo.type: type = fn_type @foo [concrete] // CHECK:STDOUT: %foo: %foo.type = struct_value () [concrete] // CHECK:STDOUT: %C.val: %C = struct_value () [concrete] -// CHECK:STDOUT: %Op.type.1b3: type = fn_type @Op.2, @impl(%C) [concrete] +// CHECK:STDOUT: %Op.type.1b3: type = fn_type @Op.2, @Destroy.impl(%C) [concrete] // CHECK:STDOUT: %Op.21b: %Op.type.1b3 = struct_value () [concrete] // CHECK:STDOUT: %ptr.d9e: type = ptr_type %C [concrete] // CHECK:STDOUT: } @@ -452,7 +452,7 @@ fn F() { // CHECK:STDOUT: %foo.type: type = fn_type @foo [concrete] // CHECK:STDOUT: %foo: %foo.type = struct_value () [concrete] // CHECK:STDOUT: %C.val: %C = struct_value () [concrete] -// CHECK:STDOUT: %Op.type.1b3: type = fn_type @Op.2, @impl(%C) [concrete] +// CHECK:STDOUT: %Op.type.1b3: type = fn_type @Op.2, @Destroy.impl(%C) [concrete] // CHECK:STDOUT: %Op.21b: %Op.type.1b3 = struct_value () [concrete] // CHECK:STDOUT: %ptr.d9e: type = ptr_type %C [concrete] // CHECK:STDOUT: } @@ -497,7 +497,7 @@ fn F() { // CHECK:STDOUT: %foo.type: type = fn_type @foo [concrete] // CHECK:STDOUT: %foo: %foo.type = struct_value () [concrete] // CHECK:STDOUT: %C.val: %C = struct_value () [concrete] -// CHECK:STDOUT: %Op.type.1b3: type = fn_type @Op.2, @impl(%C) [concrete] +// CHECK:STDOUT: %Op.type.1b3: type = fn_type @Op.2, @Destroy.impl(%C) [concrete] // CHECK:STDOUT: %Op.21b: %Op.type.1b3 = struct_value () [concrete] // CHECK:STDOUT: %ptr.d9e: type = ptr_type %C [concrete] // CHECK:STDOUT: } @@ -542,7 +542,7 @@ fn F() { // CHECK:STDOUT: %foo.type: type = fn_type @foo [concrete] // CHECK:STDOUT: %foo: %foo.type = struct_value () [concrete] // CHECK:STDOUT: %C.val: %C = struct_value () [concrete] -// CHECK:STDOUT: %Op.type.9ae: type = fn_type @Op.2, @impl(%C) [concrete] +// CHECK:STDOUT: %Op.type.9ae: type = fn_type @Op.2, @Destroy.impl(%C) [concrete] // CHECK:STDOUT: %Op.dbb: %Op.type.9ae = struct_value () [concrete] // CHECK:STDOUT: %ptr.838: type = ptr_type %C [concrete] // CHECK:STDOUT: } @@ -587,7 +587,7 @@ fn F() { // CHECK:STDOUT: %foo.type: type = fn_type @foo [concrete] // CHECK:STDOUT: %foo: %foo.type = struct_value () [concrete] // CHECK:STDOUT: %C.val: %C = struct_value () [concrete] -// CHECK:STDOUT: %Op.type.b28: type = fn_type @Op.2, @impl(%C) [concrete] +// CHECK:STDOUT: %Op.type.b28: type = fn_type @Op.2, @Destroy.impl(%C) [concrete] // CHECK:STDOUT: %Op.f48: %Op.type.b28 = struct_value () [concrete] // CHECK:STDOUT: %ptr.c0c: type = ptr_type %C [concrete] // CHECK:STDOUT: } @@ -639,7 +639,7 @@ fn F() { // CHECK:STDOUT: %foo.type: type = fn_type @foo [concrete] // CHECK:STDOUT: %foo: %foo.type = struct_value () [concrete] // CHECK:STDOUT: %C.val: %C = struct_value () [concrete] -// CHECK:STDOUT: %Op.type.1b3: type = fn_type @Op.2, @impl(%C) [concrete] +// CHECK:STDOUT: %Op.type.1b3: type = fn_type @Op.2, @Destroy.impl(%C) [concrete] // CHECK:STDOUT: %Op.21b: %Op.type.1b3 = struct_value () [concrete] // CHECK:STDOUT: %ptr.d9e: type = ptr_type %C [concrete] // CHECK:STDOUT: } @@ -694,7 +694,7 @@ fn F() { // CHECK:STDOUT: %C.val: %C = struct_value () [concrete] // CHECK:STDOUT: %bar.type: type = fn_type @bar [concrete] // CHECK:STDOUT: %bar: %bar.type = struct_value () [concrete] -// CHECK:STDOUT: %Op.type.1b3: type = fn_type @Op.2, @impl(%C) [concrete] +// CHECK:STDOUT: %Op.type.1b3: type = fn_type @Op.2, @Destroy.impl(%C) [concrete] // CHECK:STDOUT: %Op.21b: %Op.type.1b3 = struct_value () [concrete] // CHECK:STDOUT: %ptr.d9e: type = ptr_type %C [concrete] // CHECK:STDOUT: } @@ -807,7 +807,7 @@ fn F() { // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %foo.type: type = fn_type @foo [concrete] // CHECK:STDOUT: %foo: %foo.type = struct_value () [concrete] -// CHECK:STDOUT: %Op.type.1b3: type = fn_type @Op.2, @impl(%C) [concrete] +// CHECK:STDOUT: %Op.type.1b3: type = fn_type @Op.2, @Destroy.impl(%C) [concrete] // CHECK:STDOUT: %Op.21b: %Op.type.1b3 = struct_value () [concrete] // CHECK:STDOUT: %ptr.d9e: type = ptr_type %C [concrete] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/interop/cpp/function/full_semir.carbon b/toolchain/check/testdata/interop/cpp/function/full_semir.carbon index aef2430d6c7c..00d58bfc1543 100644 --- a/toolchain/check/testdata/interop/cpp/function/full_semir.carbon +++ b/toolchain/check/testdata/interop/cpp/function/full_semir.carbon @@ -84,10 +84,10 @@ fn F() { // CHECK:STDOUT: %As.type.a96: type = facet_type <@As, @As(%i16)> [concrete] // CHECK:STDOUT: %Convert.type.be5: type = fn_type @Convert.1, @As(%i16) [concrete] // CHECK:STDOUT: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.062: type = fn_type @Convert.5, @impl.686(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.062: type = fn_type @Convert.5, @As.impl.686(%To) [symbolic] // CHECK:STDOUT: %Convert.527: %Convert.type.062 = struct_value () [symbolic] -// CHECK:STDOUT: %As.impl_witness.0ef: = impl_witness imports.%As.impl_witness_table.eb4, @impl.686(%int_16) [concrete] -// CHECK:STDOUT: %Convert.type.172: type = fn_type @Convert.5, @impl.686(%int_16) [concrete] +// CHECK:STDOUT: %As.impl_witness.0ef: = impl_witness imports.%As.impl_witness_table.eb4, @As.impl.686(%int_16) [concrete] +// CHECK:STDOUT: %Convert.type.172: type = fn_type @Convert.5, @As.impl.686(%int_16) [concrete] // CHECK:STDOUT: %Convert.489: %Convert.type.172 = struct_value () [concrete] // CHECK:STDOUT: %As.facet: %As.type.a96 = facet_value Core.IntLiteral, (%As.impl_witness.0ef) [concrete] // CHECK:STDOUT: %.91d: type = fn_type_with_self_type %Convert.type.be5, %As.facet [concrete] @@ -121,8 +121,8 @@ fn F() { // CHECK:STDOUT: %a: %i16 = bind_name a, %a.param // CHECK:STDOUT: } // CHECK:STDOUT: %Core.As: %As.type.90f = import_ref Core//prelude/parts/as, As, loaded [concrete = constants.%As.generic] -// CHECK:STDOUT: %Core.import_ref.78a: @impl.686.%Convert.type (%Convert.type.062) = import_ref Core//prelude/parts/int, loc25_39, loaded [symbolic = @impl.686.%Convert (constants.%Convert.527)] -// CHECK:STDOUT: %As.impl_witness_table.eb4 = impl_witness_table (%Core.import_ref.78a), @impl.686 [concrete] +// CHECK:STDOUT: %Core.import_ref.78a: @As.impl.686.%Convert.type (%Convert.type.062) = import_ref Core//prelude/parts/int, loc25_39, loaded [symbolic = @As.impl.686.%Convert (constants.%Convert.527)] +// CHECK:STDOUT: %As.impl_witness_table.eb4 = impl_witness_table (%Core.import_ref.78a), @As.impl.686 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -177,10 +177,10 @@ fn F() { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -214,8 +214,8 @@ fn F() { // CHECK:STDOUT: %a: %i32 = bind_name a, %a.param // CHECK:STDOUT: } // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/interop/cpp/function/param_int16.carbon b/toolchain/check/testdata/interop/cpp/function/param_int16.carbon index d1a04f05f108..db89ae314e6f 100644 --- a/toolchain/check/testdata/interop/cpp/function/param_int16.carbon +++ b/toolchain/check/testdata/interop/cpp/function/param_int16.carbon @@ -331,10 +331,10 @@ fn F() { // CHECK:STDOUT: %As.type.a96: type = facet_type <@As, @As(%i16)> [concrete] // CHECK:STDOUT: %Convert.type.be5: type = fn_type @Convert.1, @As(%i16) [concrete] // CHECK:STDOUT: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.062: type = fn_type @Convert.5, @impl.686(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.062: type = fn_type @Convert.5, @As.impl.686(%To) [symbolic] // CHECK:STDOUT: %Convert.527: %Convert.type.062 = struct_value () [symbolic] -// CHECK:STDOUT: %As.impl_witness.0ef: = impl_witness imports.%As.impl_witness_table.eb4, @impl.686(%int_16) [concrete] -// CHECK:STDOUT: %Convert.type.172: type = fn_type @Convert.5, @impl.686(%int_16) [concrete] +// CHECK:STDOUT: %As.impl_witness.0ef: = impl_witness imports.%As.impl_witness_table.eb4, @As.impl.686(%int_16) [concrete] +// CHECK:STDOUT: %Convert.type.172: type = fn_type @Convert.5, @As.impl.686(%int_16) [concrete] // CHECK:STDOUT: %Convert.489: %Convert.type.172 = struct_value () [concrete] // CHECK:STDOUT: %As.facet: %As.type.a96 = facet_value Core.IntLiteral, (%As.impl_witness.0ef) [concrete] // CHECK:STDOUT: %.91d: type = fn_type_with_self_type %Convert.type.be5, %As.facet [concrete] @@ -354,8 +354,8 @@ fn F() { // CHECK:STDOUT: } { // CHECK:STDOUT: // CHECK:STDOUT: } -// CHECK:STDOUT: %Core.import_ref.78a: @impl.686.%Convert.type (%Convert.type.062) = import_ref Core//prelude/parts/int, loc25_39, loaded [symbolic = @impl.686.%Convert (constants.%Convert.527)] -// CHECK:STDOUT: %As.impl_witness_table.eb4 = impl_witness_table (%Core.import_ref.78a), @impl.686 [concrete] +// CHECK:STDOUT: %Core.import_ref.78a: @As.impl.686.%Convert.type (%Convert.type.062) = import_ref Core//prelude/parts/int, loc25_39, loaded [symbolic = @As.impl.686.%Convert (constants.%Convert.527)] +// CHECK:STDOUT: %As.impl_witness_table.eb4 = impl_witness_table (%Core.import_ref.78a), @As.impl.686 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { @@ -388,10 +388,10 @@ fn F() { // CHECK:STDOUT: %ImplicitAs.type.adb: type = facet_type <@ImplicitAs, @ImplicitAs(%i16)> [concrete] // CHECK:STDOUT: %Convert.type.fa6: type = fn_type @Convert.1, @ImplicitAs(%i16) [concrete] // CHECK:STDOUT: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.97b: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_16) [concrete] -// CHECK:STDOUT: %Convert.type.33c: type = fn_type @Convert.2, @impl.4f9(%int_16) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.97b: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_16) [concrete] +// CHECK:STDOUT: %Convert.type.33c: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_16) [concrete] // CHECK:STDOUT: %Convert.d0a: %Convert.type.33c = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.adb = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.97b) [concrete] // CHECK:STDOUT: %.236: type = fn_type_with_self_type %Convert.type.fa6, %ImplicitAs.facet [concrete] @@ -411,8 +411,8 @@ fn F() { // CHECK:STDOUT: } { // CHECK:STDOUT: // CHECK:STDOUT: } -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { @@ -452,10 +452,10 @@ fn F() { // CHECK:STDOUT: %ImplicitAs.type.adb: type = facet_type <@ImplicitAs, @ImplicitAs(%i16)> [concrete] // CHECK:STDOUT: %Convert.type.fa6: type = fn_type @Convert.1, @ImplicitAs(%i16) [concrete] // CHECK:STDOUT: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.97b: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_16) [concrete] -// CHECK:STDOUT: %Convert.type.33c: type = fn_type @Convert.2, @impl.4f9(%int_16) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.97b: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_16) [concrete] +// CHECK:STDOUT: %Convert.type.33c: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_16) [concrete] // CHECK:STDOUT: %Convert.d0a: %Convert.type.33c = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.adb = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.97b) [concrete] // CHECK:STDOUT: %.236: type = fn_type_with_self_type %Convert.type.fa6, %ImplicitAs.facet [concrete] @@ -477,9 +477,9 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.abd = import_ref Core//prelude/parts/int_literal, loc13_50, unloaded // CHECK:STDOUT: %Core.import_ref.5e6: %Op.type.18a = import_ref Core//prelude/parts/int_literal, loc14_31, loaded [concrete = constants.%Op.99f] -// CHECK:STDOUT: %Negate.impl_witness_table.b22 = impl_witness_table (%Core.import_ref.abd, %Core.import_ref.5e6), @impl.0ef [concrete] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Negate.impl_witness_table.b22 = impl_witness_table (%Core.import_ref.abd, %Core.import_ref.5e6), @Negate.impl.0ef [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { @@ -515,10 +515,10 @@ fn F() { // CHECK:STDOUT: %As.type.a96: type = facet_type <@As, @As(%i16)> [concrete] // CHECK:STDOUT: %Convert.type.be5: type = fn_type @Convert.1, @As(%i16) [concrete] // CHECK:STDOUT: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.062: type = fn_type @Convert.5, @impl.686(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.062: type = fn_type @Convert.5, @As.impl.686(%To) [symbolic] // CHECK:STDOUT: %Convert.527: %Convert.type.062 = struct_value () [symbolic] -// CHECK:STDOUT: %As.impl_witness.0ef: = impl_witness imports.%As.impl_witness_table.eb4, @impl.686(%int_16) [concrete] -// CHECK:STDOUT: %Convert.type.172: type = fn_type @Convert.5, @impl.686(%int_16) [concrete] +// CHECK:STDOUT: %As.impl_witness.0ef: = impl_witness imports.%As.impl_witness_table.eb4, @As.impl.686(%int_16) [concrete] +// CHECK:STDOUT: %Convert.type.172: type = fn_type @Convert.5, @As.impl.686(%int_16) [concrete] // CHECK:STDOUT: %Convert.489: %Convert.type.172 = struct_value () [concrete] // CHECK:STDOUT: %As.facet: %As.type.a96 = facet_value Core.IntLiteral, (%As.impl_witness.0ef) [concrete] // CHECK:STDOUT: %.91d: type = fn_type_with_self_type %Convert.type.be5, %As.facet [concrete] @@ -538,8 +538,8 @@ fn F() { // CHECK:STDOUT: } { // CHECK:STDOUT: // CHECK:STDOUT: } -// CHECK:STDOUT: %Core.import_ref.78a: @impl.686.%Convert.type (%Convert.type.062) = import_ref Core//prelude/parts/int, loc25_39, loaded [symbolic = @impl.686.%Convert (constants.%Convert.527)] -// CHECK:STDOUT: %As.impl_witness_table.eb4 = impl_witness_table (%Core.import_ref.78a), @impl.686 [concrete] +// CHECK:STDOUT: %Core.import_ref.78a: @As.impl.686.%Convert.type (%Convert.type.062) = import_ref Core//prelude/parts/int, loc25_39, loaded [symbolic = @As.impl.686.%Convert (constants.%Convert.527)] +// CHECK:STDOUT: %As.impl_witness_table.eb4 = impl_witness_table (%Core.import_ref.78a), @As.impl.686 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { @@ -572,10 +572,10 @@ fn F() { // CHECK:STDOUT: %As.type.a96: type = facet_type <@As, @As(%i16)> [concrete] // CHECK:STDOUT: %Convert.type.be5: type = fn_type @Convert.1, @As(%i16) [concrete] // CHECK:STDOUT: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.062: type = fn_type @Convert.5, @impl.686(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.062: type = fn_type @Convert.5, @As.impl.686(%To) [symbolic] // CHECK:STDOUT: %Convert.527: %Convert.type.062 = struct_value () [symbolic] -// CHECK:STDOUT: %As.impl_witness.0ef: = impl_witness imports.%As.impl_witness_table.eb4, @impl.686(%int_16) [concrete] -// CHECK:STDOUT: %Convert.type.172: type = fn_type @Convert.5, @impl.686(%int_16) [concrete] +// CHECK:STDOUT: %As.impl_witness.0ef: = impl_witness imports.%As.impl_witness_table.eb4, @As.impl.686(%int_16) [concrete] +// CHECK:STDOUT: %Convert.type.172: type = fn_type @Convert.5, @As.impl.686(%int_16) [concrete] // CHECK:STDOUT: %Convert.489: %Convert.type.172 = struct_value () [concrete] // CHECK:STDOUT: %As.facet: %As.type.a96 = facet_value Core.IntLiteral, (%As.impl_witness.0ef) [concrete] // CHECK:STDOUT: %.91d: type = fn_type_with_self_type %Convert.type.be5, %As.facet [concrete] @@ -595,8 +595,8 @@ fn F() { // CHECK:STDOUT: } { // CHECK:STDOUT: // CHECK:STDOUT: } -// CHECK:STDOUT: %Core.import_ref.78a: @impl.686.%Convert.type (%Convert.type.062) = import_ref Core//prelude/parts/int, loc25_39, loaded [symbolic = @impl.686.%Convert (constants.%Convert.527)] -// CHECK:STDOUT: %As.impl_witness_table.eb4 = impl_witness_table (%Core.import_ref.78a), @impl.686 [concrete] +// CHECK:STDOUT: %Core.import_ref.78a: @As.impl.686.%Convert.type (%Convert.type.062) = import_ref Core//prelude/parts/int, loc25_39, loaded [symbolic = @As.impl.686.%Convert (constants.%Convert.527)] +// CHECK:STDOUT: %As.impl_witness_table.eb4 = impl_witness_table (%Core.import_ref.78a), @As.impl.686 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { @@ -629,10 +629,10 @@ fn F() { // CHECK:STDOUT: %As.type.a96: type = facet_type <@As, @As(%i16)> [concrete] // CHECK:STDOUT: %Convert.type.be5: type = fn_type @Convert.1, @As(%i16) [concrete] // CHECK:STDOUT: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.062: type = fn_type @Convert.5, @impl.686(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.062: type = fn_type @Convert.5, @As.impl.686(%To) [symbolic] // CHECK:STDOUT: %Convert.527: %Convert.type.062 = struct_value () [symbolic] -// CHECK:STDOUT: %As.impl_witness.0ef: = impl_witness imports.%As.impl_witness_table.eb4, @impl.686(%int_16) [concrete] -// CHECK:STDOUT: %Convert.type.172: type = fn_type @Convert.5, @impl.686(%int_16) [concrete] +// CHECK:STDOUT: %As.impl_witness.0ef: = impl_witness imports.%As.impl_witness_table.eb4, @As.impl.686(%int_16) [concrete] +// CHECK:STDOUT: %Convert.type.172: type = fn_type @Convert.5, @As.impl.686(%int_16) [concrete] // CHECK:STDOUT: %Convert.489: %Convert.type.172 = struct_value () [concrete] // CHECK:STDOUT: %As.facet: %As.type.a96 = facet_value Core.IntLiteral, (%As.impl_witness.0ef) [concrete] // CHECK:STDOUT: %.91d: type = fn_type_with_self_type %Convert.type.be5, %As.facet [concrete] @@ -652,8 +652,8 @@ fn F() { // CHECK:STDOUT: } { // CHECK:STDOUT: // CHECK:STDOUT: } -// CHECK:STDOUT: %Core.import_ref.78a: @impl.686.%Convert.type (%Convert.type.062) = import_ref Core//prelude/parts/int, loc25_39, loaded [symbolic = @impl.686.%Convert (constants.%Convert.527)] -// CHECK:STDOUT: %As.impl_witness_table.eb4 = impl_witness_table (%Core.import_ref.78a), @impl.686 [concrete] +// CHECK:STDOUT: %Core.import_ref.78a: @As.impl.686.%Convert.type (%Convert.type.062) = import_ref Core//prelude/parts/int, loc25_39, loaded [symbolic = @As.impl.686.%Convert (constants.%Convert.527)] +// CHECK:STDOUT: %As.impl_witness_table.eb4 = impl_witness_table (%Core.import_ref.78a), @As.impl.686 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { @@ -686,10 +686,10 @@ fn F() { // CHECK:STDOUT: %As.type.a96: type = facet_type <@As, @As(%i16)> [concrete] // CHECK:STDOUT: %Convert.type.be5: type = fn_type @Convert.1, @As(%i16) [concrete] // CHECK:STDOUT: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.062: type = fn_type @Convert.5, @impl.686(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.062: type = fn_type @Convert.5, @As.impl.686(%To) [symbolic] // CHECK:STDOUT: %Convert.527: %Convert.type.062 = struct_value () [symbolic] -// CHECK:STDOUT: %As.impl_witness.0ef: = impl_witness imports.%As.impl_witness_table.eb4, @impl.686(%int_16) [concrete] -// CHECK:STDOUT: %Convert.type.172: type = fn_type @Convert.5, @impl.686(%int_16) [concrete] +// CHECK:STDOUT: %As.impl_witness.0ef: = impl_witness imports.%As.impl_witness_table.eb4, @As.impl.686(%int_16) [concrete] +// CHECK:STDOUT: %Convert.type.172: type = fn_type @Convert.5, @As.impl.686(%int_16) [concrete] // CHECK:STDOUT: %Convert.489: %Convert.type.172 = struct_value () [concrete] // CHECK:STDOUT: %As.facet: %As.type.a96 = facet_value Core.IntLiteral, (%As.impl_witness.0ef) [concrete] // CHECK:STDOUT: %.91d: type = fn_type_with_self_type %Convert.type.be5, %As.facet [concrete] @@ -709,8 +709,8 @@ fn F() { // CHECK:STDOUT: } { // CHECK:STDOUT: // CHECK:STDOUT: } -// CHECK:STDOUT: %Core.import_ref.78a: @impl.686.%Convert.type (%Convert.type.062) = import_ref Core//prelude/parts/int, loc25_39, loaded [symbolic = @impl.686.%Convert (constants.%Convert.527)] -// CHECK:STDOUT: %As.impl_witness_table.eb4 = impl_witness_table (%Core.import_ref.78a), @impl.686 [concrete] +// CHECK:STDOUT: %Core.import_ref.78a: @As.impl.686.%Convert.type (%Convert.type.062) = import_ref Core//prelude/parts/int, loc25_39, loaded [symbolic = @As.impl.686.%Convert (constants.%Convert.527)] +// CHECK:STDOUT: %As.impl_witness_table.eb4 = impl_witness_table (%Core.import_ref.78a), @As.impl.686 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { @@ -740,10 +740,10 @@ fn F() { // CHECK:STDOUT: %As.type.a96: type = facet_type <@As, @As(%i16)> [concrete] // CHECK:STDOUT: %Convert.type.be5: type = fn_type @Convert.1, @As(%i16) [concrete] // CHECK:STDOUT: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.062: type = fn_type @Convert.5, @impl.686(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.062: type = fn_type @Convert.5, @As.impl.686(%To) [symbolic] // CHECK:STDOUT: %Convert.527: %Convert.type.062 = struct_value () [symbolic] -// CHECK:STDOUT: %As.impl_witness.0ef: = impl_witness imports.%As.impl_witness_table.eb4, @impl.686(%int_16) [concrete] -// CHECK:STDOUT: %Convert.type.172: type = fn_type @Convert.5, @impl.686(%int_16) [concrete] +// CHECK:STDOUT: %As.impl_witness.0ef: = impl_witness imports.%As.impl_witness_table.eb4, @As.impl.686(%int_16) [concrete] +// CHECK:STDOUT: %Convert.type.172: type = fn_type @Convert.5, @As.impl.686(%int_16) [concrete] // CHECK:STDOUT: %Convert.489: %Convert.type.172 = struct_value () [concrete] // CHECK:STDOUT: %As.facet: %As.type.a96 = facet_value Core.IntLiteral, (%As.impl_witness.0ef) [concrete] // CHECK:STDOUT: %.91d: type = fn_type_with_self_type %Convert.type.be5, %As.facet [concrete] @@ -758,8 +758,8 @@ fn F() { // CHECK:STDOUT: .foo = // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } -// CHECK:STDOUT: %Core.import_ref.78a: @impl.686.%Convert.type (%Convert.type.062) = import_ref Core//prelude/parts/int, loc25_39, loaded [symbolic = @impl.686.%Convert (constants.%Convert.527)] -// CHECK:STDOUT: %As.impl_witness_table.eb4 = impl_witness_table (%Core.import_ref.78a), @impl.686 [concrete] +// CHECK:STDOUT: %Core.import_ref.78a: @As.impl.686.%Convert.type (%Convert.type.062) = import_ref Core//prelude/parts/int, loc25_39, loaded [symbolic = @As.impl.686.%Convert (constants.%Convert.527)] +// CHECK:STDOUT: %As.impl_witness_table.eb4 = impl_witness_table (%Core.import_ref.78a), @As.impl.686 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { diff --git a/toolchain/check/testdata/interop/cpp/function/param_int32.carbon b/toolchain/check/testdata/interop/cpp/function/param_int32.carbon index 97481c47bef6..71e499c6b5c5 100644 --- a/toolchain/check/testdata/interop/cpp/function/param_int32.carbon +++ b/toolchain/check/testdata/interop/cpp/function/param_int32.carbon @@ -391,10 +391,10 @@ fn F() { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -414,8 +414,8 @@ fn F() { // CHECK:STDOUT: } { // CHECK:STDOUT: // CHECK:STDOUT: } -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { @@ -455,10 +455,10 @@ fn F() { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -480,9 +480,9 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.abd = import_ref Core//prelude/parts/int_literal, loc13_50, unloaded // CHECK:STDOUT: %Core.import_ref.5e6: %Op.type.18a = import_ref Core//prelude/parts/int_literal, loc14_31, loaded [concrete = constants.%Op.99f] -// CHECK:STDOUT: %Negate.impl_witness_table.b22 = impl_witness_table (%Core.import_ref.abd, %Core.import_ref.5e6), @impl.0ef [concrete] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Negate.impl_witness_table.b22 = impl_witness_table (%Core.import_ref.abd, %Core.import_ref.5e6), @Negate.impl.0ef [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { @@ -518,10 +518,10 @@ fn F() { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -541,8 +541,8 @@ fn F() { // CHECK:STDOUT: } { // CHECK:STDOUT: // CHECK:STDOUT: } -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { @@ -573,10 +573,10 @@ fn F() { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -596,8 +596,8 @@ fn F() { // CHECK:STDOUT: } { // CHECK:STDOUT: // CHECK:STDOUT: } -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { @@ -628,10 +628,10 @@ fn F() { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -651,8 +651,8 @@ fn F() { // CHECK:STDOUT: } { // CHECK:STDOUT: // CHECK:STDOUT: } -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { @@ -684,10 +684,10 @@ fn F() { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -710,8 +710,8 @@ fn F() { // CHECK:STDOUT: } { // CHECK:STDOUT: // CHECK:STDOUT: } -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { @@ -751,10 +751,10 @@ fn F() { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -788,8 +788,8 @@ fn F() { // CHECK:STDOUT: } { // CHECK:STDOUT: // CHECK:STDOUT: } -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: %foo2.decl: %foo2.type = fn_decl @foo2 [concrete = constants.%foo2] { // CHECK:STDOUT: // CHECK:STDOUT: } { @@ -852,10 +852,10 @@ fn F() { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -875,8 +875,8 @@ fn F() { // CHECK:STDOUT: } { // CHECK:STDOUT: // CHECK:STDOUT: } -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { @@ -933,10 +933,10 @@ fn F() { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -956,8 +956,8 @@ fn F() { // CHECK:STDOUT: } { // CHECK:STDOUT: // CHECK:STDOUT: } -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { diff --git a/toolchain/check/testdata/interop/cpp/function/pointer.carbon b/toolchain/check/testdata/interop/cpp/function/pointer.carbon index 968c04933546..1c60bc9b63d8 100644 --- a/toolchain/check/testdata/interop/cpp/function/pointer.carbon +++ b/toolchain/check/testdata/interop/cpp/function/pointer.carbon @@ -226,7 +226,7 @@ fn F() { // CHECK:STDOUT: %ptr.5c7: type = ptr_type %S [concrete] // CHECK:STDOUT: %foo.type: type = fn_type @foo [concrete] // CHECK:STDOUT: %foo: %foo.type = struct_value () [concrete] -// CHECK:STDOUT: %Op.type.642: type = fn_type @Op.2, @impl(%S) [concrete] +// CHECK:STDOUT: %Op.type.642: type = fn_type @Op.2, @Destroy.impl(%S) [concrete] // CHECK:STDOUT: %Op.ab5: %Op.type.642 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -287,9 +287,9 @@ fn F() { // CHECK:STDOUT: %foo.type: type = fn_type @foo [concrete] // CHECK:STDOUT: %foo: %foo.type = struct_value () [concrete] // CHECK:STDOUT: %ptr.dfe: type = ptr_type %ptr.5c7 [concrete] -// CHECK:STDOUT: %Op.type.c07: type = fn_type @Op.2, @impl(%ptr.5c7) [concrete] +// CHECK:STDOUT: %Op.type.c07: type = fn_type @Op.2, @Destroy.impl(%ptr.5c7) [concrete] // CHECK:STDOUT: %Op.64b: %Op.type.c07 = struct_value () [concrete] -// CHECK:STDOUT: %Op.type.642: type = fn_type @Op.2, @impl(%S) [concrete] +// CHECK:STDOUT: %Op.type.642: type = fn_type @Op.2, @Destroy.impl(%S) [concrete] // CHECK:STDOUT: %Op.ab5: %Op.type.642 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -366,7 +366,7 @@ fn F() { // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] // CHECK:STDOUT: %ptr.ff5: type = ptr_type %const [concrete] -// CHECK:STDOUT: %Op.type.372: type = fn_type @Op.2, @impl(%const) [concrete] +// CHECK:STDOUT: %Op.type.372: type = fn_type @Op.2, @Destroy.impl(%const) [concrete] // CHECK:STDOUT: %Op.af7: %Op.type.372 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -532,7 +532,7 @@ fn F() { // CHECK:STDOUT: %foo.type: type = fn_type @foo [concrete] // CHECK:STDOUT: %foo: %foo.type = struct_value () [concrete] // CHECK:STDOUT: %ptr.5c7: type = ptr_type %S [concrete] -// CHECK:STDOUT: %Op.type.642: type = fn_type @Op.2, @impl(%S) [concrete] +// CHECK:STDOUT: %Op.type.642: type = fn_type @Op.2, @Destroy.impl(%S) [concrete] // CHECK:STDOUT: %Op.ab5: %Op.type.642 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/interop/cpp/function/struct.carbon b/toolchain/check/testdata/interop/cpp/function/struct.carbon index 8735abcca551..f82bf8d6e5cd 100644 --- a/toolchain/check/testdata/interop/cpp/function/struct.carbon +++ b/toolchain/check/testdata/interop/cpp/function/struct.carbon @@ -407,7 +407,7 @@ fn F() { // CHECK:STDOUT: %foo.type: type = fn_type @foo [concrete] // CHECK:STDOUT: %foo: %foo.type = struct_value () [concrete] // CHECK:STDOUT: %S.val: %S = struct_value () [concrete] -// CHECK:STDOUT: %Op.type.642: type = fn_type @Op.2, @impl(%S) [concrete] +// CHECK:STDOUT: %Op.type.642: type = fn_type @Op.2, @Destroy.impl(%S) [concrete] // CHECK:STDOUT: %Op.ab5: %Op.type.642 = struct_value () [concrete] // CHECK:STDOUT: %ptr.5c7: type = ptr_type %S [concrete] // CHECK:STDOUT: } @@ -452,7 +452,7 @@ fn F() { // CHECK:STDOUT: %foo.type: type = fn_type @foo [concrete] // CHECK:STDOUT: %foo: %foo.type = struct_value () [concrete] // CHECK:STDOUT: %S.val: %S = struct_value () [concrete] -// CHECK:STDOUT: %Op.type.642: type = fn_type @Op.2, @impl(%S) [concrete] +// CHECK:STDOUT: %Op.type.642: type = fn_type @Op.2, @Destroy.impl(%S) [concrete] // CHECK:STDOUT: %Op.ab5: %Op.type.642 = struct_value () [concrete] // CHECK:STDOUT: %ptr.5c7: type = ptr_type %S [concrete] // CHECK:STDOUT: } @@ -497,7 +497,7 @@ fn F() { // CHECK:STDOUT: %foo.type: type = fn_type @foo [concrete] // CHECK:STDOUT: %foo: %foo.type = struct_value () [concrete] // CHECK:STDOUT: %S.val: %S = struct_value () [concrete] -// CHECK:STDOUT: %Op.type.642: type = fn_type @Op.2, @impl(%S) [concrete] +// CHECK:STDOUT: %Op.type.642: type = fn_type @Op.2, @Destroy.impl(%S) [concrete] // CHECK:STDOUT: %Op.ab5: %Op.type.642 = struct_value () [concrete] // CHECK:STDOUT: %ptr.5c7: type = ptr_type %S [concrete] // CHECK:STDOUT: } @@ -542,7 +542,7 @@ fn F() { // CHECK:STDOUT: %foo.type: type = fn_type @foo [concrete] // CHECK:STDOUT: %foo: %foo.type = struct_value () [concrete] // CHECK:STDOUT: %S.val: %S = struct_value () [concrete] -// CHECK:STDOUT: %Op.type.2b5: type = fn_type @Op.2, @impl(%S) [concrete] +// CHECK:STDOUT: %Op.type.2b5: type = fn_type @Op.2, @Destroy.impl(%S) [concrete] // CHECK:STDOUT: %Op.9b3: %Op.type.2b5 = struct_value () [concrete] // CHECK:STDOUT: %ptr.edf: type = ptr_type %S [concrete] // CHECK:STDOUT: } @@ -587,7 +587,7 @@ fn F() { // CHECK:STDOUT: %foo.type: type = fn_type @foo [concrete] // CHECK:STDOUT: %foo: %foo.type = struct_value () [concrete] // CHECK:STDOUT: %S.val: %S = struct_value () [concrete] -// CHECK:STDOUT: %Op.type.17f: type = fn_type @Op.2, @impl(%S) [concrete] +// CHECK:STDOUT: %Op.type.17f: type = fn_type @Op.2, @Destroy.impl(%S) [concrete] // CHECK:STDOUT: %Op.463: %Op.type.17f = struct_value () [concrete] // CHECK:STDOUT: %ptr.887: type = ptr_type %S [concrete] // CHECK:STDOUT: } @@ -639,7 +639,7 @@ fn F() { // CHECK:STDOUT: %foo.type: type = fn_type @foo [concrete] // CHECK:STDOUT: %foo: %foo.type = struct_value () [concrete] // CHECK:STDOUT: %S.val: %S = struct_value () [concrete] -// CHECK:STDOUT: %Op.type.642: type = fn_type @Op.2, @impl(%S) [concrete] +// CHECK:STDOUT: %Op.type.642: type = fn_type @Op.2, @Destroy.impl(%S) [concrete] // CHECK:STDOUT: %Op.ab5: %Op.type.642 = struct_value () [concrete] // CHECK:STDOUT: %ptr.5c7: type = ptr_type %S [concrete] // CHECK:STDOUT: } @@ -694,7 +694,7 @@ fn F() { // CHECK:STDOUT: %S.val: %S = struct_value () [concrete] // CHECK:STDOUT: %bar.type: type = fn_type @bar [concrete] // CHECK:STDOUT: %bar: %bar.type = struct_value () [concrete] -// CHECK:STDOUT: %Op.type.642: type = fn_type @Op.2, @impl(%S) [concrete] +// CHECK:STDOUT: %Op.type.642: type = fn_type @Op.2, @Destroy.impl(%S) [concrete] // CHECK:STDOUT: %Op.ab5: %Op.type.642 = struct_value () [concrete] // CHECK:STDOUT: %ptr.5c7: type = ptr_type %S [concrete] // CHECK:STDOUT: } @@ -807,7 +807,7 @@ fn F() { // CHECK:STDOUT: %S: type = class_type @S [concrete] // CHECK:STDOUT: %foo.type: type = fn_type @foo [concrete] // CHECK:STDOUT: %foo: %foo.type = struct_value () [concrete] -// CHECK:STDOUT: %Op.type.642: type = fn_type @Op.2, @impl(%S) [concrete] +// CHECK:STDOUT: %Op.type.642: type = fn_type @Op.2, @Destroy.impl(%S) [concrete] // CHECK:STDOUT: %Op.ab5: %Op.type.642 = struct_value () [concrete] // CHECK:STDOUT: %ptr.5c7: type = ptr_type %S [concrete] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/interop/cpp/function/union.carbon b/toolchain/check/testdata/interop/cpp/function/union.carbon index f7832f2fed71..6e746983e3e0 100644 --- a/toolchain/check/testdata/interop/cpp/function/union.carbon +++ b/toolchain/check/testdata/interop/cpp/function/union.carbon @@ -453,7 +453,7 @@ fn F() { // CHECK:STDOUT: %foo.type: type = fn_type @foo [concrete] // CHECK:STDOUT: %foo: %foo.type = struct_value () [concrete] // CHECK:STDOUT: %U.val: %U = struct_value () [concrete] -// CHECK:STDOUT: %Op.type.0b7: type = fn_type @Op.2, @impl(%U) [concrete] +// CHECK:STDOUT: %Op.type.0b7: type = fn_type @Op.2, @Destroy.impl(%U) [concrete] // CHECK:STDOUT: %Op.2fa: %Op.type.0b7 = struct_value () [concrete] // CHECK:STDOUT: %ptr.86f: type = ptr_type %U [concrete] // CHECK:STDOUT: } @@ -558,7 +558,7 @@ fn F() { // CHECK:STDOUT: %foo.type: type = fn_type @foo [concrete] // CHECK:STDOUT: %foo: %foo.type = struct_value () [concrete] // CHECK:STDOUT: %U.val: %U = struct_value () [concrete] -// CHECK:STDOUT: %Op.type.2e1: type = fn_type @Op.2, @impl(%U) [concrete] +// CHECK:STDOUT: %Op.type.2e1: type = fn_type @Op.2, @Destroy.impl(%U) [concrete] // CHECK:STDOUT: %Op.d5d: %Op.type.2e1 = struct_value () [concrete] // CHECK:STDOUT: %ptr.87e: type = ptr_type %U [concrete] // CHECK:STDOUT: } @@ -603,7 +603,7 @@ fn F() { // CHECK:STDOUT: %foo.type: type = fn_type @foo [concrete] // CHECK:STDOUT: %foo: %foo.type = struct_value () [concrete] // CHECK:STDOUT: %U.val: %U = struct_value () [concrete] -// CHECK:STDOUT: %Op.type.ee1: type = fn_type @Op.2, @impl(%U) [concrete] +// CHECK:STDOUT: %Op.type.ee1: type = fn_type @Op.2, @Destroy.impl(%U) [concrete] // CHECK:STDOUT: %Op.28c: %Op.type.ee1 = struct_value () [concrete] // CHECK:STDOUT: %ptr.8c1: type = ptr_type %U [concrete] // CHECK:STDOUT: } @@ -655,7 +655,7 @@ fn F() { // CHECK:STDOUT: %foo.type: type = fn_type @foo [concrete] // CHECK:STDOUT: %foo: %foo.type = struct_value () [concrete] // CHECK:STDOUT: %U.val: %U = struct_value () [concrete] -// CHECK:STDOUT: %Op.type.0b7: type = fn_type @Op.2, @impl(%U) [concrete] +// CHECK:STDOUT: %Op.type.0b7: type = fn_type @Op.2, @Destroy.impl(%U) [concrete] // CHECK:STDOUT: %Op.2fa: %Op.type.0b7 = struct_value () [concrete] // CHECK:STDOUT: %ptr.86f: type = ptr_type %U [concrete] // CHECK:STDOUT: } @@ -710,7 +710,7 @@ fn F() { // CHECK:STDOUT: %U.val: %U = struct_value () [concrete] // CHECK:STDOUT: %bar.type: type = fn_type @bar [concrete] // CHECK:STDOUT: %bar: %bar.type = struct_value () [concrete] -// CHECK:STDOUT: %Op.type.0b7: type = fn_type @Op.2, @impl(%U) [concrete] +// CHECK:STDOUT: %Op.type.0b7: type = fn_type @Op.2, @Destroy.impl(%U) [concrete] // CHECK:STDOUT: %Op.2fa: %Op.type.0b7 = struct_value () [concrete] // CHECK:STDOUT: %ptr.86f: type = ptr_type %U [concrete] // CHECK:STDOUT: } @@ -823,7 +823,7 @@ fn F() { // CHECK:STDOUT: %U: type = class_type @U [concrete] // CHECK:STDOUT: %foo.type: type = fn_type @foo [concrete] // CHECK:STDOUT: %foo: %foo.type = struct_value () [concrete] -// CHECK:STDOUT: %Op.type.0b7: type = fn_type @Op.2, @impl(%U) [concrete] +// CHECK:STDOUT: %Op.type.0b7: type = fn_type @Op.2, @Destroy.impl(%U) [concrete] // CHECK:STDOUT: %Op.2fa: %Op.type.0b7 = struct_value () [concrete] // CHECK:STDOUT: %ptr.86f: type = ptr_type %U [concrete] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/interop/cpp/typedef.carbon b/toolchain/check/testdata/interop/cpp/typedef.carbon index 247752e7ae48..11375bef9b65 100644 --- a/toolchain/check/testdata/interop/cpp/typedef.carbon +++ b/toolchain/check/testdata/interop/cpp/typedef.carbon @@ -60,10 +60,10 @@ fn H(var c: Cpp.C, var d: Cpp.D) { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -73,10 +73,10 @@ fn H(var c: Cpp.C, var d: Cpp.D) { // CHECK:STDOUT: %int_42.c68: %i32 = int_value 42 [concrete] // CHECK:STDOUT: %ptr.235: type = ptr_type %i32 [concrete] // CHECK:STDOUT: %pattern_type.fe8: type = pattern_type %ptr.235 [concrete] -// CHECK:STDOUT: %Op.type.ba2: type = fn_type @Op.3, @impl.49c(%ptr.235) [concrete] +// CHECK:STDOUT: %Op.type.ba2: type = fn_type @Op.3, @Destroy.impl(%ptr.235) [concrete] // CHECK:STDOUT: %Op.649: %Op.type.ba2 = struct_value () [concrete] // CHECK:STDOUT: %ptr.5d5: type = ptr_type %ptr.235 [concrete] -// CHECK:STDOUT: %Op.type.a17: type = fn_type @Op.3, @impl.49c(%i32) [concrete] +// CHECK:STDOUT: %Op.type.a17: type = fn_type @Op.3, @Destroy.impl(%i32) [concrete] // CHECK:STDOUT: %Op.e6a: %Op.type.a17 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -86,8 +86,8 @@ fn H(var c: Cpp.C, var d: Cpp.D) { // CHECK:STDOUT: .bar = @F.%i32.2 // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { @@ -146,7 +146,7 @@ fn H(var c: Cpp.C, var d: Cpp.D) { // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %ptr.d9e: type = ptr_type %C [concrete] // CHECK:STDOUT: %pattern_type.a31: type = pattern_type %ptr.d9e [concrete] -// CHECK:STDOUT: %Op.type.cb8: type = fn_type @Op.2, @impl(%ptr.d9e) [concrete] +// CHECK:STDOUT: %Op.type.cb8: type = fn_type @Op.2, @Destroy.impl(%ptr.d9e) [concrete] // CHECK:STDOUT: %Op.8e3: %Op.type.cb8 = struct_value () [concrete] // CHECK:STDOUT: %ptr.01d: type = ptr_type %ptr.d9e [concrete] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/let/compile_time_bindings.carbon b/toolchain/check/testdata/let/compile_time_bindings.carbon index f41680a2dc5b..5bfc91384a23 100644 --- a/toolchain/check/testdata/let/compile_time_bindings.carbon +++ b/toolchain/check/testdata/let/compile_time_bindings.carbon @@ -320,17 +320,17 @@ impl i32 as Empty { // CHECK:STDOUT: %tuple.elem0.eaf: %empty_tuple.type = tuple_access %c, element0 [symbolic] // CHECK:STDOUT: %tuple.elem1: %empty_tuple.type = tuple_access %c, element1 [symbolic] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.073: type = fn_type @Op.2, @impl(%tuple.type.2d5) [concrete] +// CHECK:STDOUT: %Op.type.073: type = fn_type @Op.2, @Destroy.impl(%tuple.type.2d5) [concrete] // CHECK:STDOUT: %Op.dce: %Op.type.073 = struct_value () [concrete] // CHECK:STDOUT: %Op.specific_fn.234: = specific_function %Op.dce, @Op.2(%tuple.type.2d5) [concrete] -// CHECK:STDOUT: %Op.type.4e8: type = fn_type @Op.2, @impl(%tuple.type.bcd) [concrete] +// CHECK:STDOUT: %Op.type.4e8: type = fn_type @Op.2, @Destroy.impl(%tuple.type.bcd) [concrete] // CHECK:STDOUT: %Op.166: %Op.type.4e8 = struct_value () [concrete] // CHECK:STDOUT: %Op.specific_fn.48a: = specific_function %Op.166, @Op.2(%tuple.type.bcd) [concrete] -// CHECK:STDOUT: %Op.type.23e: type = fn_type @Op.2, @impl(%tuple.type.9fb) [concrete] +// CHECK:STDOUT: %Op.type.23e: type = fn_type @Op.2, @Destroy.impl(%tuple.type.9fb) [concrete] // CHECK:STDOUT: %Op.f19: %Op.type.23e = struct_value () [concrete] // CHECK:STDOUT: %ptr.652: type = ptr_type %tuple.type.9fb [concrete] // CHECK:STDOUT: %Op.specific_fn.d2b: = specific_function %Op.f19, @Op.2(%tuple.type.9fb) [concrete] -// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @impl(%empty_tuple.type) [concrete] +// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @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.393: = specific_function %Op.ea3, @Op.2(%empty_tuple.type) [concrete] @@ -640,10 +640,10 @@ impl i32 as Empty { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -662,8 +662,8 @@ impl i32 as Empty { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -723,10 +723,10 @@ impl i32 as Empty { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -749,8 +749,8 @@ impl i32 as Empty { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -1025,10 +1025,10 @@ impl i32 as Empty { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -1047,8 +1047,8 @@ impl i32 as Empty { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -1058,12 +1058,12 @@ impl i32 as Empty { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Empty.decl: type = interface_decl @Empty [concrete = constants.%Empty.type] {} {} -// CHECK:STDOUT: impl_decl @impl.cfd [concrete] {} { +// CHECK:STDOUT: impl_decl @Empty.impl [concrete] {} { // 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: %Empty.ref: type = name_ref Empty, file.%Empty.decl [concrete = constants.%Empty.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %Empty.impl_witness_table = impl_witness_table (), @impl.cfd [concrete] +// CHECK:STDOUT: %Empty.impl_witness_table = impl_witness_table (), @Empty.impl [concrete] // CHECK:STDOUT: %Empty.impl_witness: = impl_witness %Empty.impl_witness_table [concrete = constants.%Empty.impl_witness] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -1075,7 +1075,7 @@ impl i32 as Empty { // CHECK:STDOUT: witness = () // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.cfd: %i32.loc6 as %Empty.ref { +// CHECK:STDOUT: impl @Empty.impl: %i32.loc6 as %Empty.ref { // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %Zero.patt: %pattern_type.7ce = binding_pattern Zero [concrete] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/let/fail_duplicate_decl.carbon b/toolchain/check/testdata/let/fail_duplicate_decl.carbon index 06836f7d2639..aab8d94aab99 100644 --- a/toolchain/check/testdata/let/fail_duplicate_decl.carbon +++ b/toolchain/check/testdata/let/fail_duplicate_decl.carbon @@ -40,10 +40,10 @@ fn F() { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -66,8 +66,8 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/let/fail_modifiers.carbon b/toolchain/check/testdata/let/fail_modifiers.carbon index 24740a6bfb92..8d2147e2df62 100644 --- a/toolchain/check/testdata/let/fail_modifiers.carbon +++ b/toolchain/check/testdata/let/fail_modifiers.carbon @@ -102,10 +102,10 @@ protected protected let i: i32 = 1; // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -124,8 +124,8 @@ protected protected let i: i32 = 1; // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/let/global.carbon b/toolchain/check/testdata/let/global.carbon index 6f5a87c1a329..41eeb83cd052 100644 --- a/toolchain/check/testdata/let/global.carbon +++ b/toolchain/check/testdata/let/global.carbon @@ -30,10 +30,10 @@ fn F() -> i32 { return n; } // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -54,8 +54,8 @@ fn F() -> i32 { return n; } // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/let/shadowed_decl.carbon b/toolchain/check/testdata/let/shadowed_decl.carbon index 1299cf0226f4..e93438f0d116 100644 --- a/toolchain/check/testdata/let/shadowed_decl.carbon +++ b/toolchain/check/testdata/let/shadowed_decl.carbon @@ -34,10 +34,10 @@ fn F(a: i32) -> i32 { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -56,8 +56,8 @@ fn F(a: i32) -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/main_run/return_i32.carbon b/toolchain/check/testdata/main_run/return_i32.carbon index aab914096ef7..a14717ff73f3 100644 --- a/toolchain/check/testdata/main_run/return_i32.carbon +++ b/toolchain/check/testdata/main_run/return_i32.carbon @@ -29,10 +29,10 @@ fn Run() -> i32 { return 0; } // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -51,8 +51,8 @@ fn Run() -> i32 { return 0; } // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/namespace/add_to_import.carbon b/toolchain/check/testdata/namespace/add_to_import.carbon index 6d6dab6051d5..9014ef48c90e 100644 --- a/toolchain/check/testdata/namespace/add_to_import.carbon +++ b/toolchain/check/testdata/namespace/add_to_import.carbon @@ -60,10 +60,10 @@ var a: i32 = NS.A(); // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -86,8 +86,8 @@ var a: i32 = NS.A(); // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/namespace/alias.carbon b/toolchain/check/testdata/namespace/alias.carbon index 510b245b5da0..ccfc2f7a29ee 100644 --- a/toolchain/check/testdata/namespace/alias.carbon +++ b/toolchain/check/testdata/namespace/alias.carbon @@ -40,10 +40,10 @@ fn D() -> i32 { return C(); } // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -66,8 +66,8 @@ fn D() -> i32 { return C(); } // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/namespace/fail_decl_in_alias.carbon b/toolchain/check/testdata/namespace/fail_decl_in_alias.carbon index 65dbafd27f0d..1e3fe7dd298c 100644 --- a/toolchain/check/testdata/namespace/fail_decl_in_alias.carbon +++ b/toolchain/check/testdata/namespace/fail_decl_in_alias.carbon @@ -42,10 +42,10 @@ fn ns.A() -> i32 { return 0; } // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -64,8 +64,8 @@ fn ns.A() -> i32 { return 0; } // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/namespace/merging_with_indirections.carbon b/toolchain/check/testdata/namespace/merging_with_indirections.carbon index da76c8afc600..c413464482cf 100644 --- a/toolchain/check/testdata/namespace/merging_with_indirections.carbon +++ b/toolchain/check/testdata/namespace/merging_with_indirections.carbon @@ -170,7 +170,7 @@ fn Run() { // CHECK:STDOUT: %complete_type.357: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %pattern_type.272: type = pattern_type %A [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.d74: type = fn_type @Op.2, @impl(%A) [concrete] +// CHECK:STDOUT: %Op.type.d74: type = fn_type @Op.2, @Destroy.impl(%A) [concrete] // CHECK:STDOUT: %Op.478: %Op.type.d74 = struct_value () [concrete] // CHECK:STDOUT: %ptr.07e: type = ptr_type %A [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.478, @Op.2(%A) [concrete] diff --git a/toolchain/check/testdata/namespace/shadow.carbon b/toolchain/check/testdata/namespace/shadow.carbon index 85bb9de14b72..58da3dca2f69 100644 --- a/toolchain/check/testdata/namespace/shadow.carbon +++ b/toolchain/check/testdata/namespace/shadow.carbon @@ -53,10 +53,10 @@ fn N.M.B() -> i32 { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -65,7 +65,7 @@ fn N.M.B() -> i32 { // CHECK:STDOUT: %bound_method: = bound_method %int_0.5c6, %Convert.specific_fn [concrete] // CHECK:STDOUT: %int_0.6a9: %i32 = int_value 0 [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.a17: type = fn_type @Op.3, @impl.49c(%i32) [concrete] +// CHECK:STDOUT: %Op.type.a17: type = fn_type @Op.3, @Destroy.impl(%i32) [concrete] // CHECK:STDOUT: %Op.e6a: %Op.type.a17 = struct_value () [concrete] // CHECK:STDOUT: %ptr.235: type = ptr_type %i32 [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.e6a, @Op.3(%i32) [concrete] @@ -81,8 +81,8 @@ fn N.M.B() -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/operators/builtin/and.carbon b/toolchain/check/testdata/operators/builtin/and.carbon index 2d1f2f27cf1a..06ef0ca0fc53 100644 --- a/toolchain/check/testdata/operators/builtin/and.carbon +++ b/toolchain/check/testdata/operators/builtin/and.carbon @@ -50,11 +50,11 @@ fn PartialConstant(x: bool) { // CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @impl(%empty_tuple.type) [concrete] +// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @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.393: = specific_function %Op.ea3, @Op.2(%empty_tuple.type) [concrete] -// CHECK:STDOUT: %Op.type.655: type = fn_type @Op.2, @impl(bool) [concrete] +// CHECK:STDOUT: %Op.type.655: type = fn_type @Op.2, @Destroy.impl(bool) [concrete] // CHECK:STDOUT: %Op.8b7: %Op.type.655 = struct_value () [concrete] // CHECK:STDOUT: %ptr.bb2: type = ptr_type bool [concrete] // CHECK:STDOUT: %Op.specific_fn.c3f: = specific_function %Op.8b7, @Op.2(bool) [concrete] diff --git a/toolchain/check/testdata/operators/builtin/assignment.carbon b/toolchain/check/testdata/operators/builtin/assignment.carbon index 14f4b8a4dbb7..ba6711665481 100644 --- a/toolchain/check/testdata/operators/builtin/assignment.carbon +++ b/toolchain/check/testdata/operators/builtin/assignment.carbon @@ -47,10 +47,10 @@ fn Main() { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -102,17 +102,17 @@ fn Main() { // CHECK:STDOUT: %bound_method.5ba: = bound_method %int_10.64f, %Convert.specific_fn [concrete] // CHECK:STDOUT: %int_10.265: %i32 = int_value 10 [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.ba2: type = fn_type @Op.3, @impl.49c(%ptr.235) [concrete] +// CHECK:STDOUT: %Op.type.ba2: type = fn_type @Op.3, @Destroy.impl(%ptr.235) [concrete] // CHECK:STDOUT: %Op.649: %Op.type.ba2 = struct_value () [concrete] // CHECK:STDOUT: %ptr.5d5: type = ptr_type %ptr.235 [concrete] // CHECK:STDOUT: %Op.specific_fn.829: = specific_function %Op.649, @Op.3(%ptr.235) [concrete] -// CHECK:STDOUT: %Op.type.da3: type = fn_type @Op.3, @impl.49c(%struct_type.a.b.501) [concrete] +// CHECK:STDOUT: %Op.type.da3: type = fn_type @Op.3, @Destroy.impl(%struct_type.a.b.501) [concrete] // CHECK:STDOUT: %Op.9db: %Op.type.da3 = struct_value () [concrete] // CHECK:STDOUT: %Op.specific_fn.1e0: = specific_function %Op.9db, @Op.3(%struct_type.a.b.501) [concrete] -// CHECK:STDOUT: %Op.type.a4a: type = fn_type @Op.3, @impl.49c(%tuple.type.d07) [concrete] +// CHECK:STDOUT: %Op.type.a4a: type = fn_type @Op.3, @Destroy.impl(%tuple.type.d07) [concrete] // CHECK:STDOUT: %Op.7c6: %Op.type.a4a = struct_value () [concrete] // CHECK:STDOUT: %Op.specific_fn.bbb: = specific_function %Op.7c6, @Op.3(%tuple.type.d07) [concrete] -// CHECK:STDOUT: %Op.type.a17: type = fn_type @Op.3, @impl.49c(%i32) [concrete] +// CHECK:STDOUT: %Op.type.a17: type = fn_type @Op.3, @Destroy.impl(%i32) [concrete] // CHECK:STDOUT: %Op.e6a: %Op.type.a17 = struct_value () [concrete] // CHECK:STDOUT: %Op.specific_fn.014: = specific_function %Op.e6a, @Op.3(%i32) [concrete] // CHECK:STDOUT: } @@ -127,8 +127,8 @@ fn Main() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/operators/builtin/fail_assignment_to_non_assignable.carbon b/toolchain/check/testdata/operators/builtin/fail_assignment_to_non_assignable.carbon index 0060230bbc99..049de80ebc95 100644 --- a/toolchain/check/testdata/operators/builtin/fail_assignment_to_non_assignable.carbon +++ b/toolchain/check/testdata/operators/builtin/fail_assignment_to_non_assignable.carbon @@ -81,10 +81,10 @@ fn Main() { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -119,7 +119,7 @@ fn Main() { // CHECK:STDOUT: %bound_method.5ba: = bound_method %int_10.64f, %Convert.specific_fn [concrete] // CHECK:STDOUT: %int_10.265: %i32 = int_value 10 [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.a17: type = fn_type @Op.3, @impl.49c(%i32) [concrete] +// CHECK:STDOUT: %Op.type.a17: type = fn_type @Op.3, @Destroy.impl(%i32) [concrete] // CHECK:STDOUT: %Op.e6a: %Op.type.a17 = struct_value () [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.e6a, @Op.3(%i32) [concrete] // CHECK:STDOUT: } @@ -134,8 +134,8 @@ fn Main() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/operators/builtin/fail_redundant_compound_access.carbon b/toolchain/check/testdata/operators/builtin/fail_redundant_compound_access.carbon index 65b6b8201564..7a32fe91044f 100644 --- a/toolchain/check/testdata/operators/builtin/fail_redundant_compound_access.carbon +++ b/toolchain/check/testdata/operators/builtin/fail_redundant_compound_access.carbon @@ -45,10 +45,10 @@ fn Main() { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -63,7 +63,7 @@ fn Main() { // CHECK:STDOUT: %bound_method.047: = bound_method %int_3.1ba, %Convert.specific_fn [concrete] // CHECK:STDOUT: %int_3.822: %i32 = int_value 3 [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.a17: type = fn_type @Op.3, @impl.49c(%i32) [concrete] +// CHECK:STDOUT: %Op.type.a17: type = fn_type @Op.3, @Destroy.impl(%i32) [concrete] // CHECK:STDOUT: %Op.e6a: %Op.type.a17 = struct_value () [concrete] // CHECK:STDOUT: %ptr.235: type = ptr_type %i32 [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.e6a, @Op.3(%i32) [concrete] @@ -79,8 +79,8 @@ fn Main() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/operators/builtin/fail_type_mismatch.carbon b/toolchain/check/testdata/operators/builtin/fail_type_mismatch.carbon index 0565131fdbaf..5a4a39379c9b 100644 --- a/toolchain/check/testdata/operators/builtin/fail_type_mismatch.carbon +++ b/toolchain/check/testdata/operators/builtin/fail_type_mismatch.carbon @@ -35,7 +35,7 @@ fn Main() { // CHECK:STDOUT: %ImplicitAs.type.cc7: type = generic_interface_type @ImplicitAs [concrete] // CHECK:STDOUT: %ImplicitAs.generic: %ImplicitAs.type.cc7 = struct_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.655: type = fn_type @Op.2, @impl.49c(bool) [concrete] +// CHECK:STDOUT: %Op.type.655: type = fn_type @Op.2, @Destroy.impl(bool) [concrete] // CHECK:STDOUT: %Op.8b7: %Op.type.655 = struct_value () [concrete] // CHECK:STDOUT: %ptr.bb2: type = ptr_type bool [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.8b7, @Op.2(bool) [concrete] diff --git a/toolchain/check/testdata/operators/builtin/fail_type_mismatch_assignment.carbon b/toolchain/check/testdata/operators/builtin/fail_type_mismatch_assignment.carbon index 19241b189331..275a07fe2970 100644 --- a/toolchain/check/testdata/operators/builtin/fail_type_mismatch_assignment.carbon +++ b/toolchain/check/testdata/operators/builtin/fail_type_mismatch_assignment.carbon @@ -41,10 +41,10 @@ fn Main() { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -54,7 +54,7 @@ fn Main() { // CHECK:STDOUT: %int_3.822: %i32 = int_value 3 [concrete] // CHECK:STDOUT: %float: f64 = float_literal 5.6000000000000005 [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.a17: type = fn_type @Op.3, @impl.49c(%i32) [concrete] +// CHECK:STDOUT: %Op.type.a17: type = fn_type @Op.3, @Destroy.impl(%i32) [concrete] // CHECK:STDOUT: %Op.e6a: %Op.type.a17 = struct_value () [concrete] // CHECK:STDOUT: %ptr.235: type = ptr_type %i32 [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.e6a, @Op.3(%i32) [concrete] @@ -70,8 +70,8 @@ fn Main() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/operators/builtin/or.carbon b/toolchain/check/testdata/operators/builtin/or.carbon index 87b1e6cec2d5..dbf9bdc1b68a 100644 --- a/toolchain/check/testdata/operators/builtin/or.carbon +++ b/toolchain/check/testdata/operators/builtin/or.carbon @@ -49,11 +49,11 @@ fn PartialConstant(x: bool) { // CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @impl(%empty_tuple.type) [concrete] +// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @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.393: = specific_function %Op.ea3, @Op.2(%empty_tuple.type) [concrete] -// CHECK:STDOUT: %Op.type.655: type = fn_type @Op.2, @impl(bool) [concrete] +// CHECK:STDOUT: %Op.type.655: type = fn_type @Op.2, @Destroy.impl(bool) [concrete] // CHECK:STDOUT: %Op.8b7: %Op.type.655 = struct_value () [concrete] // CHECK:STDOUT: %ptr.bb2: type = ptr_type bool [concrete] // CHECK:STDOUT: %Op.specific_fn.c3f: = specific_function %Op.8b7, @Op.2(bool) [concrete] diff --git a/toolchain/check/testdata/operators/builtin/unary_op.carbon b/toolchain/check/testdata/operators/builtin/unary_op.carbon index 14e61a81f63b..39265ad283f8 100644 --- a/toolchain/check/testdata/operators/builtin/unary_op.carbon +++ b/toolchain/check/testdata/operators/builtin/unary_op.carbon @@ -39,11 +39,11 @@ fn Constant() { // CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.655: type = fn_type @Op.2, @impl(bool) [concrete] +// CHECK:STDOUT: %Op.type.655: type = fn_type @Op.2, @Destroy.impl(bool) [concrete] // CHECK:STDOUT: %Op.8b7: %Op.type.655 = struct_value () [concrete] // CHECK:STDOUT: %ptr.bb2: type = ptr_type bool [concrete] // CHECK:STDOUT: %Op.specific_fn.c3f: = specific_function %Op.8b7, @Op.2(bool) [concrete] -// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @impl(%empty_tuple.type) [concrete] +// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @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.393: = specific_function %Op.ea3, @Op.2(%empty_tuple.type) [concrete] diff --git a/toolchain/check/testdata/operators/overloaded/eq.carbon b/toolchain/check/testdata/operators/overloaded/eq.carbon index 28023019c622..b31fd3eebe4c 100644 --- a/toolchain/check/testdata/operators/overloaded/eq.carbon +++ b/toolchain/check/testdata/operators/overloaded/eq.carbon @@ -129,14 +129,14 @@ fn TestLhsBad(a: D, b: C) -> bool { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} -// CHECK:STDOUT: impl_decl @impl.cac [concrete] {} { +// CHECK:STDOUT: impl_decl @EqWith.impl.cac [concrete] {} { // CHECK:STDOUT: %C.ref.loc6_6: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %EqWith.ref: %EqWith.type.c2e = name_ref EqWith, imports.%Core.EqWith [concrete = constants.%EqWith.generic] // CHECK:STDOUT: %C.ref.loc6_23: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %EqWith.type: type = facet_type <@EqWith, @EqWith(constants.%C)> [concrete = constants.%EqWith.type.04e] // CHECK:STDOUT: } -// CHECK:STDOUT: %EqWith.impl_witness_table = impl_witness_table (@impl.cac.%Equal.decl, @impl.cac.%NotEqual.decl), @impl.cac [concrete] +// CHECK:STDOUT: %EqWith.impl_witness_table = impl_witness_table (@EqWith.impl.cac.%Equal.decl, @EqWith.impl.cac.%NotEqual.decl), @EqWith.impl.cac [concrete] // CHECK:STDOUT: %EqWith.impl_witness: = impl_witness %EqWith.impl_witness_table [concrete = constants.%EqWith.impl_witness] // CHECK:STDOUT: %TestEqual.decl: %TestEqual.type = fn_decl @TestEqual [concrete = constants.%TestEqual] { // CHECK:STDOUT: %a.patt: %pattern_type.c48 = binding_pattern a [concrete] @@ -180,7 +180,7 @@ fn TestLhsBad(a: D, b: C) -> bool { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.cac: %C.ref.loc6_6 as %EqWith.type { +// 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: %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] @@ -417,14 +417,14 @@ fn TestLhsBad(a: D, b: C) -> bool { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} // CHECK:STDOUT: %D.decl: type = class_decl @D [concrete = constants.%D] {} {} -// CHECK:STDOUT: impl_decl @impl.cac [concrete] {} { +// CHECK:STDOUT: impl_decl @EqWith.impl.cac [concrete] {} { // CHECK:STDOUT: %C.ref.loc7_6: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %EqWith.ref: %EqWith.type.c2e = name_ref EqWith, imports.%Core.EqWith [concrete = constants.%EqWith.generic] // CHECK:STDOUT: %C.ref.loc7_23: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %EqWith.type: type = facet_type <@EqWith, @EqWith(constants.%C)> [concrete = constants.%EqWith.type.04e] // CHECK:STDOUT: } -// CHECK:STDOUT: %EqWith.impl_witness_table = impl_witness_table (@impl.cac.%Equal.decl, @impl.cac.%NotEqual.decl), @impl.cac [concrete] +// CHECK:STDOUT: %EqWith.impl_witness_table = impl_witness_table (@EqWith.impl.cac.%Equal.decl, @EqWith.impl.cac.%NotEqual.decl), @EqWith.impl.cac [concrete] // CHECK:STDOUT: %EqWith.impl_witness: = impl_witness %EqWith.impl_witness_table [concrete = constants.%EqWith.impl_witness] // CHECK:STDOUT: %TestRhsBad.decl: %TestRhsBad.type = fn_decl @TestRhsBad [concrete = constants.%TestRhsBad] { // CHECK:STDOUT: %a.patt: %pattern_type.c48 = binding_pattern a [concrete] @@ -468,7 +468,7 @@ fn TestLhsBad(a: D, b: C) -> bool { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.cac: %C.ref.loc7_6 as %EqWith.type { +// 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: %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] 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 16687fea929d..2fe28b498d01 100644 --- a/toolchain/check/testdata/operators/overloaded/fail_assign_non_ref.carbon +++ b/toolchain/check/testdata/operators/overloaded/fail_assign_non_ref.carbon @@ -73,7 +73,7 @@ fn TestAddAssignNonRef(a: C, b: C) { // 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, @impl.49c(%C) [concrete] +// CHECK:STDOUT: %Op.type.153: type = fn_type @Op.11, @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: %TestAddAssignNonRef.type: type = fn_type @TestAddAssignNonRef [concrete] @@ -103,21 +103,21 @@ fn TestAddAssignNonRef(a: C, b: C) { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} -// CHECK:STDOUT: impl_decl @impl.c51 [concrete] {} { +// CHECK:STDOUT: impl_decl @Inc.impl [concrete] {} { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %Inc.ref: type = name_ref Inc, imports.%Core.Inc [concrete = constants.%Inc.type] // CHECK:STDOUT: } -// CHECK:STDOUT: %Inc.impl_witness_table = impl_witness_table (@impl.c51.%Op.decl), @impl.c51 [concrete] +// CHECK:STDOUT: %Inc.impl_witness_table = impl_witness_table (@Inc.impl.%Op.decl), @Inc.impl [concrete] // CHECK:STDOUT: %Inc.impl_witness: = impl_witness %Inc.impl_witness_table [concrete = constants.%Inc.impl_witness] -// CHECK:STDOUT: impl_decl @impl.a95 [concrete] {} { +// CHECK:STDOUT: impl_decl @AddAssignWith.impl [concrete] {} { // CHECK:STDOUT: %C.ref.loc21_6: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %AddAssignWith.ref: %AddAssignWith.type.fc6 = name_ref AddAssignWith, imports.%Core.AddAssignWith [concrete = constants.%AddAssignWith.generic] // CHECK:STDOUT: %C.ref.loc21_30: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %AddAssignWith.type: type = facet_type <@AddAssignWith, @AddAssignWith(constants.%C)> [concrete = constants.%AddAssignWith.type.393] // CHECK:STDOUT: } -// CHECK:STDOUT: %AddAssignWith.impl_witness_table = impl_witness_table (@impl.a95.%Op.decl), @impl.a95 [concrete] +// CHECK:STDOUT: %AddAssignWith.impl_witness_table = impl_witness_table (@AddAssignWith.impl.%Op.decl), @AddAssignWith.impl [concrete] // CHECK:STDOUT: %AddAssignWith.impl_witness: = impl_witness %AddAssignWith.impl_witness_table [concrete = constants.%AddAssignWith.impl_witness] // CHECK:STDOUT: %TestIncNonRef.decl: %TestIncNonRef.type = fn_decl @TestIncNonRef [concrete = constants.%TestIncNonRef] { // CHECK:STDOUT: %a.patt: %pattern_type.c48 = binding_pattern a [concrete] @@ -142,7 +142,7 @@ fn TestAddAssignNonRef(a: C, b: C) { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.c51: %C.ref as %Inc.ref { +// 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: %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] @@ -162,7 +162,7 @@ fn TestAddAssignNonRef(a: C, b: C) { // CHECK:STDOUT: witness = file.%Inc.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.a95: %C.ref.loc21_6 as %AddAssignWith.type { +// 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: %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] diff --git a/toolchain/check/testdata/operators/overloaded/fail_no_impl.carbon b/toolchain/check/testdata/operators/overloaded/fail_no_impl.carbon index 1d57e0c5468d..3321830fcb3c 100644 --- a/toolchain/check/testdata/operators/overloaded/fail_no_impl.carbon +++ b/toolchain/check/testdata/operators/overloaded/fail_no_impl.carbon @@ -67,7 +67,7 @@ fn TestRef(b: C) { // CHECK:STDOUT: %AddAssignWith.generic: %AddAssignWith.type.fc6 = struct_value () [concrete] // CHECK:STDOUT: %Inc.type: type = facet_type <@Inc> [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.153: type = fn_type @Op.10, @impl.49c(%C) [concrete] +// CHECK:STDOUT: %Op.type.153: type = fn_type @Op.10, @Destroy.impl(%C) [concrete] // CHECK:STDOUT: %Op.5d7: %Op.type.153 = struct_value () [concrete] // CHECK:STDOUT: %ptr.019: type = ptr_type %C [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.5d7, @Op.10(%C) [concrete] diff --git a/toolchain/check/testdata/operators/overloaded/implicit_as.carbon b/toolchain/check/testdata/operators/overloaded/implicit_as.carbon index 2d8cbf4d54d8..e6b276c619e1 100644 --- a/toolchain/check/testdata/operators/overloaded/implicit_as.carbon +++ b/toolchain/check/testdata/operators/overloaded/implicit_as.carbon @@ -83,7 +83,7 @@ fn Test() { // CHECK:STDOUT: %Source.specific_fn.cc7: = specific_function %Source, @Source(%i32) [concrete] // CHECK:STDOUT: %.9b4: type = fn_type_with_self_type %Convert.type.665, %ImplicitAs.facet.d80 [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.9e1: type = fn_type @Op.3, @impl.49c(%X) [concrete] +// CHECK:STDOUT: %Op.type.9e1: type = fn_type @Op.3, @Destroy.impl(%X) [concrete] // CHECK:STDOUT: %Op.33a: %Op.type.9e1 = struct_value () [concrete] // CHECK:STDOUT: %ptr.d17: type = ptr_type %X [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.33a, @Op.3(%X) [concrete] @@ -113,7 +113,7 @@ fn Test() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %X.decl: type = class_decl @X [concrete = constants.%X] {} {} -// CHECK:STDOUT: impl_decl @impl.8f9 [concrete] {} { +// CHECK:STDOUT: impl_decl @ImplicitAs.impl.8f9 [concrete] {} { // 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: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] @@ -121,9 +121,9 @@ fn Test() { // CHECK:STDOUT: %X.ref: type = name_ref X, file.%X.decl [concrete = constants.%X] // CHECK:STDOUT: %ImplicitAs.type: type = facet_type <@ImplicitAs, @ImplicitAs(constants.%X)> [concrete = constants.%ImplicitAs.type.ac8] // CHECK:STDOUT: } -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.loc19 = impl_witness_table (@impl.8f9.%Convert.decl), @impl.8f9 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.loc19 = impl_witness_table (@ImplicitAs.impl.8f9.%Convert.decl), @ImplicitAs.impl.8f9 [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness.loc19: = impl_witness %ImplicitAs.impl_witness_table.loc19 [concrete = constants.%ImplicitAs.impl_witness.aa3] -// CHECK:STDOUT: impl_decl @impl.c94 [concrete] {} { +// CHECK:STDOUT: impl_decl @ImplicitAs.impl.c94 [concrete] {} { // CHECK:STDOUT: %X.ref: type = name_ref X, file.%X.decl [concrete = constants.%X] // CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %ImplicitAs.ref: %ImplicitAs.type.cc7 = name_ref ImplicitAs, imports.%Core.ImplicitAs [concrete = constants.%ImplicitAs.generic] @@ -131,7 +131,7 @@ fn Test() { // CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %ImplicitAs.type: type = facet_type <@ImplicitAs, @ImplicitAs(constants.%i32)> [concrete = constants.%ImplicitAs.type.205] // CHECK:STDOUT: } -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.loc23 = impl_witness_table (@impl.c94.%Convert.decl), @impl.c94 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.loc23 = impl_witness_table (@ImplicitAs.impl.c94.%Convert.decl), @ImplicitAs.impl.c94 [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness.loc23: = impl_witness %ImplicitAs.impl_witness_table.loc23 [concrete = constants.%ImplicitAs.impl_witness.b30] // CHECK:STDOUT: %Sink_i32.decl: %Sink_i32.type = fn_decl @Sink_i32 [concrete = constants.%Sink_i32] { // CHECK:STDOUT: %n.patt: %pattern_type.7ce = binding_pattern n [concrete] @@ -165,7 +165,7 @@ fn Test() { // CHECK:STDOUT: %Test.decl: %Test.type = fn_decl @Test [concrete = constants.%Test] {} {} // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.8f9: %i32 as %ImplicitAs.type { +// 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: %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] @@ -189,7 +189,7 @@ fn Test() { // CHECK:STDOUT: witness = file.%ImplicitAs.impl_witness.loc19 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.c94: %X.ref as %ImplicitAs.type { +// 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: %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] diff --git a/toolchain/check/testdata/operators/overloaded/index.carbon b/toolchain/check/testdata/operators/overloaded/index.carbon index a005b297e27e..a24d0d356b6c 100644 --- a/toolchain/check/testdata/operators/overloaded/index.carbon +++ b/toolchain/check/testdata/operators/overloaded/index.carbon @@ -317,7 +317,7 @@ fn F() { ()[()]; } // CHECK:STDOUT: .F = %F.decl // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @IndexWith.impl [concrete] {} { // CHECK:STDOUT: %.loc6_7.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc6_7.2: type = converted %.loc6_7.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] @@ -326,7 +326,7 @@ fn F() { ()[()]; } // CHECK:STDOUT: %.loc6_29: type = converted %.loc6_28, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %IndexWith.type: type = facet_type <@IndexWith, @IndexWith(constants.%empty_tuple.type)> [concrete = constants.%IndexWith.type.a51] // CHECK:STDOUT: } -// CHECK:STDOUT: %IndexWith.impl_witness_table = impl_witness_table (@impl.%At.decl), @impl [concrete] +// CHECK:STDOUT: %IndexWith.impl_witness_table = impl_witness_table (@IndexWith.impl.%At.decl), @IndexWith.impl [concrete] // CHECK:STDOUT: %IndexWith.impl_witness: = impl_witness %IndexWith.impl_witness_table [concrete = constants.%IndexWith.impl_witness] // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] {} {} // CHECK:STDOUT: } @@ -350,7 +350,7 @@ fn F() { ()[()]; } // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %.loc6_7.2 as %IndexWith.type { +// 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: %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] @@ -362,7 +362,7 @@ fn F() { ()[()]; } // CHECK:STDOUT: %.loc7_40.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc7_40.2: type = converted %.loc7_40.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %self.param: %empty_tuple.type = value_param call_param0 -// CHECK:STDOUT: %Self.ref: type = name_ref Self, @impl.%.loc6_7.2 [concrete = constants.%empty_tuple.type] +// CHECK:STDOUT: %Self.ref: type = name_ref Self, @IndexWith.impl.%.loc6_7.2 [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %self: %empty_tuple.type = bind_name self, %self.param // CHECK:STDOUT: %subscript.param: %empty_tuple.type = value_param call_param1 // CHECK:STDOUT: %.loc7_33.1: type = splice_block %.loc7_33.3 [concrete = constants.%empty_tuple.type] { diff --git a/toolchain/check/testdata/operators/overloaded/index_with_prelude.carbon b/toolchain/check/testdata/operators/overloaded/index_with_prelude.carbon index 3afe6aaa01e6..747c91bda926 100644 --- a/toolchain/check/testdata/operators/overloaded/index_with_prelude.carbon +++ b/toolchain/check/testdata/operators/overloaded/index_with_prelude.carbon @@ -128,7 +128,7 @@ let x: i32 = c[0]; // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} // CHECK:STDOUT: %ElementType.decl: type = class_decl @ElementType [concrete = constants.%ElementType.e6b] {} {} // CHECK:STDOUT: %SubscriptType.decl: type = class_decl @SubscriptType [concrete = constants.%SubscriptType.8ee] {} {} -// CHECK:STDOUT: impl_decl @impl [concrete] {} { +// CHECK:STDOUT: impl_decl @IndexWith.impl [concrete] {} { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %IndexWith.ref: %IndexWith.type.504 = name_ref IndexWith, imports.%Core.IndexWith [concrete = constants.%IndexWith.generic] @@ -136,7 +136,7 @@ let x: i32 = c[0]; // CHECK:STDOUT: %ElementType.ref: type = name_ref ElementType, file.%ElementType.decl [concrete = constants.%ElementType.e6b] // CHECK:STDOUT: %IndexWith.type: type = facet_type <@IndexWith, @IndexWith(constants.%SubscriptType.8ee, constants.%ElementType.e6b)> [concrete = constants.%IndexWith.type.e80] // CHECK:STDOUT: } -// CHECK:STDOUT: %IndexWith.impl_witness_table = impl_witness_table (@impl.%At.decl), @impl [concrete] +// CHECK:STDOUT: %IndexWith.impl_witness_table = impl_witness_table (@IndexWith.impl.%At.decl), @IndexWith.impl [concrete] // CHECK:STDOUT: %IndexWith.impl_witness: = impl_witness %IndexWith.impl_witness_table [concrete = constants.%IndexWith.impl_witness] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %s.patt: %pattern_type.df7 = binding_pattern s [concrete] @@ -167,7 +167,7 @@ let x: i32 = c[0]; // CHECK:STDOUT: %x: %ElementType.e6b = bind_name x, %.loc16_25.2 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl: %C.ref as %IndexWith.type { +// 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: %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] @@ -178,7 +178,7 @@ let x: i32 = c[0]; // CHECK:STDOUT: } { // CHECK:STDOUT: %ElementType.ref: type = name_ref ElementType, file.%ElementType.decl [concrete = constants.%ElementType.e6b] // CHECK:STDOUT: %self.param: %C = value_param call_param0 -// CHECK:STDOUT: %Self.ref: type = name_ref Self, @impl.%C.ref [concrete = constants.%C] +// CHECK:STDOUT: %Self.ref: type = name_ref Self, @IndexWith.impl.%C.ref [concrete = constants.%C] // CHECK:STDOUT: %self: %C = bind_name self, %self.param // CHECK:STDOUT: %subscript.param: %SubscriptType.8ee = value_param call_param1 // CHECK:STDOUT: %SubscriptType.ref: type = name_ref SubscriptType, file.%SubscriptType.decl [concrete = constants.%SubscriptType.8ee] @@ -270,10 +270,10 @@ let x: i32 = c[0]; // 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: %To.c80: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.3, @impl.4f9(%To.c80) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.3, @ImplicitAs.impl.4f9(%To.c80) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.3, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.3, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.921: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet.921 [concrete] @@ -302,8 +302,8 @@ let x: i32 = c[0]; // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/types/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.IndexWith: %IndexWith.type.504 = import_ref Core//prelude/operators/index, IndexWith, loaded [concrete = constants.%IndexWith.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/operators/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/types/int, loc19_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/types/int, loc19_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -313,7 +313,7 @@ let x: i32 = c[0]; // CHECK:STDOUT: .e = %e // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core -// CHECK:STDOUT: impl_decl @impl.18b [concrete] {} { +// CHECK:STDOUT: impl_decl @IndexWith.impl [concrete] {} { // CHECK:STDOUT: %int_32.loc4_7: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc4_7: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %int_32.loc4_12: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] @@ -328,7 +328,7 @@ let x: i32 = c[0]; // CHECK:STDOUT: %i32.loc4_40: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %IndexWith.type: type = facet_type <@IndexWith, @IndexWith(constants.%i32, constants.%i32)> [concrete = constants.%IndexWith.type.917] // CHECK:STDOUT: } -// CHECK:STDOUT: %IndexWith.impl_witness_table = impl_witness_table (@impl.18b.%At.decl), @impl.18b [concrete] +// CHECK:STDOUT: %IndexWith.impl_witness_table = impl_witness_table (@IndexWith.impl.%At.decl), @IndexWith.impl [concrete] // CHECK:STDOUT: %IndexWith.impl_witness: = impl_witness %IndexWith.impl_witness_table [concrete = constants.%IndexWith.impl_witness] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %s.patt: %pattern_type.511 = binding_pattern s [concrete] @@ -370,7 +370,7 @@ let x: i32 = c[0]; // CHECK:STDOUT: %e: %i32 = bind_name e, %.loc11_17.2 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.18b: %.loc4_15.2 as %IndexWith.type { +// 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: %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] @@ -382,7 +382,7 @@ let x: i32 = c[0]; // CHECK:STDOUT: %int_32.loc5_40: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc5_40: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %self.param: %tuple.type.d07 = value_param call_param0 -// CHECK:STDOUT: %Self.ref: type = name_ref Self, @impl.18b.%.loc4_15.2 [concrete = constants.%tuple.type.d07] +// CHECK:STDOUT: %Self.ref: type = name_ref Self, @IndexWith.impl.%.loc4_15.2 [concrete = constants.%tuple.type.d07] // CHECK:STDOUT: %self: %tuple.type.d07 = bind_name self, %self.param // CHECK:STDOUT: %subscript.param: %i32 = value_param call_param1 // CHECK:STDOUT: %.loc5: type = splice_block %i32.loc5_32 [concrete = constants.%i32] { @@ -478,7 +478,7 @@ let x: i32 = c[0]; // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} // CHECK:STDOUT: %ElementType.decl: type = class_decl @ElementType [concrete = constants.%ElementType.e6b] {} {} // CHECK:STDOUT: %SubscriptType.decl: type = class_decl @SubscriptType [concrete = constants.%SubscriptType.8ee] {} {} -// CHECK:STDOUT: impl_decl @impl.066 [concrete] {} { +// CHECK:STDOUT: impl_decl @IndexWith.impl [concrete] {} { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %IndexWith.ref: %IndexWith.type.504 = name_ref IndexWith, imports.%Core.IndexWith [concrete = constants.%IndexWith.generic] @@ -486,7 +486,7 @@ let x: i32 = c[0]; // CHECK:STDOUT: %ElementType.ref: type = name_ref ElementType, file.%ElementType.decl [concrete = constants.%ElementType.e6b] // CHECK:STDOUT: %IndexWith.type: type = facet_type <@IndexWith, @IndexWith(constants.%SubscriptType.8ee, constants.%ElementType.e6b)> [concrete = constants.%IndexWith.type.e80] // CHECK:STDOUT: } -// CHECK:STDOUT: %IndexWith.impl_witness_table = impl_witness_table (@impl.066.%At.decl), @impl.066 [concrete] +// CHECK:STDOUT: %IndexWith.impl_witness_table = impl_witness_table (@IndexWith.impl.%At.decl), @IndexWith.impl [concrete] // CHECK:STDOUT: %IndexWith.impl_witness: = impl_witness %IndexWith.impl_witness_table [concrete = constants.%IndexWith.impl_witness] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.c48 = binding_pattern c [concrete] @@ -507,7 +507,7 @@ let x: i32 = c[0]; // CHECK:STDOUT: %x: %ElementType.e6b = bind_name x, %.loc22_25.2 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.066: %C.ref as %IndexWith.type { +// 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: %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] @@ -518,7 +518,7 @@ let x: i32 = c[0]; // CHECK:STDOUT: } { // CHECK:STDOUT: %ElementType.ref: type = name_ref ElementType, file.%ElementType.decl [concrete = constants.%ElementType.e6b] // CHECK:STDOUT: %self.param: %C = value_param call_param0 -// CHECK:STDOUT: %Self.ref: type = name_ref Self, @impl.066.%C.ref [concrete = constants.%C] +// CHECK:STDOUT: %Self.ref: type = name_ref Self, @IndexWith.impl.%C.ref [concrete = constants.%C] // CHECK:STDOUT: %self: %C = bind_name self, %self.param // CHECK:STDOUT: %subscript.param: %SubscriptType.8ee = value_param call_param1 // CHECK:STDOUT: %SubscriptType.ref: type = name_ref SubscriptType, file.%SubscriptType.decl [concrete = constants.%SubscriptType.8ee] diff --git a/toolchain/check/testdata/operators/overloaded/ordered.carbon b/toolchain/check/testdata/operators/overloaded/ordered.carbon index b6abac115719..c3058a983414 100644 --- a/toolchain/check/testdata/operators/overloaded/ordered.carbon +++ b/toolchain/check/testdata/operators/overloaded/ordered.carbon @@ -141,14 +141,14 @@ fn TestGreaterEqual(a: D, b: D) -> bool { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} -// CHECK:STDOUT: impl_decl @impl.ecd [concrete] {} { +// CHECK:STDOUT: impl_decl @OrderedWith.impl.ecd [concrete] {} { // CHECK:STDOUT: %C.ref.loc6_6: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %OrderedWith.ref: %OrderedWith.type.270 = name_ref OrderedWith, imports.%Core.OrderedWith [concrete = constants.%OrderedWith.generic] // CHECK:STDOUT: %C.ref.loc6_28: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %OrderedWith.type: type = facet_type <@OrderedWith, @OrderedWith(constants.%C)> [concrete = constants.%OrderedWith.type.914] // CHECK:STDOUT: } -// CHECK:STDOUT: %OrderedWith.impl_witness_table = impl_witness_table (@impl.ecd.%Less.decl, @impl.ecd.%LessOrEquivalent.decl, @impl.ecd.%Greater.decl, @impl.ecd.%GreaterOrEquivalent.decl), @impl.ecd [concrete] +// CHECK:STDOUT: %OrderedWith.impl_witness_table = impl_witness_table (@OrderedWith.impl.ecd.%Less.decl, @OrderedWith.impl.ecd.%LessOrEquivalent.decl, @OrderedWith.impl.ecd.%Greater.decl, @OrderedWith.impl.ecd.%GreaterOrEquivalent.decl), @OrderedWith.impl.ecd [concrete] // CHECK:STDOUT: %OrderedWith.impl_witness: = impl_witness %OrderedWith.impl_witness_table [concrete = constants.%OrderedWith.impl_witness] // CHECK:STDOUT: %TestLess.decl: %TestLess.type = fn_decl @TestLess [concrete = constants.%TestLess] { // CHECK:STDOUT: %a.patt: %pattern_type.c48 = binding_pattern a [concrete] @@ -232,7 +232,7 @@ fn TestGreaterEqual(a: D, b: D) -> bool { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.ecd: %C.ref.loc6_6 as %OrderedWith.type { +// 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: %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] diff --git a/toolchain/check/testdata/package_expr/fail_not_found.carbon b/toolchain/check/testdata/package_expr/fail_not_found.carbon index d868ca1cf723..f99e105c6a8f 100644 --- a/toolchain/check/testdata/package_expr/fail_not_found.carbon +++ b/toolchain/check/testdata/package_expr/fail_not_found.carbon @@ -32,7 +32,7 @@ fn Main() { // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %pattern_type.7ce: type = pattern_type %i32 [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.a17: type = fn_type @Op.3, @impl.49c(%i32) [concrete] +// CHECK:STDOUT: %Op.type.a17: type = fn_type @Op.3, @Destroy.impl(%i32) [concrete] // CHECK:STDOUT: %Op.e6a: %Op.type.a17 = struct_value () [concrete] // CHECK:STDOUT: %ptr.235: type = ptr_type %i32 [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.e6a, @Op.3(%i32) [concrete] diff --git a/toolchain/check/testdata/package_expr/syntax.carbon b/toolchain/check/testdata/package_expr/syntax.carbon index 1c76734e517e..f1883ac4ce89 100644 --- a/toolchain/check/testdata/package_expr/syntax.carbon +++ b/toolchain/check/testdata/package_expr/syntax.carbon @@ -59,10 +59,10 @@ fn Main() { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -81,8 +81,8 @@ fn Main() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -146,10 +146,10 @@ fn Main() { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -164,7 +164,7 @@ fn Main() { // 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: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.a17: type = fn_type @Op.3, @impl.49c(%i32) [concrete] +// CHECK:STDOUT: %Op.type.a17: type = fn_type @Op.3, @Destroy.impl(%i32) [concrete] // CHECK:STDOUT: %Op.e6a: %Op.type.a17 = struct_value () [concrete] // CHECK:STDOUT: %ptr.235: type = ptr_type %i32 [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.e6a, @Op.3(%i32) [concrete] @@ -180,8 +180,8 @@ fn Main() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/packages/implicit_imports_prelude.carbon b/toolchain/check/testdata/packages/implicit_imports_prelude.carbon index a19bf88cb515..1a4ac6eca530 100644 --- a/toolchain/check/testdata/packages/implicit_imports_prelude.carbon +++ b/toolchain/check/testdata/packages/implicit_imports_prelude.carbon @@ -40,10 +40,10 @@ var b: i32 = a; // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -62,8 +62,8 @@ var b: i32 = a; // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/packages/raw_core.carbon b/toolchain/check/testdata/packages/raw_core.carbon index a4e32ef24d06..421e681ff760 100644 --- a/toolchain/check/testdata/packages/raw_core.carbon +++ b/toolchain/check/testdata/packages/raw_core.carbon @@ -209,10 +209,10 @@ var c: r#Core = {.n = 0 as Core.Int(32)}; // CHECK:STDOUT: %As.type.fd4: type = facet_type <@As, @As(%i32)> [concrete] // CHECK:STDOUT: %Convert.type.99b: type = fn_type @Convert.1, @As(%i32) [concrete] // CHECK:STDOUT: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.062: type = fn_type @Convert.5, @impl.686(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.062: type = fn_type @Convert.5, @As.impl.686(%To) [symbolic] // CHECK:STDOUT: %Convert.527: %Convert.type.062 = struct_value () [symbolic] -// CHECK:STDOUT: %As.impl_witness.6b4: = impl_witness imports.%As.impl_witness_table.eb4, @impl.686(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.4fd: type = fn_type @Convert.5, @impl.686(%int_32) [concrete] +// CHECK:STDOUT: %As.impl_witness.6b4: = impl_witness imports.%As.impl_witness_table.eb4, @As.impl.686(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.4fd: type = fn_type @Convert.5, @As.impl.686(%int_32) [concrete] // CHECK:STDOUT: %Convert.197: %Convert.type.4fd = struct_value () [concrete] // CHECK:STDOUT: %As.facet: %As.type.fd4 = facet_value Core.IntLiteral, (%As.impl_witness.6b4) [concrete] // CHECK:STDOUT: %.982: type = fn_type_with_self_type %Convert.type.99b, %As.facet [concrete] @@ -233,8 +233,8 @@ var c: r#Core = {.n = 0 as Core.Int(32)}; // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.As: %As.type.90f = import_ref Core//prelude/parts/as, As, loaded [concrete = constants.%As.generic] -// CHECK:STDOUT: %Core.import_ref.78a: @impl.686.%Convert.type (%Convert.type.062) = import_ref Core//prelude/parts/int, loc25_39, loaded [symbolic = @impl.686.%Convert (constants.%Convert.527)] -// CHECK:STDOUT: %As.impl_witness_table.eb4 = impl_witness_table (%Core.import_ref.78a), @impl.686 [concrete] +// CHECK:STDOUT: %Core.import_ref.78a: @As.impl.686.%Convert.type (%Convert.type.062) = import_ref Core//prelude/parts/int, loc25_39, loaded [symbolic = @As.impl.686.%Convert (constants.%Convert.527)] +// CHECK:STDOUT: %As.impl_witness_table.eb4 = impl_witness_table (%Core.import_ref.78a), @As.impl.686 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/patterns/underscore.carbon b/toolchain/check/testdata/patterns/underscore.carbon index 19076e7391f9..1c8300d8a690 100644 --- a/toolchain/check/testdata/patterns/underscore.carbon +++ b/toolchain/check/testdata/patterns/underscore.carbon @@ -131,7 +131,7 @@ fn F() -> {} { // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.069: type = fn_type @Op.2, @impl(%empty_struct_type) [concrete] +// CHECK:STDOUT: %Op.type.069: type = fn_type @Op.2, @Destroy.impl(%empty_struct_type) [concrete] // CHECK:STDOUT: %Op.d5a: %Op.type.069 = struct_value () [concrete] // CHECK:STDOUT: %ptr.c28: type = ptr_type %empty_struct_type [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.d5a, @Op.2(%empty_struct_type) [concrete] diff --git a/toolchain/check/testdata/pointer/address_of_deref.carbon b/toolchain/check/testdata/pointer/address_of_deref.carbon index c0bfdfae4edf..9193e6c0cf11 100644 --- a/toolchain/check/testdata/pointer/address_of_deref.carbon +++ b/toolchain/check/testdata/pointer/address_of_deref.carbon @@ -34,10 +34,10 @@ fn F() -> i32 { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -47,7 +47,7 @@ fn F() -> i32 { // CHECK:STDOUT: %int_0.6a9: %i32 = int_value 0 [concrete] // CHECK:STDOUT: %ptr.235: type = ptr_type %i32 [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.a17: type = fn_type @Op.3, @impl.49c(%i32) [concrete] +// CHECK:STDOUT: %Op.type.a17: type = fn_type @Op.3, @Destroy.impl(%i32) [concrete] // CHECK:STDOUT: %Op.e6a: %Op.type.a17 = struct_value () [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.e6a, @Op.3(%i32) [concrete] // CHECK:STDOUT: } @@ -62,8 +62,8 @@ fn F() -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/pointer/address_of_lvalue.carbon b/toolchain/check/testdata/pointer/address_of_lvalue.carbon index c76c376e135f..2f0a5daf5a12 100644 --- a/toolchain/check/testdata/pointer/address_of_lvalue.carbon +++ b/toolchain/check/testdata/pointer/address_of_lvalue.carbon @@ -45,10 +45,10 @@ fn F() { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -71,18 +71,18 @@ fn F() { // CHECK:STDOUT: %tuple: %tuple.type.d07 = tuple_value (%int_1.5d2, %int_2.ef8) [concrete] // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.ba2: type = fn_type @Op.3, @impl.49c(%ptr.235) [concrete] +// CHECK:STDOUT: %Op.type.ba2: type = fn_type @Op.3, @Destroy.impl(%ptr.235) [concrete] // CHECK:STDOUT: %Op.649: %Op.type.ba2 = struct_value () [concrete] // CHECK:STDOUT: %ptr.5d5: type = ptr_type %ptr.235 [concrete] // CHECK:STDOUT: %Op.specific_fn.829: = specific_function %Op.649, @Op.3(%ptr.235) [concrete] -// CHECK:STDOUT: %Op.type.a4a: type = fn_type @Op.3, @impl.49c(%tuple.type.d07) [concrete] +// CHECK:STDOUT: %Op.type.a4a: type = fn_type @Op.3, @Destroy.impl(%tuple.type.d07) [concrete] // CHECK:STDOUT: %Op.7c6: %Op.type.a4a = struct_value () [concrete] // CHECK:STDOUT: %Op.specific_fn.bbb: = specific_function %Op.7c6, @Op.3(%tuple.type.d07) [concrete] -// CHECK:STDOUT: %Op.type.757: type = fn_type @Op.3, @impl.49c(%ptr.3ee) [concrete] +// CHECK:STDOUT: %Op.type.757: type = fn_type @Op.3, @Destroy.impl(%ptr.3ee) [concrete] // CHECK:STDOUT: %Op.e22: %Op.type.757 = struct_value () [concrete] // CHECK:STDOUT: %ptr.40c: type = ptr_type %ptr.3ee [concrete] // CHECK:STDOUT: %Op.specific_fn.ce1: = specific_function %Op.e22, @Op.3(%ptr.3ee) [concrete] -// CHECK:STDOUT: %Op.type.da3: type = fn_type @Op.3, @impl.49c(%struct_type.a.b.501) [concrete] +// CHECK:STDOUT: %Op.type.da3: type = fn_type @Op.3, @Destroy.impl(%struct_type.a.b.501) [concrete] // CHECK:STDOUT: %Op.9db: %Op.type.da3 = struct_value () [concrete] // CHECK:STDOUT: %Op.specific_fn.1e0: = specific_function %Op.9db, @Op.3(%struct_type.a.b.501) [concrete] // CHECK:STDOUT: } @@ -97,8 +97,8 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/pointer/basic.carbon b/toolchain/check/testdata/pointer/basic.carbon index cc8aa8f1dc52..1b3e2eb57dd9 100644 --- a/toolchain/check/testdata/pointer/basic.carbon +++ b/toolchain/check/testdata/pointer/basic.carbon @@ -36,10 +36,10 @@ fn F() -> i32 { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -50,11 +50,11 @@ fn F() -> i32 { // CHECK:STDOUT: %ptr.235: type = ptr_type %i32 [concrete] // CHECK:STDOUT: %pattern_type.fe8: type = pattern_type %ptr.235 [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.ba2: type = fn_type @Op.3, @impl.49c(%ptr.235) [concrete] +// CHECK:STDOUT: %Op.type.ba2: type = fn_type @Op.3, @Destroy.impl(%ptr.235) [concrete] // CHECK:STDOUT: %Op.649: %Op.type.ba2 = struct_value () [concrete] // CHECK:STDOUT: %ptr.5d5: type = ptr_type %ptr.235 [concrete] // CHECK:STDOUT: %Op.specific_fn.829: = specific_function %Op.649, @Op.3(%ptr.235) [concrete] -// CHECK:STDOUT: %Op.type.a17: type = fn_type @Op.3, @impl.49c(%i32) [concrete] +// CHECK:STDOUT: %Op.type.a17: type = fn_type @Op.3, @Destroy.impl(%i32) [concrete] // CHECK:STDOUT: %Op.e6a: %Op.type.a17 = struct_value () [concrete] // CHECK:STDOUT: %Op.specific_fn.014: = specific_function %Op.e6a, @Op.3(%i32) [concrete] // CHECK:STDOUT: } @@ -69,8 +69,8 @@ fn F() -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/pointer/fail_address_of_value.carbon b/toolchain/check/testdata/pointer/fail_address_of_value.carbon index 2ea85c9b3773..9c1c109f5a9a 100644 --- a/toolchain/check/testdata/pointer/fail_address_of_value.carbon +++ b/toolchain/check/testdata/pointer/fail_address_of_value.carbon @@ -141,7 +141,7 @@ fn AddressOfParam(param: i32) { // CHECK:STDOUT: %false: bool = bool_literal false [concrete] // CHECK:STDOUT: %ptr.235: type = ptr_type %i32 [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.c80: type = fn_type @Op.2, @impl.49c(%struct_type.a.ba9) [concrete] +// CHECK:STDOUT: %Op.type.c80: type = fn_type @Op.2, @Destroy.impl(%struct_type.a.ba9) [concrete] // CHECK:STDOUT: %Op.691: %Op.type.c80 = struct_value () [concrete] // CHECK:STDOUT: %ptr.1bb: type = ptr_type %struct_type.a.ba9 [concrete] // CHECK:STDOUT: %Op.specific_fn.51b: = specific_function %Op.691, @Op.2(%struct_type.a.ba9) [concrete] @@ -158,7 +158,7 @@ fn AddressOfParam(param: i32) { // CHECK:STDOUT: %AddressOfParam.type: type = fn_type @AddressOfParam [concrete] // CHECK:STDOUT: %AddressOfParam: %AddressOfParam.type = struct_value () [concrete] // CHECK:STDOUT: %pattern_type.fe8: type = pattern_type %ptr.235 [concrete] -// CHECK:STDOUT: %Op.type.ba2: type = fn_type @Op.2, @impl.49c(%ptr.235) [concrete] +// CHECK:STDOUT: %Op.type.ba2: type = fn_type @Op.2, @Destroy.impl(%ptr.235) [concrete] // CHECK:STDOUT: %Op.649: %Op.type.ba2 = struct_value () [concrete] // CHECK:STDOUT: %ptr.5d5: type = ptr_type %ptr.235 [concrete] // CHECK:STDOUT: %Op.specific_fn.829: = specific_function %Op.649, @Op.2(%ptr.235) [concrete] diff --git a/toolchain/check/testdata/pointer/import.carbon b/toolchain/check/testdata/pointer/import.carbon index 62600f88a1b9..f586f50f0dce 100644 --- a/toolchain/check/testdata/pointer/import.carbon +++ b/toolchain/check/testdata/pointer/import.carbon @@ -39,10 +39,10 @@ var a: i32* = a_ref; // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -64,8 +64,8 @@ var a: i32* = a_ref; // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/return/code_after_return_value.carbon b/toolchain/check/testdata/return/code_after_return_value.carbon index 5ae2a0a4bf5d..9f42541eaa7e 100644 --- a/toolchain/check/testdata/return/code_after_return_value.carbon +++ b/toolchain/check/testdata/return/code_after_return_value.carbon @@ -43,10 +43,10 @@ fn F(b: bool) -> i32 { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -67,8 +67,8 @@ fn F(b: bool) -> i32 { // CHECK:STDOUT: %Core.Bool: %Bool.type = import_ref Core//prelude/parts/bool, Bool, loaded [concrete = constants.%Bool] // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/return/fail_return_with_returned_var.carbon b/toolchain/check/testdata/return/fail_return_with_returned_var.carbon index 28ad7827ae74..6f1e3a09b735 100644 --- a/toolchain/check/testdata/return/fail_return_with_returned_var.carbon +++ b/toolchain/check/testdata/return/fail_return_with_returned_var.carbon @@ -54,10 +54,10 @@ fn G() -> C { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -67,7 +67,7 @@ fn G() -> C { // CHECK:STDOUT: %int_0.6a9: %i32 = int_value 0 [concrete] // CHECK:STDOUT: %int_1.5b8: Core.IntLiteral = int_value 1 [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.a17: type = fn_type @Op.3, @impl.49c(%i32) [concrete] +// CHECK:STDOUT: %Op.type.a17: type = fn_type @Op.3, @Destroy.impl(%i32) [concrete] // CHECK:STDOUT: %Op.e6a: %Op.type.a17 = struct_value () [concrete] // CHECK:STDOUT: %ptr.235: type = ptr_type %i32 [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.e6a, @Op.3(%i32) [concrete] @@ -99,8 +99,8 @@ fn G() -> C { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/return/fail_returned_var_no_return_type.carbon b/toolchain/check/testdata/return/fail_returned_var_no_return_type.carbon index 66371ef8f5c8..158241d9b7b7 100644 --- a/toolchain/check/testdata/return/fail_returned_var_no_return_type.carbon +++ b/toolchain/check/testdata/return/fail_returned_var_no_return_type.carbon @@ -57,7 +57,7 @@ fn ForgotReturnType() { // CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @impl(%empty_tuple.type) [concrete] +// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @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.2(%empty_tuple.type) [concrete] @@ -114,7 +114,7 @@ fn ForgotReturnType() { // CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @impl(%empty_tuple.type) [concrete] +// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @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.2(%empty_tuple.type) [concrete] diff --git a/toolchain/check/testdata/return/fail_returned_var_shadow.carbon b/toolchain/check/testdata/return/fail_returned_var_shadow.carbon index 245b46872e55..ae4b8cc434b7 100644 --- a/toolchain/check/testdata/return/fail_returned_var_shadow.carbon +++ b/toolchain/check/testdata/return/fail_returned_var_shadow.carbon @@ -62,10 +62,10 @@ fn DifferentScopes() -> i32 { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -78,7 +78,7 @@ fn DifferentScopes() -> i32 { // 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: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.a17: type = fn_type @Op.3, @impl.49c(%i32) [concrete] +// CHECK:STDOUT: %Op.type.a17: type = fn_type @Op.3, @Destroy.impl(%i32) [concrete] // CHECK:STDOUT: %Op.e6a: %Op.type.a17 = struct_value () [concrete] // CHECK:STDOUT: %ptr.235: type = ptr_type %i32 [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.e6a, @Op.3(%i32) [concrete] @@ -96,8 +96,8 @@ fn DifferentScopes() -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/return/fail_returned_var_type.carbon b/toolchain/check/testdata/return/fail_returned_var_type.carbon index 90e52bd2f8ba..b592feeabb98 100644 --- a/toolchain/check/testdata/return/fail_returned_var_type.carbon +++ b/toolchain/check/testdata/return/fail_returned_var_type.carbon @@ -41,7 +41,7 @@ fn Mismatch() -> i32 { // CHECK:STDOUT: %pattern_type.3de: type = pattern_type f64 [concrete] // CHECK:STDOUT: %float: f64 = float_literal 0 [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.3ef: type = fn_type @Op.2, @impl(f64) [concrete] +// CHECK:STDOUT: %Op.type.3ef: type = fn_type @Op.2, @Destroy.impl(f64) [concrete] // CHECK:STDOUT: %Op.868: %Op.type.3ef = struct_value () [concrete] // CHECK:STDOUT: %ptr.ef1: type = ptr_type f64 [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.868, @Op.2(f64) [concrete] diff --git a/toolchain/check/testdata/return/import_convert_function.carbon b/toolchain/check/testdata/return/import_convert_function.carbon index 4dcaab6b8eeb..863e75313118 100644 --- a/toolchain/check/testdata/return/import_convert_function.carbon +++ b/toolchain/check/testdata/return/import_convert_function.carbon @@ -76,10 +76,10 @@ fn F0(n: i32) -> P.D { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.921: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet.921 [concrete] @@ -95,7 +95,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: %Convert.type.cd0: type = fn_type @Convert.7 [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, @impl.49c(%D) [concrete] +// CHECK:STDOUT: %Op.type.548: type = fn_type @Op.3, @Destroy.impl(%D) [concrete] // CHECK:STDOUT: %Op.2d4: %Op.type.548 = struct_value () [concrete] // CHECK:STDOUT: %ptr.19c: type = ptr_type %D [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.2d4, @Op.3(%D) [concrete] @@ -174,8 +174,8 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -205,7 +205,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: %return.param: ref %D = out_param call_param0 // CHECK:STDOUT: %return: ref %D = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: impl_decl @impl.6d8 [concrete] {} { +// CHECK:STDOUT: impl_decl @ImplicitAs.impl.6d8 [concrete] {} { // CHECK:STDOUT: %C.ref: %C.type = name_ref C, file.%C.decl [concrete = constants.%C.generic] // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] // CHECK:STDOUT: %impl.elem0: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] @@ -221,9 +221,9 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D.decl [concrete = constants.%D] // CHECK:STDOUT: %ImplicitAs.type: type = facet_type <@ImplicitAs, @ImplicitAs(constants.%D)> [concrete = constants.%ImplicitAs.type.94e] // CHECK:STDOUT: } -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.loc8 = impl_witness_table (@impl.6d8.%Convert.decl), @impl.6d8 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.loc8 = impl_witness_table (@ImplicitAs.impl.6d8.%Convert.decl), @ImplicitAs.impl.6d8 [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness.loc8: = impl_witness %ImplicitAs.impl_witness_table.loc8 [concrete = constants.%ImplicitAs.impl_witness.00c] -// CHECK:STDOUT: impl_decl @impl.b66 [concrete] {} { +// CHECK:STDOUT: impl_decl @ImplicitAs.impl.b66 [concrete] {} { // CHECK:STDOUT: %C.ref: %C.type = name_ref C, file.%C.decl [concrete = constants.%C.generic] // 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] @@ -239,9 +239,9 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D.decl [concrete = constants.%D] // CHECK:STDOUT: %ImplicitAs.type: type = facet_type <@ImplicitAs, @ImplicitAs(constants.%D)> [concrete = constants.%ImplicitAs.type.94e] // CHECK:STDOUT: } -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.loc9 = impl_witness_table (@impl.b66.%Convert.decl), @impl.b66 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.loc9 = impl_witness_table (@ImplicitAs.impl.b66.%Convert.decl), @ImplicitAs.impl.b66 [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness.loc9: = impl_witness %ImplicitAs.impl_witness_table.loc9 [concrete = constants.%ImplicitAs.impl_witness.c66] -// CHECK:STDOUT: impl_decl @impl.9de [concrete] {} { +// CHECK:STDOUT: impl_decl @ImplicitAs.impl.9de [concrete] {} { // CHECK:STDOUT: %C.ref: %C.type = name_ref C, file.%C.decl [concrete = constants.%C.generic] // 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] @@ -257,9 +257,9 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D.decl [concrete = constants.%D] // CHECK:STDOUT: %ImplicitAs.type: type = facet_type <@ImplicitAs, @ImplicitAs(constants.%D)> [concrete = constants.%ImplicitAs.type.94e] // CHECK:STDOUT: } -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.loc10 = impl_witness_table (@impl.9de.%Convert.decl), @impl.9de [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.loc10 = impl_witness_table (@ImplicitAs.impl.9de.%Convert.decl), @ImplicitAs.impl.9de [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness.loc10: = impl_witness %ImplicitAs.impl_witness_table.loc10 [concrete = constants.%ImplicitAs.impl_witness.f9c] -// CHECK:STDOUT: impl_decl @impl.649 [concrete] {} { +// CHECK:STDOUT: impl_decl @ImplicitAs.impl.649 [concrete] {} { // CHECK:STDOUT: %C.ref: %C.type = name_ref C, file.%C.decl [concrete = constants.%C.generic] // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] // CHECK:STDOUT: %impl.elem0: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] @@ -275,9 +275,9 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D.decl [concrete = constants.%D] // CHECK:STDOUT: %ImplicitAs.type: type = facet_type <@ImplicitAs, @ImplicitAs(constants.%D)> [concrete = constants.%ImplicitAs.type.94e] // CHECK:STDOUT: } -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.loc11 = impl_witness_table (@impl.649.%Convert.decl), @impl.649 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.loc11 = impl_witness_table (@ImplicitAs.impl.649.%Convert.decl), @ImplicitAs.impl.649 [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness.loc11: = impl_witness %ImplicitAs.impl_witness_table.loc11 [concrete = constants.%ImplicitAs.impl_witness.c1f] -// CHECK:STDOUT: impl_decl @impl.49b [concrete] {} { +// CHECK:STDOUT: impl_decl @ImplicitAs.impl.49b [concrete] {} { // CHECK:STDOUT: %C.ref: %C.type = name_ref C, file.%C.decl [concrete = constants.%C.generic] // CHECK:STDOUT: %int_4: Core.IntLiteral = int_value 4 [concrete = constants.%int_4.0c1] // CHECK:STDOUT: %impl.elem0: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] @@ -293,9 +293,9 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D.decl [concrete = constants.%D] // CHECK:STDOUT: %ImplicitAs.type: type = facet_type <@ImplicitAs, @ImplicitAs(constants.%D)> [concrete = constants.%ImplicitAs.type.94e] // CHECK:STDOUT: } -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.loc12 = impl_witness_table (@impl.49b.%Convert.decl), @impl.49b [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.loc12 = impl_witness_table (@ImplicitAs.impl.49b.%Convert.decl), @ImplicitAs.impl.49b [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness.loc12: = impl_witness %ImplicitAs.impl_witness_table.loc12 [concrete = constants.%ImplicitAs.impl_witness.097] -// CHECK:STDOUT: impl_decl @impl.75f [concrete] {} { +// CHECK:STDOUT: impl_decl @ImplicitAs.impl.75f [concrete] {} { // CHECK:STDOUT: %C.ref: %C.type = name_ref C, file.%C.decl [concrete = constants.%C.generic] // CHECK:STDOUT: %int_5: Core.IntLiteral = int_value 5 [concrete = constants.%int_5.64b] // CHECK:STDOUT: %impl.elem0: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] @@ -311,9 +311,9 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D.decl [concrete = constants.%D] // CHECK:STDOUT: %ImplicitAs.type: type = facet_type <@ImplicitAs, @ImplicitAs(constants.%D)> [concrete = constants.%ImplicitAs.type.94e] // CHECK:STDOUT: } -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.loc13 = impl_witness_table (@impl.75f.%Convert.decl), @impl.75f [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.loc13 = impl_witness_table (@ImplicitAs.impl.75f.%Convert.decl), @ImplicitAs.impl.75f [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness.loc13: = impl_witness %ImplicitAs.impl_witness_table.loc13 [concrete = constants.%ImplicitAs.impl_witness.03f] -// CHECK:STDOUT: impl_decl @impl.98f [concrete] {} { +// CHECK:STDOUT: impl_decl @ImplicitAs.impl.98f [concrete] {} { // CHECK:STDOUT: %C.ref: %C.type = name_ref C, file.%C.decl [concrete = constants.%C.generic] // CHECK:STDOUT: %int_6: Core.IntLiteral = int_value 6 [concrete = constants.%int_6.462] // CHECK:STDOUT: %impl.elem0: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] @@ -329,9 +329,9 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D.decl [concrete = constants.%D] // CHECK:STDOUT: %ImplicitAs.type: type = facet_type <@ImplicitAs, @ImplicitAs(constants.%D)> [concrete = constants.%ImplicitAs.type.94e] // CHECK:STDOUT: } -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.loc14 = impl_witness_table (@impl.98f.%Convert.decl), @impl.98f [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.loc14 = impl_witness_table (@ImplicitAs.impl.98f.%Convert.decl), @ImplicitAs.impl.98f [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness.loc14: = impl_witness %ImplicitAs.impl_witness_table.loc14 [concrete = constants.%ImplicitAs.impl_witness.89c] -// CHECK:STDOUT: impl_decl @impl.9fd [concrete] {} { +// CHECK:STDOUT: impl_decl @ImplicitAs.impl.9fd [concrete] {} { // CHECK:STDOUT: %C.ref: %C.type = name_ref C, file.%C.decl [concrete = constants.%C.generic] // CHECK:STDOUT: %int_7: Core.IntLiteral = int_value 7 [concrete = constants.%int_7.29f] // CHECK:STDOUT: %impl.elem0: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] @@ -347,11 +347,11 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D.decl [concrete = constants.%D] // CHECK:STDOUT: %ImplicitAs.type: type = facet_type <@ImplicitAs, @ImplicitAs(constants.%D)> [concrete = constants.%ImplicitAs.type.94e] // CHECK:STDOUT: } -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.loc15 = impl_witness_table (@impl.9fd.%Convert.decl), @impl.9fd [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.loc15 = impl_witness_table (@ImplicitAs.impl.9fd.%Convert.decl), @ImplicitAs.impl.9fd [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness.loc15: = impl_witness %ImplicitAs.impl_witness_table.loc15 [concrete = constants.%ImplicitAs.impl_witness.217] // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.6d8: %C as %ImplicitAs.type { +// 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: %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] @@ -360,7 +360,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D.decl [concrete = constants.%D] // CHECK:STDOUT: %self.param: %C.c8d = value_param call_param0 -// CHECK:STDOUT: %Self.ref: type = name_ref Self, @impl.6d8.%C [concrete = constants.%C.c8d] +// CHECK:STDOUT: %Self.ref: type = name_ref Self, @ImplicitAs.impl.6d8.%C [concrete = constants.%C.c8d] // CHECK:STDOUT: %self: %C.c8d = bind_name self, %self.param // CHECK:STDOUT: %return.param: ref %D = out_param call_param1 // CHECK:STDOUT: %return: ref %D = return_slot %return.param @@ -373,7 +373,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: witness = file.%ImplicitAs.impl_witness.loc8 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.b66: %C as %ImplicitAs.type { +// 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: %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] @@ -382,7 +382,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D.decl [concrete = constants.%D] // CHECK:STDOUT: %self.param: %C.c02 = value_param call_param0 -// CHECK:STDOUT: %Self.ref: type = name_ref Self, @impl.b66.%C [concrete = constants.%C.c02] +// CHECK:STDOUT: %Self.ref: type = name_ref Self, @ImplicitAs.impl.b66.%C [concrete = constants.%C.c02] // CHECK:STDOUT: %self: %C.c02 = bind_name self, %self.param // CHECK:STDOUT: %return.param: ref %D = out_param call_param1 // CHECK:STDOUT: %return: ref %D = return_slot %return.param @@ -395,7 +395,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: witness = file.%ImplicitAs.impl_witness.loc9 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.9de: %C as %ImplicitAs.type { +// 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: %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] @@ -404,7 +404,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D.decl [concrete = constants.%D] // CHECK:STDOUT: %self.param: %C.70b = value_param call_param0 -// CHECK:STDOUT: %Self.ref: type = name_ref Self, @impl.9de.%C [concrete = constants.%C.70b] +// CHECK:STDOUT: %Self.ref: type = name_ref Self, @ImplicitAs.impl.9de.%C [concrete = constants.%C.70b] // CHECK:STDOUT: %self: %C.70b = bind_name self, %self.param // CHECK:STDOUT: %return.param: ref %D = out_param call_param1 // CHECK:STDOUT: %return: ref %D = return_slot %return.param @@ -417,7 +417,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: witness = file.%ImplicitAs.impl_witness.loc10 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.649: %C as %ImplicitAs.type { +// 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: %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] @@ -426,7 +426,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D.decl [concrete = constants.%D] // CHECK:STDOUT: %self.param: %C.8cb = value_param call_param0 -// CHECK:STDOUT: %Self.ref: type = name_ref Self, @impl.649.%C [concrete = constants.%C.8cb] +// CHECK:STDOUT: %Self.ref: type = name_ref Self, @ImplicitAs.impl.649.%C [concrete = constants.%C.8cb] // CHECK:STDOUT: %self: %C.8cb = bind_name self, %self.param // CHECK:STDOUT: %return.param: ref %D = out_param call_param1 // CHECK:STDOUT: %return: ref %D = return_slot %return.param @@ -439,7 +439,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: witness = file.%ImplicitAs.impl_witness.loc11 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.49b: %C as %ImplicitAs.type { +// 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: %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] @@ -448,7 +448,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D.decl [concrete = constants.%D] // CHECK:STDOUT: %self.param: %C.ba2 = value_param call_param0 -// CHECK:STDOUT: %Self.ref: type = name_ref Self, @impl.49b.%C [concrete = constants.%C.ba2] +// CHECK:STDOUT: %Self.ref: type = name_ref Self, @ImplicitAs.impl.49b.%C [concrete = constants.%C.ba2] // CHECK:STDOUT: %self: %C.ba2 = bind_name self, %self.param // CHECK:STDOUT: %return.param: ref %D = out_param call_param1 // CHECK:STDOUT: %return: ref %D = return_slot %return.param @@ -461,7 +461,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: witness = file.%ImplicitAs.impl_witness.loc12 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.75f: %C as %ImplicitAs.type { +// 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: %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] @@ -470,7 +470,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D.decl [concrete = constants.%D] // CHECK:STDOUT: %self.param: %C.fcd = value_param call_param0 -// CHECK:STDOUT: %Self.ref: type = name_ref Self, @impl.75f.%C [concrete = constants.%C.fcd] +// CHECK:STDOUT: %Self.ref: type = name_ref Self, @ImplicitAs.impl.75f.%C [concrete = constants.%C.fcd] // CHECK:STDOUT: %self: %C.fcd = bind_name self, %self.param // CHECK:STDOUT: %return.param: ref %D = out_param call_param1 // CHECK:STDOUT: %return: ref %D = return_slot %return.param @@ -483,7 +483,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: witness = file.%ImplicitAs.impl_witness.loc13 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.98f: %C as %ImplicitAs.type { +// 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: %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] @@ -492,7 +492,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D.decl [concrete = constants.%D] // CHECK:STDOUT: %self.param: %C.675 = value_param call_param0 -// CHECK:STDOUT: %Self.ref: type = name_ref Self, @impl.98f.%C [concrete = constants.%C.675] +// CHECK:STDOUT: %Self.ref: type = name_ref Self, @ImplicitAs.impl.98f.%C [concrete = constants.%C.675] // CHECK:STDOUT: %self: %C.675 = bind_name self, %self.param // CHECK:STDOUT: %return.param: ref %D = out_param call_param1 // CHECK:STDOUT: %return: ref %D = return_slot %return.param @@ -505,7 +505,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: witness = file.%ImplicitAs.impl_witness.loc14 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.9fd: %C as %ImplicitAs.type { +// 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: %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] @@ -514,7 +514,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D.decl [concrete = constants.%D] // CHECK:STDOUT: %self.param: %C.884 = value_param call_param0 -// CHECK:STDOUT: %Self.ref: type = name_ref Self, @impl.9fd.%C [concrete = constants.%C.884] +// CHECK:STDOUT: %Self.ref: type = name_ref Self, @ImplicitAs.impl.9fd.%C [concrete = constants.%C.884] // CHECK:STDOUT: %self: %C.884 = bind_name self, %self.param // CHECK:STDOUT: %return.param: ref %D = out_param call_param1 // CHECK:STDOUT: %return: ref %D = return_slot %return.param @@ -768,10 +768,10 @@ fn F0(n: i32) -> P.D { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.921: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet.921 [concrete] @@ -803,11 +803,11 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: %.a9c: type = fn_type_with_self_type %Convert.type.334, %ImplicitAs.facet.014 [concrete] // CHECK:STDOUT: %Convert.type.971: type = fn_type @Convert.7 [concrete] // CHECK:STDOUT: %Convert.bf9: %Convert.type.971 = struct_value () [concrete] -// CHECK:STDOUT: %Op.type.69c: type = fn_type @Op.2, @impl.2b5(%D) [concrete] +// CHECK:STDOUT: %Op.type.69c: type = fn_type @Op.2, @Destroy.impl(%D) [concrete] // CHECK:STDOUT: %Op.f5a: %Op.type.69c = struct_value () [concrete] // CHECK:STDOUT: %ptr.f29: type = ptr_type %D [concrete] // CHECK:STDOUT: %Op.specific_fn.bd1: = specific_function %Op.f5a, @Op.2(%D) [concrete] -// CHECK:STDOUT: %Op.type.94c: type = fn_type @Op.2, @impl.2b5(%C.b00) [concrete] +// CHECK:STDOUT: %Op.type.94c: type = fn_type @Op.2, @Destroy.impl(%C.b00) [concrete] // CHECK:STDOUT: %Op.ae6: %Op.type.94c = struct_value () [concrete] // CHECK:STDOUT: %ptr.697: type = ptr_type %C.b00 [concrete] // CHECK:STDOUT: %Op.specific_fn.e42: = specific_function %Op.ae6, @Op.2(%C.b00) [concrete] @@ -820,7 +820,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: %.7d6: type = fn_type_with_self_type %Convert.type.334, %ImplicitAs.facet.b8a [concrete] // CHECK:STDOUT: %Convert.type.bdd: type = fn_type @Convert.8 [concrete] // CHECK:STDOUT: %Convert.c82: %Convert.type.bdd = struct_value () [concrete] -// CHECK:STDOUT: %Op.type.b6b: type = fn_type @Op.2, @impl.2b5(%C.674) [concrete] +// CHECK:STDOUT: %Op.type.b6b: type = fn_type @Op.2, @Destroy.impl(%C.674) [concrete] // CHECK:STDOUT: %Op.ad8: %Op.type.b6b = struct_value () [concrete] // CHECK:STDOUT: %ptr.625: type = ptr_type %C.674 [concrete] // CHECK:STDOUT: %Op.specific_fn.6b6: = specific_function %Op.ad8, @Op.2(%C.674) [concrete] @@ -833,7 +833,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: %.987: type = fn_type_with_self_type %Convert.type.334, %ImplicitAs.facet.d55 [concrete] // CHECK:STDOUT: %Convert.type.4c1: type = fn_type @Convert.9 [concrete] // CHECK:STDOUT: %Convert.08c: %Convert.type.4c1 = struct_value () [concrete] -// CHECK:STDOUT: %Op.type.a31: type = fn_type @Op.2, @impl.2b5(%C.681) [concrete] +// CHECK:STDOUT: %Op.type.a31: type = fn_type @Op.2, @Destroy.impl(%C.681) [concrete] // CHECK:STDOUT: %Op.404: %Op.type.a31 = struct_value () [concrete] // CHECK:STDOUT: %ptr.3bd: type = ptr_type %C.681 [concrete] // CHECK:STDOUT: %Op.specific_fn.822: = specific_function %Op.404, @Op.2(%C.681) [concrete] @@ -846,7 +846,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: %.efa: type = fn_type_with_self_type %Convert.type.334, %ImplicitAs.facet.aa1 [concrete] // CHECK:STDOUT: %Convert.type.f89: type = fn_type @Convert.10 [concrete] // CHECK:STDOUT: %Convert.2dd: %Convert.type.f89 = struct_value () [concrete] -// CHECK:STDOUT: %Op.type.100: type = fn_type @Op.2, @impl.2b5(%C.7ac) [concrete] +// CHECK:STDOUT: %Op.type.100: type = fn_type @Op.2, @Destroy.impl(%C.7ac) [concrete] // CHECK:STDOUT: %Op.9cf: %Op.type.100 = struct_value () [concrete] // CHECK:STDOUT: %ptr.2b1: type = ptr_type %C.7ac [concrete] // CHECK:STDOUT: %Op.specific_fn.694: = specific_function %Op.9cf, @Op.2(%C.7ac) [concrete] @@ -859,7 +859,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: %.26e: type = fn_type_with_self_type %Convert.type.334, %ImplicitAs.facet.750 [concrete] // CHECK:STDOUT: %Convert.type.2ce: type = fn_type @Convert.11 [concrete] // CHECK:STDOUT: %Convert.009: %Convert.type.2ce = struct_value () [concrete] -// CHECK:STDOUT: %Op.type.86c: type = fn_type @Op.2, @impl.2b5(%C.89d) [concrete] +// CHECK:STDOUT: %Op.type.86c: type = fn_type @Op.2, @Destroy.impl(%C.89d) [concrete] // CHECK:STDOUT: %Op.6b4: %Op.type.86c = struct_value () [concrete] // CHECK:STDOUT: %ptr.c28b: type = ptr_type %C.89d [concrete] // CHECK:STDOUT: %Op.specific_fn.357: = specific_function %Op.6b4, @Op.2(%C.89d) [concrete] @@ -872,7 +872,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: %.eaf: type = fn_type_with_self_type %Convert.type.334, %ImplicitAs.facet.8cc [concrete] // CHECK:STDOUT: %Convert.type.e9d: type = fn_type @Convert.12 [concrete] // CHECK:STDOUT: %Convert.b66: %Convert.type.e9d = struct_value () [concrete] -// CHECK:STDOUT: %Op.type.4df: type = fn_type @Op.2, @impl.2b5(%C.f0a) [concrete] +// CHECK:STDOUT: %Op.type.4df: type = fn_type @Op.2, @Destroy.impl(%C.f0a) [concrete] // CHECK:STDOUT: %Op.985: %Op.type.4df = struct_value () [concrete] // CHECK:STDOUT: %ptr.24c: type = ptr_type %C.f0a [concrete] // CHECK:STDOUT: %Op.specific_fn.a66: = specific_function %Op.985, @Op.2(%C.f0a) [concrete] @@ -885,7 +885,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: %.874: type = fn_type_with_self_type %Convert.type.334, %ImplicitAs.facet.a69 [concrete] // CHECK:STDOUT: %Convert.type.4b8: type = fn_type @Convert.13 [concrete] // CHECK:STDOUT: %Convert.f59: %Convert.type.4b8 = struct_value () [concrete] -// CHECK:STDOUT: %Op.type.32d: type = fn_type @Op.2, @impl.2b5(%C.c60) [concrete] +// CHECK:STDOUT: %Op.type.32d: type = fn_type @Op.2, @Destroy.impl(%C.c60) [concrete] // CHECK:STDOUT: %Op.ca5: %Op.type.32d = struct_value () [concrete] // CHECK:STDOUT: %ptr.b5e: type = ptr_type %C.c60 [concrete] // CHECK:STDOUT: %Op.specific_fn.8d0: = specific_function %Op.ca5, @Op.2(%C.c60) [concrete] @@ -898,7 +898,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: %.79b: type = fn_type_with_self_type %Convert.type.334, %ImplicitAs.facet.cca [concrete] // CHECK:STDOUT: %Convert.type.c7e: type = fn_type @Convert.14 [concrete] // CHECK:STDOUT: %Convert.6c1: %Convert.type.c7e = struct_value () [concrete] -// CHECK:STDOUT: %Op.type.986: type = fn_type @Op.2, @impl.2b5(%C.304) [concrete] +// CHECK:STDOUT: %Op.type.986: type = fn_type @Op.2, @Destroy.impl(%C.304) [concrete] // CHECK:STDOUT: %Op.6fc: %Op.type.986 = struct_value () [concrete] // CHECK:STDOUT: %ptr.dc3: type = ptr_type %C.304 [concrete] // CHECK:STDOUT: %Op.specific_fn.a08: = specific_function %Op.6fc, @Op.2(%C.304) [concrete] @@ -931,8 +931,8 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: %P.import_ref.8f2: = import_ref P//library, loc4_19, loaded [concrete = constants.%complete_type.357] // CHECK:STDOUT: %P.import_ref.f65 = import_ref P//library, inst51 [no loc], unloaded // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: %P.import_ref.708: = import_ref P//library, loc8_33, loaded [concrete = constants.%ImplicitAs.impl_witness.f53] // CHECK:STDOUT: %P.import_ref.d2c: type = import_ref P//library, loc8_9, loaded [concrete = constants.%C.b00] // CHECK:STDOUT: %P.import_ref.b769fa.1: type = import_ref P//library, loc8_31, loaded [concrete = constants.%ImplicitAs.type.5f9] @@ -958,22 +958,22 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: %P.import_ref.dae: type = import_ref P//library, loc15_9, loaded [concrete = constants.%C.304] // CHECK:STDOUT: %P.import_ref.b769fa.8: type = import_ref P//library, loc15_31, loaded [concrete = constants.%ImplicitAs.type.5f9] // CHECK:STDOUT: %P.import_ref.e36: %Convert.type.971 = import_ref P//library, loc8_65, loaded [concrete = constants.%Convert.bf9] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.f4b = impl_witness_table (%P.import_ref.e36), @impl.284 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.f4b = impl_witness_table (%P.import_ref.e36), @ImplicitAs.impl.284 [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: %P.import_ref.38e: %Convert.type.bdd = import_ref P//library, loc9_65, loaded [concrete = constants.%Convert.c82] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.297 = impl_witness_table (%P.import_ref.38e), @impl.628 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.297 = impl_witness_table (%P.import_ref.38e), @ImplicitAs.impl.628 [concrete] // CHECK:STDOUT: %P.import_ref.5ab: %Convert.type.4c1 = import_ref P//library, loc10_65, loaded [concrete = constants.%Convert.08c] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.8b3 = impl_witness_table (%P.import_ref.5ab), @impl.88c [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.8b3 = impl_witness_table (%P.import_ref.5ab), @ImplicitAs.impl.88c [concrete] // CHECK:STDOUT: %P.import_ref.db1: %Convert.type.f89 = import_ref P//library, loc11_65, loaded [concrete = constants.%Convert.2dd] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.db0 = impl_witness_table (%P.import_ref.db1), @impl.f76 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.db0 = impl_witness_table (%P.import_ref.db1), @ImplicitAs.impl.f76 [concrete] // CHECK:STDOUT: %P.import_ref.134: %Convert.type.2ce = import_ref P//library, loc12_65, loaded [concrete = constants.%Convert.009] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.54d = impl_witness_table (%P.import_ref.134), @impl.521 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.54d = impl_witness_table (%P.import_ref.134), @ImplicitAs.impl.521 [concrete] // CHECK:STDOUT: %P.import_ref.9a0: %Convert.type.e9d = import_ref P//library, loc13_65, loaded [concrete = constants.%Convert.b66] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.e3f = impl_witness_table (%P.import_ref.9a0), @impl.ac4 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.e3f = impl_witness_table (%P.import_ref.9a0), @ImplicitAs.impl.ac4 [concrete] // CHECK:STDOUT: %P.import_ref.b13: %Convert.type.4b8 = import_ref P//library, loc14_65, loaded [concrete = constants.%Convert.f59] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b31 = impl_witness_table (%P.import_ref.b13), @impl.3bf [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b31 = impl_witness_table (%P.import_ref.b13), @ImplicitAs.impl.3bf [concrete] // CHECK:STDOUT: %P.import_ref.216: %Convert.type.c7e = import_ref P//library, loc15_65, loaded [concrete = constants.%Convert.6c1] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.056 = impl_witness_table (%P.import_ref.216), @impl.935 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.056 = impl_witness_table (%P.import_ref.216), @ImplicitAs.impl.935 [concrete] // CHECK:STDOUT: %P.Make: %Make.type = import_ref P//library, Make, loaded [concrete = constants.%Make] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -1004,42 +1004,42 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.284: imports.%P.import_ref.d2c as imports.%P.import_ref.b769fa.1 [from "library.carbon"] { +// CHECK:STDOUT: impl @ImplicitAs.impl.284: imports.%P.import_ref.d2c as imports.%P.import_ref.b769fa.1 [from "library.carbon"] { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = imports.%P.import_ref.708 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.628: imports.%P.import_ref.cf3 as imports.%P.import_ref.b769fa.2 [from "library.carbon"] { +// CHECK:STDOUT: impl @ImplicitAs.impl.628: imports.%P.import_ref.cf3 as imports.%P.import_ref.b769fa.2 [from "library.carbon"] { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = imports.%P.import_ref.ae8 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.88c: imports.%P.import_ref.095 as imports.%P.import_ref.b769fa.3 [from "library.carbon"] { +// CHECK:STDOUT: impl @ImplicitAs.impl.88c: imports.%P.import_ref.095 as imports.%P.import_ref.b769fa.3 [from "library.carbon"] { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = imports.%P.import_ref.2fc // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.f76: imports.%P.import_ref.82b as imports.%P.import_ref.b769fa.4 [from "library.carbon"] { +// CHECK:STDOUT: impl @ImplicitAs.impl.f76: imports.%P.import_ref.82b as imports.%P.import_ref.b769fa.4 [from "library.carbon"] { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = imports.%P.import_ref.d75 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.521: imports.%P.import_ref.f7d as imports.%P.import_ref.b769fa.5 [from "library.carbon"] { +// CHECK:STDOUT: impl @ImplicitAs.impl.521: imports.%P.import_ref.f7d as imports.%P.import_ref.b769fa.5 [from "library.carbon"] { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = imports.%P.import_ref.6c2 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.ac4: imports.%P.import_ref.a43 as imports.%P.import_ref.b769fa.6 [from "library.carbon"] { +// CHECK:STDOUT: impl @ImplicitAs.impl.ac4: imports.%P.import_ref.a43 as imports.%P.import_ref.b769fa.6 [from "library.carbon"] { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = imports.%P.import_ref.0e0 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.3bf: imports.%P.import_ref.654 as imports.%P.import_ref.b769fa.7 [from "library.carbon"] { +// CHECK:STDOUT: impl @ImplicitAs.impl.3bf: imports.%P.import_ref.654 as imports.%P.import_ref.b769fa.7 [from "library.carbon"] { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = imports.%P.import_ref.e6a // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @impl.935: imports.%P.import_ref.dae as imports.%P.import_ref.b769fa.8 [from "library.carbon"] { +// CHECK:STDOUT: impl @ImplicitAs.impl.935: imports.%P.import_ref.dae as imports.%P.import_ref.b769fa.8 [from "library.carbon"] { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = imports.%P.import_ref.5f0 // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/return/returned_var.carbon b/toolchain/check/testdata/return/returned_var.carbon index c62b55817c6d..07fad134ae4d 100644 --- a/toolchain/check/testdata/return/returned_var.carbon +++ b/toolchain/check/testdata/return/returned_var.carbon @@ -50,10 +50,10 @@ fn G() -> i32 { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -73,7 +73,7 @@ fn G() -> i32 { // CHECK:STDOUT: %bound_method.b6e: = bound_method %int_0.5c6, %Convert.specific_fn [concrete] // CHECK:STDOUT: %int_0.6a9: %i32 = int_value 0 [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.a17: type = fn_type @Op.3, @impl.49c(%i32) [concrete] +// CHECK:STDOUT: %Op.type.a17: type = fn_type @Op.3, @Destroy.impl(%i32) [concrete] // CHECK:STDOUT: %Op.e6a: %Op.type.a17 = struct_value () [concrete] // CHECK:STDOUT: %ptr.235: type = ptr_type %i32 [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.e6a, @Op.3(%i32) [concrete] @@ -89,8 +89,8 @@ fn G() -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/return/returned_var_scope.carbon b/toolchain/check/testdata/return/returned_var_scope.carbon index 39bf722a661e..5dfcee7fd18c 100644 --- a/toolchain/check/testdata/return/returned_var_scope.carbon +++ b/toolchain/check/testdata/return/returned_var_scope.carbon @@ -49,10 +49,10 @@ fn EnclosingButAfter(b: bool) -> i32 { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -65,7 +65,7 @@ fn EnclosingButAfter(b: bool) -> i32 { // 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: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.a17: type = fn_type @Op.3, @impl.49c(%i32) [concrete] +// CHECK:STDOUT: %Op.type.a17: type = fn_type @Op.3, @Destroy.impl(%i32) [concrete] // CHECK:STDOUT: %Op.e6a: %Op.type.a17 = struct_value () [concrete] // CHECK:STDOUT: %ptr.235: type = ptr_type %i32 [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.e6a, @Op.3(%i32) [concrete] @@ -87,8 +87,8 @@ fn EnclosingButAfter(b: bool) -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: %Core.Bool: %Bool.type = import_ref Core//prelude/parts/bool, Bool, loaded [concrete = constants.%Bool] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/return/struct.carbon b/toolchain/check/testdata/return/struct.carbon index 5d9475a205de..05c520f0b874 100644 --- a/toolchain/check/testdata/return/struct.carbon +++ b/toolchain/check/testdata/return/struct.carbon @@ -34,10 +34,10 @@ fn Main() -> {.a: i32} { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -57,8 +57,8 @@ fn Main() -> {.a: i32} { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/return/tuple.carbon b/toolchain/check/testdata/return/tuple.carbon index a01001f41603..a5dc378dd5f3 100644 --- a/toolchain/check/testdata/return/tuple.carbon +++ b/toolchain/check/testdata/return/tuple.carbon @@ -37,10 +37,10 @@ fn Main() -> (i32, i32) { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -63,8 +63,8 @@ fn Main() -> (i32, i32) { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/return/value.carbon b/toolchain/check/testdata/return/value.carbon index d8e458554ca6..972e34d313d4 100644 --- a/toolchain/check/testdata/return/value.carbon +++ b/toolchain/check/testdata/return/value.carbon @@ -32,10 +32,10 @@ fn Main() -> i32 { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -54,8 +54,8 @@ fn Main() -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/struct/fail_non_member_access.carbon b/toolchain/check/testdata/struct/fail_non_member_access.carbon index 86bdee53d0e9..894ec24dcbf6 100644 --- a/toolchain/check/testdata/struct/fail_non_member_access.carbon +++ b/toolchain/check/testdata/struct/fail_non_member_access.carbon @@ -35,10 +35,10 @@ var y: i32 = x.b; // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -59,8 +59,8 @@ var y: i32 = x.b; // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/struct/import.carbon b/toolchain/check/testdata/struct/import.carbon index 66a794df7754..728056fa6f8a 100644 --- a/toolchain/check/testdata/struct/import.carbon +++ b/toolchain/check/testdata/struct/import.carbon @@ -72,10 +72,10 @@ var c_bad: C({.a = 3, .b = 4}) = F(); // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -132,8 +132,8 @@ var c_bad: C({.a = 3, .b = 4}) = F(); // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -303,7 +303,7 @@ var c_bad: C({.a = 3, .b = 4}) = F(); // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.type.595: type = generic_interface_type @ImplicitAs [concrete] // CHECK:STDOUT: %ImplicitAs.generic: %ImplicitAs.type.595 = struct_value () [concrete] -// CHECK:STDOUT: %Convert.type.9a6: type = fn_type @Convert.2, @impl.a8d(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.9a6: type = fn_type @Convert.2, @ImplicitAs.impl.a8d(%To) [symbolic] // CHECK:STDOUT: %Convert.458: %Convert.type.9a6 = struct_value () [symbolic] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] @@ -335,8 +335,8 @@ var c_bad: C({.a = 3, .b = 4}) = F(); // CHECK:STDOUT: %struct_type.a.b.cfd: type = struct_type {.a: Core.IntLiteral, .b: Core.IntLiteral} [concrete] // CHECK:STDOUT: %ImplicitAs.type.b9e: type = facet_type <@ImplicitAs, @ImplicitAs(%i32)> [concrete] // CHECK:STDOUT: %Convert.type.ea0: type = fn_type @Convert.1, @ImplicitAs(%i32) [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.2ce: = impl_witness imports.%ImplicitAs.impl_witness_table.1ad, @impl.a8d(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.e14: type = fn_type @Convert.2, @impl.a8d(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.2ce: = impl_witness imports.%ImplicitAs.impl_witness_table.1ad, @ImplicitAs.impl.a8d(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.e14: type = fn_type @Convert.2, @ImplicitAs.impl.a8d(%int_32) [concrete] // CHECK:STDOUT: %Convert.4cb: %Convert.type.e14 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.b9e = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.2ce) [concrete] // CHECK:STDOUT: %.940: type = fn_type_with_self_type %Convert.type.ea0, %ImplicitAs.facet [concrete] @@ -365,8 +365,8 @@ var c_bad: C({.a = 3, .b = 4}) = F(); // CHECK:STDOUT: import Core//prelude // CHECK:STDOUT: import Core//prelude/... // CHECK:STDOUT: } -// CHECK:STDOUT: %Implicit.import_ref.773: @impl.a8d.%Convert.type (%Convert.type.9a6) = import_ref Implicit//default, inst117 [indirect], loaded [symbolic = @impl.a8d.%Convert (constants.%Convert.458)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1ad = impl_witness_table (%Implicit.import_ref.773), @impl.a8d [concrete] +// CHECK:STDOUT: %Implicit.import_ref.773: @ImplicitAs.impl.a8d.%Convert.type (%Convert.type.9a6) = import_ref Implicit//default, inst117 [indirect], loaded [symbolic = @ImplicitAs.impl.a8d.%Convert (constants.%Convert.458)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1ad = impl_witness_table (%Implicit.import_ref.773), @ImplicitAs.impl.a8d [concrete] // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %a_ref.patt: %pattern_type.b54 = binding_pattern a_ref [concrete] // CHECK:STDOUT: %a_ref.var_patt: %pattern_type.b54 = var_pattern %a_ref.patt [concrete] @@ -619,7 +619,7 @@ var c_bad: C({.a = 3, .b = 4}) = F(); // CHECK:STDOUT: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] // CHECK:STDOUT: %ImplicitAs.type.595: type = generic_interface_type @ImplicitAs [concrete] // CHECK:STDOUT: %ImplicitAs.generic: %ImplicitAs.type.595 = struct_value () [concrete] -// CHECK:STDOUT: %Convert.type.9a6: type = fn_type @Convert.2, @impl.a8d(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.9a6: type = fn_type @Convert.2, @ImplicitAs.impl.a8d(%To) [symbolic] // CHECK:STDOUT: %Convert.458: %Convert.type.9a6 = struct_value () [symbolic] // CHECK:STDOUT: %C.type: type = generic_class_type @C [concrete] // CHECK:STDOUT: %C.generic: %C.type = struct_value () [concrete] @@ -634,8 +634,8 @@ var c_bad: C({.a = 3, .b = 4}) = F(); // CHECK:STDOUT: %struct_type.a.b.cfd: type = struct_type {.a: Core.IntLiteral, .b: Core.IntLiteral} [concrete] // CHECK:STDOUT: %ImplicitAs.type.b9e: type = facet_type <@ImplicitAs, @ImplicitAs(%i32)> [concrete] // CHECK:STDOUT: %Convert.type.ea0: type = fn_type @Convert.1, @ImplicitAs(%i32) [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.2ce: = impl_witness imports.%ImplicitAs.impl_witness_table.1ad, @impl.a8d(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.e14: type = fn_type @Convert.2, @impl.a8d(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.2ce: = impl_witness imports.%ImplicitAs.impl_witness_table.1ad, @ImplicitAs.impl.a8d(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.e14: type = fn_type @Convert.2, @ImplicitAs.impl.a8d(%int_32) [concrete] // CHECK:STDOUT: %Convert.4cb: %Convert.type.e14 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.b9e = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.2ce) [concrete] // CHECK:STDOUT: %.940: type = fn_type_with_self_type %Convert.type.ea0, %ImplicitAs.facet [concrete] @@ -667,8 +667,8 @@ var c_bad: C({.a = 3, .b = 4}) = F(); // CHECK:STDOUT: import Core//prelude // CHECK:STDOUT: import Core//prelude/... // CHECK:STDOUT: } -// CHECK:STDOUT: %Implicit.import_ref.773: @impl.a8d.%Convert.type (%Convert.type.9a6) = import_ref Implicit//default, inst117 [indirect], loaded [symbolic = @impl.a8d.%Convert (constants.%Convert.458)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1ad = impl_witness_table (%Implicit.import_ref.773), @impl.a8d [concrete] +// CHECK:STDOUT: %Implicit.import_ref.773: @ImplicitAs.impl.a8d.%Convert.type (%Convert.type.9a6) = import_ref Implicit//default, inst117 [indirect], loaded [symbolic = @ImplicitAs.impl.a8d.%Convert (constants.%Convert.458)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1ad = impl_witness_table (%Implicit.import_ref.773), @ImplicitAs.impl.a8d [concrete] // CHECK:STDOUT: %Implicit.import_ref.c81: %struct_type.a.b.5ca = import_ref Implicit//default, loc8_9, loaded [symbolic = @C.%S (constants.%S)] // CHECK:STDOUT: %Implicit.import_ref.8f2: = import_ref Implicit//default, loc8_34, loaded [concrete = constants.%complete_type.357] // CHECK:STDOUT: %Implicit.import_ref.b8b = import_ref Implicit//default, inst456 [no loc], unloaded diff --git a/toolchain/check/testdata/struct/literal_member_access.carbon b/toolchain/check/testdata/struct/literal_member_access.carbon index 9feb867f8c47..16c5b01f25a2 100644 --- a/toolchain/check/testdata/struct/literal_member_access.carbon +++ b/toolchain/check/testdata/struct/literal_member_access.carbon @@ -38,7 +38,7 @@ fn F() -> i32 { // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete] // CHECK:STDOUT: %struct_type.a.b.c.4ca: type = struct_type {.a: Core.IntLiteral, .b: %struct_type.x.y.z, .c: Core.IntLiteral} [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.f60: type = fn_type @Op.2, @impl(%struct_type.x.y.z) [concrete] +// CHECK:STDOUT: %Op.type.f60: type = fn_type @Op.2, @Destroy.impl(%struct_type.x.y.z) [concrete] // CHECK:STDOUT: %Op.1a4: %Op.type.f60 = struct_value () [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.1a4, @Op.2(%struct_type.x.y.z) [concrete] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/struct/member_access.carbon b/toolchain/check/testdata/struct/member_access.carbon index 155ad0371d10..e5b15ea18681 100644 --- a/toolchain/check/testdata/struct/member_access.carbon +++ b/toolchain/check/testdata/struct/member_access.carbon @@ -38,10 +38,10 @@ var z: i32 = y; // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -64,8 +64,8 @@ var z: i32 = y; // CHECK:STDOUT: %Core.Float: %Float.type = import_ref Core//prelude/parts/float, Float, loaded [concrete = constants.%Float] // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/struct/nested_struct_in_place.carbon b/toolchain/check/testdata/struct/nested_struct_in_place.carbon index a92a61a69640..682cccf90ce4 100644 --- a/toolchain/check/testdata/struct/nested_struct_in_place.carbon +++ b/toolchain/check/testdata/struct/nested_struct_in_place.carbon @@ -37,10 +37,10 @@ fn G() { // CHECK:STDOUT: %ptr.7ae: type = ptr_type %tuple.type.189 [concrete] // CHECK:STDOUT: %pattern_type.3c2: type = pattern_type %struct_type.a.b.2f9 [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.19f: type = fn_type @Op.3, @impl.49c(%tuple.type.189) [concrete] +// CHECK:STDOUT: %Op.type.19f: type = fn_type @Op.3, @Destroy.impl(%tuple.type.189) [concrete] // CHECK:STDOUT: %Op.672: %Op.type.19f = struct_value () [concrete] // CHECK:STDOUT: %Op.specific_fn.cf9: = specific_function %Op.672, @Op.3(%tuple.type.189) [concrete] -// CHECK:STDOUT: %Op.type.840: type = fn_type @Op.3, @impl.49c(%struct_type.a.b.2f9) [concrete] +// CHECK:STDOUT: %Op.type.840: type = fn_type @Op.3, @Destroy.impl(%struct_type.a.b.2f9) [concrete] // CHECK:STDOUT: %Op.52b: %Op.type.840 = struct_value () [concrete] // CHECK:STDOUT: %ptr.c95: type = ptr_type %struct_type.a.b.2f9 [concrete] // CHECK:STDOUT: %Op.specific_fn.c7e: = specific_function %Op.52b, @Op.3(%struct_type.a.b.2f9) [concrete] diff --git a/toolchain/check/testdata/struct/one_entry.carbon b/toolchain/check/testdata/struct/one_entry.carbon index fb927f5d6cd9..9ff6cd6f2454 100644 --- a/toolchain/check/testdata/struct/one_entry.carbon +++ b/toolchain/check/testdata/struct/one_entry.carbon @@ -32,10 +32,10 @@ var y: {.a: i32} = x; // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -55,8 +55,8 @@ var y: {.a: i32} = x; // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/struct/partially_const.carbon b/toolchain/check/testdata/struct/partially_const.carbon index 50447ec99024..d74615d9b9e9 100644 --- a/toolchain/check/testdata/struct/partially_const.carbon +++ b/toolchain/check/testdata/struct/partially_const.carbon @@ -35,10 +35,10 @@ fn Make(n: i32) -> {.a: i32, .b: i32, .c: i32} { // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -57,8 +57,8 @@ fn Make(n: i32) -> {.a: i32, .b: i32, .c: i32} { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/struct/tuple_as_element.carbon b/toolchain/check/testdata/struct/tuple_as_element.carbon index 4111f750a547..8f2d312f574f 100644 --- a/toolchain/check/testdata/struct/tuple_as_element.carbon +++ b/toolchain/check/testdata/struct/tuple_as_element.carbon @@ -36,10 +36,10 @@ var y: {.a: i32, .b: (i32,)} = x; // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -67,8 +67,8 @@ var y: {.a: i32, .b: (i32,)} = x; // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/struct/two_entries.carbon b/toolchain/check/testdata/struct/two_entries.carbon index b1022f183e22..d537eca970c5 100644 --- a/toolchain/check/testdata/struct/two_entries.carbon +++ b/toolchain/check/testdata/struct/two_entries.carbon @@ -35,10 +35,10 @@ var y: {.a: i32, .b: i32} = x; // 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: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -65,8 +65,8 @@ var y: {.a: i32, .b: i32} = x; // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/tuple/element_access.carbon b/toolchain/check/testdata/tuple/element_access.carbon index 0592f34b89fd..8829ace5d6ee 100644 --- a/toolchain/check/testdata/tuple/element_access.carbon +++ b/toolchain/check/testdata/tuple/element_access.carbon @@ -203,10 +203,10 @@ var b: i32 = a.({.index = 2}.index); // CHECK:STDOUT: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] // CHECK:STDOUT: %ImplicitAs.type.2fd: type = facet_type <@ImplicitAs, @ImplicitAs(Core.IntLiteral)> [concrete] // CHECK:STDOUT: %From: Core.IntLiteral = bind_symbolic_name From, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.708: type = fn_type @Convert.3, @impl.971(%From) [symbolic] +// CHECK:STDOUT: %Convert.type.708: type = fn_type @Convert.3, @ImplicitAs.impl.971(%From) [symbolic] // CHECK:STDOUT: %Convert.c68: %Convert.type.708 = struct_value () [symbolic] // CHECK:STDOUT: %Convert.type.71e: type = fn_type @Convert.1, @ImplicitAs(Core.IntLiteral) [concrete] -// CHECK:STDOUT: %Convert.type.062: type = fn_type @Convert.5, @impl.686(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.062: type = fn_type @Convert.5, @As.impl.686(%To) [symbolic] // CHECK:STDOUT: %Convert.527: %Convert.type.062 = struct_value () [symbolic] // CHECK:STDOUT: %pattern_type.7ce: type = pattern_type %i32 [concrete] // CHECK:STDOUT: %int_1.5b8: Core.IntLiteral = int_value 1 [concrete] @@ -216,8 +216,8 @@ var b: i32 = a.({.index = 2}.index); // CHECK:STDOUT: %int_0.5c6: Core.IntLiteral = int_value 0 [concrete] // CHECK:STDOUT: %As.type.fd4: type = facet_type <@As, @As(%i32)> [concrete] // CHECK:STDOUT: %Convert.type.99b: type = fn_type @Convert.4, @As(%i32) [concrete] -// CHECK:STDOUT: %As.impl_witness.6b4: = impl_witness imports.%As.impl_witness_table.eb4, @impl.686(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.4fd: type = fn_type @Convert.5, @impl.686(%int_32) [concrete] +// CHECK:STDOUT: %As.impl_witness.6b4: = impl_witness imports.%As.impl_witness_table.eb4, @As.impl.686(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.4fd: type = fn_type @Convert.5, @As.impl.686(%int_32) [concrete] // CHECK:STDOUT: %Convert.197: %Convert.type.4fd = struct_value () [concrete] // CHECK:STDOUT: %As.facet: %As.type.fd4 = facet_value Core.IntLiteral, (%As.impl_witness.6b4) [concrete] // CHECK:STDOUT: %.982: type = fn_type_with_self_type %Convert.type.99b, %As.facet [concrete] @@ -225,8 +225,8 @@ var b: i32 = a.({.index = 2}.index); // CHECK:STDOUT: %Convert.specific_fn.aad: = specific_function %Convert.197, @Convert.5(%int_32) [concrete] // CHECK:STDOUT: %bound_method.46b: = bound_method %int_0.5c6, %Convert.specific_fn.aad [concrete] // CHECK:STDOUT: %int_0.6a9: %i32 = int_value 0 [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a11: = impl_witness imports.%ImplicitAs.impl_witness_table.1d9, @impl.971(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.4ad: type = fn_type @Convert.3, @impl.971(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a11: = impl_witness imports.%ImplicitAs.impl_witness_table.1d9, @ImplicitAs.impl.971(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.4ad: type = fn_type @Convert.3, @ImplicitAs.impl.971(%int_32) [concrete] // CHECK:STDOUT: %Convert.960: %Convert.type.4ad = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.f49: %ImplicitAs.type.2fd = facet_value %i32, (%ImplicitAs.impl_witness.a11) [concrete] // CHECK:STDOUT: %.0ea: type = fn_type_with_self_type %Convert.type.71e, %ImplicitAs.facet.f49 [concrete] @@ -243,10 +243,10 @@ var b: i32 = a.({.index = 2}.index); // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { -// CHECK:STDOUT: %Core.import_ref.85c: @impl.971.%Convert.type (%Convert.type.708) = import_ref Core//prelude/parts/int, loc20_44, loaded [symbolic = @impl.971.%Convert (constants.%Convert.c68)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1d9 = impl_witness_table (%Core.import_ref.85c), @impl.971 [concrete] -// CHECK:STDOUT: %Core.import_ref.78a: @impl.686.%Convert.type (%Convert.type.062) = import_ref Core//prelude/parts/int, loc25_39, loaded [symbolic = @impl.686.%Convert (constants.%Convert.527)] -// CHECK:STDOUT: %As.impl_witness_table.eb4 = impl_witness_table (%Core.import_ref.78a), @impl.686 [concrete] +// CHECK:STDOUT: %Core.import_ref.85c: @ImplicitAs.impl.971.%Convert.type (%Convert.type.708) = import_ref Core//prelude/parts/int, loc20_44, loaded [symbolic = @ImplicitAs.impl.971.%Convert (constants.%Convert.c68)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1d9 = impl_witness_table (%Core.import_ref.85c), @ImplicitAs.impl.971 [concrete] +// CHECK:STDOUT: %Core.import_ref.78a: @As.impl.686.%Convert.type (%Convert.type.062) = import_ref Core//prelude/parts/int, loc25_39, loaded [symbolic = @As.impl.686.%Convert (constants.%Convert.527)] +// CHECK:STDOUT: %As.impl_witness_table.eb4 = impl_witness_table (%Core.import_ref.78a), @As.impl.686 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -354,7 +354,7 @@ var b: i32 = a.({.index = 2}.index); // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: %int_0.5c6: Core.IntLiteral = int_value 0 [concrete] -// CHECK:STDOUT: %Op.type.438: type = fn_type @Op.3, @impl.49c(%tuple.type.a1c) [concrete] +// CHECK:STDOUT: %Op.type.438: type = fn_type @Op.3, @Destroy.impl(%tuple.type.a1c) [concrete] // CHECK:STDOUT: %Op.c8e: %Op.type.438 = struct_value () [concrete] // CHECK:STDOUT: %ptr.0b7: type = ptr_type %tuple.type.a1c [concrete] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/tuple/import.carbon b/toolchain/check/testdata/tuple/import.carbon index 56b634c69c1a..eec3f1045b28 100644 --- a/toolchain/check/testdata/tuple/import.carbon +++ b/toolchain/check/testdata/tuple/import.carbon @@ -62,7 +62,7 @@ var c_bad: C((3, 4)) = F(); // CHECK:STDOUT: // CHECK:STDOUT: constants { // CHECK:STDOUT: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.9a6: type = fn_type @Convert.2, @impl.a8d(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.9a6: type = fn_type @Convert.2, @ImplicitAs.impl.a8d(%To) [symbolic] // CHECK:STDOUT: %Convert.458: %Convert.type.9a6 = struct_value () [symbolic] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] @@ -97,8 +97,8 @@ var c_bad: C((3, 4)) = F(); // CHECK:STDOUT: %tuple.type.f94: type = tuple_type (Core.IntLiteral, Core.IntLiteral) [concrete] // CHECK:STDOUT: %ImplicitAs.type.b9e: type = facet_type <@ImplicitAs, @ImplicitAs(%i32)> [concrete] // CHECK:STDOUT: %Convert.type.ea0: type = fn_type @Convert.1, @ImplicitAs(%i32) [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.2ce: = impl_witness imports.%ImplicitAs.impl_witness_table.1ad, @impl.a8d(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.e14: type = fn_type @Convert.2, @impl.a8d(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.2ce: = impl_witness imports.%ImplicitAs.impl_witness_table.1ad, @ImplicitAs.impl.a8d(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.e14: type = fn_type @Convert.2, @ImplicitAs.impl.a8d(%int_32) [concrete] // CHECK:STDOUT: %Convert.4cb: %Convert.type.e14 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.b9e = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.2ce) [concrete] // CHECK:STDOUT: %.940: type = fn_type_with_self_type %Convert.type.ea0, %ImplicitAs.facet [concrete] @@ -121,8 +121,8 @@ var c_bad: C((3, 4)) = F(); // CHECK:STDOUT: %Implicit.b_ref: ref %tuple.type.cfa = import_ref Implicit//default, b_ref, loaded [concrete = %b_ref.var] // CHECK:STDOUT: %Implicit.C: %C.type = import_ref Implicit//default, C, loaded [concrete = constants.%C.generic] // CHECK:STDOUT: %Implicit.F: %F.type = import_ref Implicit//default, F, loaded [concrete = constants.%F] -// CHECK:STDOUT: %Implicit.import_ref.773: @impl.a8d.%Convert.type (%Convert.type.9a6) = import_ref Implicit//default, inst119 [indirect], loaded [symbolic = @impl.a8d.%Convert (constants.%Convert.458)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1ad = impl_witness_table (%Implicit.import_ref.773), @impl.a8d [concrete] +// CHECK:STDOUT: %Implicit.import_ref.773: @ImplicitAs.impl.a8d.%Convert.type (%Convert.type.9a6) = import_ref Implicit//default, inst119 [indirect], loaded [symbolic = @ImplicitAs.impl.a8d.%Convert (constants.%Convert.458)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1ad = impl_witness_table (%Implicit.import_ref.773), @ImplicitAs.impl.a8d [concrete] // CHECK:STDOUT: %a_ref.patt: %pattern_type.2e8 = binding_pattern a_ref [concrete] // CHECK:STDOUT: %a_ref.var_patt: %pattern_type.2e8 = var_pattern %a_ref.patt [concrete] // CHECK:STDOUT: %a_ref.var: ref %tuple.type.dd4 = var %a_ref.var_patt [concrete] diff --git a/toolchain/check/testdata/tuple/in_place_tuple_init.carbon b/toolchain/check/testdata/tuple/in_place_tuple_init.carbon index 74e22039a43f..02dae28c9cf7 100644 --- a/toolchain/check/testdata/tuple/in_place_tuple_init.carbon +++ b/toolchain/check/testdata/tuple/in_place_tuple_init.carbon @@ -60,7 +60,7 @@ fn H() { // CHECK:STDOUT: %G.type: type = fn_type @G [concrete] // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] // CHECK:STDOUT: %ptr.261: type = ptr_type %tuple.type.d07 [concrete] -// CHECK:STDOUT: %Op.type.a4a: type = fn_type @Op.3, @impl.49c(%tuple.type.d07) [concrete] +// CHECK:STDOUT: %Op.type.a4a: type = fn_type @Op.3, @Destroy.impl(%tuple.type.d07) [concrete] // CHECK:STDOUT: %Op.7c6: %Op.type.a4a = struct_value () [concrete] // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete] // CHECK:STDOUT: } @@ -147,11 +147,11 @@ fn H() { // CHECK:STDOUT: %ptr.7ae: type = ptr_type %tuple.type.189 [concrete] // CHECK:STDOUT: %pattern_type.d88: type = pattern_type %tuple.type.99b [concrete] // CHECK:STDOUT: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] -// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic] +// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%To) [symbolic] // CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic] -// CHECK:STDOUT: %Op.type.19f: type = fn_type @Op.3, @impl.49c(%tuple.type.189) [concrete] +// CHECK:STDOUT: %Op.type.19f: type = fn_type @Op.3, @Destroy.impl(%tuple.type.189) [concrete] // CHECK:STDOUT: %Op.672: %Op.type.19f = struct_value () [concrete] -// CHECK:STDOUT: %Op.type.387: type = fn_type @Op.3, @impl.49c(%tuple.type.99b) [concrete] +// CHECK:STDOUT: %Op.type.387: type = fn_type @Op.3, @Destroy.impl(%tuple.type.99b) [concrete] // CHECK:STDOUT: %Op.b09: %Op.type.387 = struct_value () [concrete] // CHECK:STDOUT: %ptr.8bc: type = ptr_type %tuple.type.99b [concrete] // CHECK:STDOUT: %tuple.type.3a3: type = tuple_type (type, %tuple.type.ff9, type) [concrete] @@ -162,8 +162,8 @@ fn H() { // CHECK:STDOUT: %tuple.type.667: type = tuple_type (Core.IntLiteral, %tuple.type.189, Core.IntLiteral) [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.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete] -// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @ImplicitAs.impl.4f9(%int_32) [concrete] +// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @ImplicitAs.impl.4f9(%int_32) [concrete] // CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete] // CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete] @@ -174,14 +174,14 @@ fn H() { // CHECK:STDOUT: %Convert.bound.ef9: = bound_method %int_2.ecc, %Convert.956 [concrete] // CHECK:STDOUT: %bound_method.b92: = bound_method %int_2.ecc, %Convert.specific_fn [concrete] // CHECK:STDOUT: %int_2.ef8: %i32 = int_value 2 [concrete] -// CHECK:STDOUT: %Op.type.701: type = fn_type @Op.3, @impl.49c(%tuple.type.516) [concrete] +// CHECK:STDOUT: %Op.type.701: type = fn_type @Op.3, @Destroy.impl(%tuple.type.516) [concrete] // CHECK:STDOUT: %Op.dfb: %Op.type.701 = struct_value () [concrete] // CHECK:STDOUT: %ptr.12e: type = ptr_type %tuple.type.516 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { -// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete] +// CHECK:STDOUT: %Core.import_ref.a5b: @ImplicitAs.impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @ImplicitAs.impl.4f9.%Convert (constants.%Convert.f06)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @ImplicitAs.impl.4f9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @G() { diff --git a/toolchain/check/testdata/tuple/tuple_pattern.carbon b/toolchain/check/testdata/tuple/tuple_pattern.carbon index d028647b9adc..c14888c6efa2 100644 --- a/toolchain/check/testdata/tuple/tuple_pattern.carbon +++ b/toolchain/check/testdata/tuple/tuple_pattern.carbon @@ -129,7 +129,7 @@ let (a: {}, b: {}) = ({}, {}, {}); // CHECK:STDOUT: %pattern_type.de4: type = pattern_type %tuple.type.b6b [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: %tuple: %tuple.type.b6b = tuple_value (%empty_struct, %empty_struct) [concrete] -// CHECK:STDOUT: %Op.type.72a: type = fn_type @Op.2, @impl(%tuple.type.b6b) [concrete] +// CHECK:STDOUT: %Op.type.72a: type = fn_type @Op.2, @Destroy.impl(%tuple.type.b6b) [concrete] // CHECK:STDOUT: %Op.973: %Op.type.72a = struct_value () [concrete] // CHECK:STDOUT: %ptr.8fc: type = ptr_type %tuple.type.b6b [concrete] // CHECK:STDOUT: } @@ -234,7 +234,7 @@ let (a: {}, b: {}) = ({}, {}, {}); // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: %tuple: %tuple.type.b6b = tuple_value (%empty_struct, %empty_struct) [concrete] // CHECK:STDOUT: %pattern_type.a96: type = pattern_type %empty_struct_type [concrete] -// CHECK:STDOUT: %Op.type.72a: type = fn_type @Op.2, @impl(%tuple.type.b6b) [concrete] +// CHECK:STDOUT: %Op.type.72a: type = fn_type @Op.2, @Destroy.impl(%tuple.type.b6b) [concrete] // CHECK:STDOUT: %Op.973: %Op.type.72a = struct_value () [concrete] // CHECK:STDOUT: %ptr.8fc: type = ptr_type %tuple.type.b6b [concrete] // CHECK:STDOUT: %MakeTuple.type: type = fn_type @MakeTuple [concrete] diff --git a/toolchain/check/testdata/var/decl.carbon b/toolchain/check/testdata/var/decl.carbon index eb89d9dd8698..e3cf44995fbe 100644 --- a/toolchain/check/testdata/var/decl.carbon +++ b/toolchain/check/testdata/var/decl.carbon @@ -26,7 +26,7 @@ fn Main() { // CHECK:STDOUT: %Main: %Main.type = struct_value () [concrete] // CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @impl(%empty_tuple.type) [concrete] +// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @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.2(%empty_tuple.type) [concrete] diff --git a/toolchain/check/testdata/var/decl_with_init.carbon b/toolchain/check/testdata/var/decl_with_init.carbon index bf27ce7cd68e..31be50d29252 100644 --- a/toolchain/check/testdata/var/decl_with_init.carbon +++ b/toolchain/check/testdata/var/decl_with_init.carbon @@ -27,7 +27,7 @@ fn Main() { // CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @impl(%empty_tuple.type) [concrete] +// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @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.2(%empty_tuple.type) [concrete] diff --git a/toolchain/check/testdata/var/fail_duplicate_decl.carbon b/toolchain/check/testdata/var/fail_duplicate_decl.carbon index 53d98c8613b5..56ca464fed35 100644 --- a/toolchain/check/testdata/var/fail_duplicate_decl.carbon +++ b/toolchain/check/testdata/var/fail_duplicate_decl.carbon @@ -35,7 +35,7 @@ fn Main() { // CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @impl(%empty_tuple.type) [concrete] +// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @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.2(%empty_tuple.type) [concrete] diff --git a/toolchain/check/testdata/var/fail_init_with_self.carbon b/toolchain/check/testdata/var/fail_init_with_self.carbon index 1b836f54629f..f8fb23a113da 100644 --- a/toolchain/check/testdata/var/fail_init_with_self.carbon +++ b/toolchain/check/testdata/var/fail_init_with_self.carbon @@ -30,7 +30,7 @@ fn Main() { // CHECK:STDOUT: %Main: %Main.type = struct_value () [concrete] // CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @impl(%empty_tuple.type) [concrete] +// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @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.2(%empty_tuple.type) [concrete] diff --git a/toolchain/check/testdata/var/fail_lookup_outside_scope.carbon b/toolchain/check/testdata/var/fail_lookup_outside_scope.carbon index e0cb98b02d8f..7c6ddf5f5fd1 100644 --- a/toolchain/check/testdata/var/fail_lookup_outside_scope.carbon +++ b/toolchain/check/testdata/var/fail_lookup_outside_scope.carbon @@ -32,7 +32,7 @@ var y: () = x; // CHECK:STDOUT: %Main: %Main.type = struct_value () [concrete] // CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @impl(%empty_tuple.type) [concrete] +// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @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.2(%empty_tuple.type) [concrete] diff --git a/toolchain/check/testdata/var/fail_not_copyable.carbon b/toolchain/check/testdata/var/fail_not_copyable.carbon index 9d3df07c0089..3f33befe4816 100644 --- a/toolchain/check/testdata/var/fail_not_copyable.carbon +++ b/toolchain/check/testdata/var/fail_not_copyable.carbon @@ -45,11 +45,11 @@ fn F(x: X) { // CHECK:STDOUT: %pattern_type.b05: type = pattern_type String [concrete] // CHECK:STDOUT: %str: String = string_literal "hello" [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.9e1: type = fn_type @Op.2, @impl(%X) [concrete] +// CHECK:STDOUT: %Op.type.9e1: type = fn_type @Op.2, @Destroy.impl(%X) [concrete] // CHECK:STDOUT: %Op.33a: %Op.type.9e1 = struct_value () [concrete] // CHECK:STDOUT: %ptr.d17: type = ptr_type %X [concrete] // CHECK:STDOUT: %Op.specific_fn.d1f: = specific_function %Op.33a, @Op.2(%X) [concrete] -// CHECK:STDOUT: %Op.type.051: type = fn_type @Op.2, @impl(String) [concrete] +// CHECK:STDOUT: %Op.type.051: type = fn_type @Op.2, @Destroy.impl(String) [concrete] // CHECK:STDOUT: %Op.5ef: %Op.type.051 = struct_value () [concrete] // CHECK:STDOUT: %Op.specific_fn.93f: = specific_function %Op.5ef, @Op.2(String) [concrete] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/var/global_lookup_in_scope.carbon b/toolchain/check/testdata/var/global_lookup_in_scope.carbon index 2e678a34d86e..7ef221404745 100644 --- a/toolchain/check/testdata/var/global_lookup_in_scope.carbon +++ b/toolchain/check/testdata/var/global_lookup_in_scope.carbon @@ -32,7 +32,7 @@ fn Main() { // CHECK:STDOUT: %Main.type: type = fn_type @Main [concrete] // CHECK:STDOUT: %Main: %Main.type = struct_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.7e5: type = fn_type @Op.2, @impl(%struct_type.v) [concrete] +// CHECK:STDOUT: %Op.type.7e5: type = fn_type @Op.2, @Destroy.impl(%struct_type.v) [concrete] // CHECK:STDOUT: %Op.477: %Op.type.7e5 = struct_value () [concrete] // CHECK:STDOUT: %ptr.ef9: type = ptr_type %struct_type.v [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.477, @Op.2(%struct_type.v) [concrete] diff --git a/toolchain/check/testdata/var/lookup.carbon b/toolchain/check/testdata/var/lookup.carbon index 869d3648215d..9180ee87cfcd 100644 --- a/toolchain/check/testdata/var/lookup.carbon +++ b/toolchain/check/testdata/var/lookup.carbon @@ -26,7 +26,7 @@ fn Main() { // CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @impl(%empty_tuple.type) [concrete] +// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @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.2(%empty_tuple.type) [concrete] diff --git a/toolchain/check/testdata/var/shadowing.carbon b/toolchain/check/testdata/var/shadowing.carbon index 64001a96be4a..5b8bdc2d3113 100644 --- a/toolchain/check/testdata/var/shadowing.carbon +++ b/toolchain/check/testdata/var/shadowing.carbon @@ -39,7 +39,7 @@ fn Main() { // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %true: bool = bool_literal true [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @impl(%empty_tuple.type) [concrete] +// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @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.2(%empty_tuple.type) [concrete] diff --git a/toolchain/check/testdata/var/var_pattern.carbon b/toolchain/check/testdata/var/var_pattern.carbon index ba5efc40e0b3..694292506cbf 100644 --- a/toolchain/check/testdata/var/var_pattern.carbon +++ b/toolchain/check/testdata/var/var_pattern.carbon @@ -154,7 +154,7 @@ fn G() { // CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @impl(%empty_tuple.type) [concrete] +// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @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.2(%empty_tuple.type) [concrete] @@ -213,7 +213,7 @@ fn G() { // CHECK:STDOUT: %pattern_type.5b8: type = pattern_type %tuple.type [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @impl(%empty_tuple.type) [concrete] +// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @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.2(%empty_tuple.type) [concrete] @@ -285,7 +285,7 @@ fn G() { // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %tuple: %tuple.type = tuple_value (%empty_tuple, %empty_tuple) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.4e8: type = fn_type @Op.2, @impl(%tuple.type) [concrete] +// CHECK:STDOUT: %Op.type.4e8: type = fn_type @Op.2, @Destroy.impl(%tuple.type) [concrete] // CHECK:STDOUT: %Op.166: %Op.type.4e8 = struct_value () [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.166, @Op.2(%tuple.type) [concrete] // CHECK:STDOUT: } @@ -362,7 +362,7 @@ fn G() { // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %tuple: %tuple.type = tuple_value (%empty_tuple, %empty_tuple) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.4e8: type = fn_type @Op.2, @impl(%tuple.type) [concrete] +// CHECK:STDOUT: %Op.type.4e8: type = fn_type @Op.2, @Destroy.impl(%tuple.type) [concrete] // CHECK:STDOUT: %Op.166: %Op.type.4e8 = struct_value () [concrete] // CHECK:STDOUT: %Op.specific_fn: = specific_function %Op.166, @Op.2(%tuple.type) [concrete] // CHECK:STDOUT: } @@ -437,7 +437,7 @@ fn G() { // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @impl(%empty_tuple.type) [concrete] +// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @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.2(%empty_tuple.type) [concrete] @@ -635,10 +635,10 @@ fn G() { // CHECK:STDOUT: %Op.type.bae: type = fn_type @Op.1 [concrete] // CHECK:STDOUT: %Op.651: %Op.type.bae = struct_value () [concrete] // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic] -// CHECK:STDOUT: %Op.type.bc9: type = fn_type @Op.2, @impl(%T) [symbolic] +// CHECK:STDOUT: %Op.type.bc9: type = fn_type @Op.2, @Destroy.impl(%T) [symbolic] // CHECK:STDOUT: %Op.46f: %Op.type.bc9 = struct_value () [symbolic] -// CHECK:STDOUT: %Destroy.impl_witness.1dc: = impl_witness imports.%Destroy.impl_witness_table, @impl(%empty_tuple.type) [concrete] -// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @impl(%empty_tuple.type) [concrete] +// CHECK:STDOUT: %Destroy.impl_witness.1dc: = impl_witness imports.%Destroy.impl_witness_table, @Destroy.impl(%empty_tuple.type) [concrete] +// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @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: %Destroy.facet: %Destroy.type = facet_value %empty_tuple.type, (%Destroy.impl_witness.1dc) [concrete] @@ -660,8 +660,8 @@ fn G() { // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: %Core.import_ref.f99: %Destroy.assoc_type = import_ref Core//prelude/parts/destroy, loc5_28, loaded [concrete = constants.%assoc0] // CHECK:STDOUT: %Core.import_ref.725: %Op.type.bae = import_ref Core//prelude/parts/destroy, loc5_28, loaded [concrete = constants.%Op.651] -// CHECK:STDOUT: %Core.import_ref.0b9: @impl.%Op.type (%Op.type.bc9) = import_ref Core//prelude/parts/destroy, loc8_29, loaded [symbolic = @impl.%Op (constants.%Op.46f)] -// CHECK:STDOUT: %Destroy.impl_witness_table = impl_witness_table (%Core.import_ref.0b9), @impl [concrete] +// CHECK:STDOUT: %Core.import_ref.0b9: @Destroy.impl.%Op.type (%Op.type.bc9) = import_ref Core//prelude/parts/destroy, loc8_29, loaded [symbolic = @Destroy.impl.%Op (constants.%Op.46f)] +// CHECK:STDOUT: %Destroy.impl_witness_table = impl_witness_table (%Core.import_ref.0b9), @Destroy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -715,10 +715,10 @@ fn G() { // CHECK:STDOUT: %ptr.709: type = ptr_type %tuple.type.bcd [concrete] // CHECK:STDOUT: %tuple: %tuple.type.bcd = tuple_value (%empty_tuple, %empty_tuple) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.4e8: type = fn_type @Op.2, @impl(%tuple.type.bcd) [concrete] +// CHECK:STDOUT: %Op.type.4e8: type = fn_type @Op.2, @Destroy.impl(%tuple.type.bcd) [concrete] // CHECK:STDOUT: %Op.166: %Op.type.4e8 = struct_value () [concrete] // CHECK:STDOUT: %Op.specific_fn.48a: = specific_function %Op.166, @Op.2(%tuple.type.bcd) [concrete] -// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @impl(%empty_tuple.type) [concrete] +// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @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.393: = specific_function %Op.ea3, @Op.2(%empty_tuple.type) [concrete] @@ -879,7 +879,7 @@ fn G() { // CHECK:STDOUT: %pattern_type.8c1: type = pattern_type %tuple.type [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @impl(%empty_tuple.type) [concrete] +// CHECK:STDOUT: %Op.type.a63: type = fn_type @Op.2, @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.2(%empty_tuple.type) [concrete] diff --git a/toolchain/sem_ir/inst_namer.cpp b/toolchain/sem_ir/inst_namer.cpp index a55a691c2911..e5eb6d494f16 100644 --- a/toolchain/sem_ir/inst_namer.cpp +++ b/toolchain/sem_ir/inst_namer.cpp @@ -171,9 +171,21 @@ InstNamer::InstNamer(const File* sem_ir) : sem_ir_(sem_ir) { for (auto [impl_id, impl_info] : sem_ir->impls().enumerate()) { auto impl_scope = GetScopeFor(impl_id); auto impl_fingerprint = fingerprinter_.GetOrCompute(sem_ir_, impl_id); + // TODO: Invent a name based on the self and constraint types. + std::string impl_name; + if (auto interface_id = sem_ir->impls().Get(impl_id).interface.interface_id; + interface_id.has_value()) { + auto interface_info = sem_ir->interfaces().Get(interface_id); + impl_name = llvm::formatv( + "{0}.impl", + sem_ir->names().GetIRBaseName(interface_info.name_id).str()); + } else { + impl_name = "impl"; + } GetScopeInfo(impl_scope).name = - globals_.AllocateName(*this, impl_fingerprint, "impl"); + globals_.AllocateName(*this, impl_fingerprint, impl_name); + CollectNamesInBlock(impl_scope, impl_info.pattern_block_id); AddBlockLabel(impl_scope, impl_info.body_block_id, "impl", impl_fingerprint);